PostNL从外包IT项目交付过渡到内部产品交付的实践经验
PostNL是比荷卢地区最大的物流公司,自1799年成立以来一直运营。2012年,该公司承诺采用100%云战略,并决定将所有软件交付内部化,以构建具有竞争力的物流软件,而不是依赖现成的产品。
过渡到内部交付的关键决策
PostNL的领导层为标准化和采用最佳实践提供了明确的指导方针和护栏,同时让工程团队能够影响标准和指导方针,并在不影响整体软件交付和云战略的领域拥有选择自由。
技术选择模型:固定、灵活、自由
PostNL的首席工程师Luc van Donkersgoed描述了公司采用的企业框架内的技术和工具选择模型:
- 固定:标准化于整个组织的主题。
- 灵活:在一定范围内选择产品、服务和标准。
- 自由:团队可以自由决定使用的技术,但需在自己的预算、架构和经验范围内。
选择AWS和服务器优先战略
PostNL选择AWS作为其公共云提供商,并仅使用云原生技术,特别是无服务器服务。公司成立了AWS平台团队(Cloud Center of Excellence,CCoE),以帮助工程团队利用AWS云,并防止使用不理想的服务,如EC2。
采用无服务器架构的原因
PostNL选择无服务器架构的原因包括应用工作负载的变异性(如每日、每周模式和高使用率的假日期间),弹性定价、轻松扩展和利用云平台解决最难的问题。
使用的主要无服务器服务
- DynamoDB:作为主要数据库解决方案,配置了自动扩展以响应负载变化。
- AWS Lambda:支持多种语言栈,包括Typescript、C#、Rust和Python。
- 其他无服务器服务:如Step Functions、API Gateway和SQS。在特定情况下,团队可以使用RDS、Neptune、Timestream或Fargate。
过渡的成果与挑战
从外部合作伙伴转向内部开发团队并采用无服务器堆栈,减少了开销,提高了生产力并降低了运营成本。但过渡过程中面临了挑战,如需要提升工程团队技能并为初级开发人员提供支持。
对希望采用无服务器的组织的建议
- 考虑无服务器是否满足业务目标,并从指导原则开始。
- 强调自动化在基础设施配置、CI/CD、可观察性和安全方面的重要性。
- 拥抱云平台,而不仅仅局限于“提升和转移”的方法。
- 彻底分析云架构的总拥有成本。
- 持续学习,特别是考虑到云提供商的快速功能更新。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。