写点什么

不使用 EC2 或 Kubernetes:看 PostNL 如何构建纯 Serverless 架构

作者:Rafal Gancarz

  • 2024-11-11
    北京
  • 本文字数:1631 字

    阅读完需:约 5 分钟

不使用 EC2 或 Kubernetes:看 PostNL 如何构建纯 Serverless架构

PostNL 分享了其从外包 IT 项目交付向内部产品交付能力转变过程中的一些见解和指导建议。通过采用以无服务器服务为主的云原生技术,该公司在生产效率和市场响应能力方面得到了显著提升,与此同时,在运营方面的成本也有所降低。


PostNL 是比荷卢经济联盟(比利时、荷兰、卢森堡)最大的物流公司,自 1799 年起开始运营。2012 年,该公司承诺实施 100% 云战略。随后,为了构建具有竞争力的物流软件,该公司决定将所有软件交付工作交由公司内部团队完成,而不再依赖现成的产品。


为了帮助构建所需的内部软件交付能力,公司领导层决定在标准化和最佳实践应用方面制定明确的指导原则和保障措施。同时,公司希望让工程团队参与进来,在标准和指导原则的制定方面发挥作用。并且,在不影响整体软件交付和云战略的情况下,工程团队在诸多领域都可以自由选择。


Luc van Donkersgoed 是 PostNL 的首席工程师,也是亚马逊云科技的 Serverless Hero。他介绍了他们在公司采用的企业框架内选择技术和工具解决方案的模式:


[……] 在 PostNL,技术、产品和服务按照 “固定、灵活、自由 ”的模式进行分类。在这种模式下,“固定”类包含在整个组织内已经标准化的主题。“灵活”类包含各种可供选择的产品、服务和标准。团队可以自由采用这个范围内的任何解决方案。“自由“类包含所有其他的主题。在这一类中,团队可以根据自己的预算、架构和经验自由决定使用什么解决方案。


在战略层面,PostNL 决定选择亚马逊云科技作为其公有云提供商,并且只使用云原生技术,特别是无服务器服务。为了执行这一决策,公司创建了亚马逊云科技平台团队,并命名为卓越云中心(CCoE),协助工程团队利用亚马逊云科技的云服务,同时也防止使用 EC2 等不受欢迎的服务。


该公司决定采用无服务器技术,这主要是考虑到公司应用程序工作负载的多变性,包括日模式和周模式,以及从 11 月黑色星期五开始到次年情人节结束的高使用率假期。PostNL 之所以选择在 AWS 上采用无服务器技术栈来满足业务需求,主要是为了利用亚马逊云科技的弹性定价、轻松扩展能力和云平台来解决最棘手的问题。



DynamoDB 的自动扩展能力(来自:PostNL 工程博客)


考虑到应用程序流量的多变性,PostNL 将 DynamoDB 作为其主要的数据库解决方案,并配置了自动扩展功能,以便可以根据负载情况扩展预配置的容量,同时又留有足够的余量来应对任何意外的流量激增。AWS Lambda 的轻松扩展能力也使得该公司大为受益,其调用次数每天都有波动,并且每月都有所不同。工程团队在 Lambda 中使用了多种语言技术栈,包括 TypeScript、C#、Rust 和 Python,尽管该公司也允许使用 Java 运行时。



Lambda 函数调用(来自:PostNL 工程博客)


PostNL 的无服务器架构还利用了亚马逊云科技的许多其他无服务器服务,包括 Step Functions、API Gateway 和 SQS。在特定情况下,当首选的无服务器选项无法满足需求时,团队也可以使用其他服务,如 RDS、Neptune、Timestream 或 Fargate。


从依赖外部合作伙伴转向内部开发团队并采用无服务器技术栈,PostNL 减少了管理费用,提高了生产效率,降低了运营成本。然而,这一转变也面临一些挑战,例如需要提高工程人员的技能并为初级开发人员提供支持。此外,考虑到构建无服务器解决方案的学习曲线,该公司选择了一种灵活的方法,允许团队使用 RDS 或 Fargate 等托管服务创建解决方案,而不是一成不变地纯粹使用无服务器选项。


在博文的最后,Luc van Donkersgoed 与希望采用无服务器技术的企业分享了自己的见解。作者建议,如果无服务器能够满足业务目标,就可以考虑采用无服务器,并且要从制定指导原则入手。他强调了基础设施配置、CI/CD、可观察性和安全性方面的自动化需求。此外,企业应该拥抱云平台,而不是仅仅局限于通过 lift-and-shit 方法来采用云,并且应该彻底分析其云架构的总拥有成本。最后,van Donkersgoed 强调了不断学习的重要性,尤其是考虑到云提供商提供新特性的速度。


查看原文链接:

https://www.infoq.com/news/2024/10/postnl-serverless-enterprise/

2024-11-11 08:059106

评论

发布
暂无评论
发现更多内容

英特尔与生态伙伴打造AI时代智算新引擎

E科讯

微店API接口深度解析:如何高效获取商品详情及Python代码示例

代码忍者

微店商品详情API接口 微店商品列表API

我国首颗可重复使用返回式技术试验卫星成功发射|数字孪生技术助力运载火箭仿真验证系统革命

DevOps和数字孪生

智源大模型通用算子库FlagGems四大能力升级 持续赋能AI系统开源生态

智源研究院

火山引擎云基础、模型服务等多产品更新发布,为企业大模型应用落地再提效

极客天地

DNS DDoS攻击威胁加剧,国科云解析筑牢网络安全防线

国科云

SimLab技巧丨自动特征识别工具使用指南

Altair RapidMiner

制造 仿真 结构 altair Hypermesh

阿里妈妈商品详情API接口:开发、应用与收益的深度剖析

科普小能手

数据挖掘 数据分析 API 接口 API 测试 阿里妈妈

短期面试突击攻略大全!2025最全Java面试题目合集

Summer

Java 程序员 面试 大厂 八股文

你敢信?清华毕业大佬用了一个坦克大战项目就讲完了23种设计模式

程序员高级码农

Java 编程 程序员 java面试 Java面试题

苦熬3个月,阿里Java岗五面,成功上岸获offer!Java面试题库分享

程序员高级码农

Java 程序员 后端 java面试 Java面试题

质变科技 AI-ready Data Cloud|行列混存格式下的读链路优化

AI数据云Relyt

数据仓库 AI-ready 数据云

智源研究院与腾讯达成战略合作 推动大模型技术前沿探索和应用落地

智源研究院

智源发布FlagEval“百模”评测结果 丈量模型生态变局

智源研究院

解锁未来:深入探索去中心化应用程序(DApps)的潜力与挑战

chainwiseweb3

去中心化钱包 区块链技术开发 dapp开发 #Web3 DApps开发

1219| 清华AI助攻科研升职 | Anthropic揭示模型风险 | Genesis开源物理引擎 | 字节新视觉理解模型 | OpenAI功能革新 | 武汉大学成立AI学院 | 上海报业数字人上线

言寡意多

KaiwuDB 智能综采应用项目获中国信通院数据库星河“典型案例”

KaiwuDB

数据库

质变科技 AI-ready Data Cloud|如何构建 Auto Table Service 保证高性能查询

AI数据云Relyt

数据库 大数据 数据仓库 数据湖

从高代码到低代码,火山引擎大模型产品、能力再升级!

极客天地

深入了解 ByConity的BSP模式:云原生数据仓库的创新实践

数字扫地僧

ByConity

OpenTiny 年度贡献者活动评选征集启动

OpenTiny社区

开源 前端 OpenTiny

基于豆包·视频生成模型打造创新体验,即梦成为“想象力的相机”

极客天地

提升海外SaaS访问效率的最佳方案

Ogcloud

网络加速 SD-WAN SD-WAN组网 海外网络加速 SD-WAN国际专线

鸿蒙 NEXT 开发之后台任务开发服务框架学习笔记

威哥爱编程

HarmonyOS HarmonyOS框架 HarmonyOS NEXT HarmonyOS5.0

深入了解京东API接口:如何高效获取商品详情与SKU信息

代码忍者

京东评论API接口 京东商品API

2000道面试必问的Java面试八股文及答案整理(2024版)

Summer

Java 程序员 面试 大厂 八股文

不使用 EC2 或 Kubernetes:看 PostNL 如何构建纯 Serverless架构_架构_InfoQ精选文章