来自https://www.sohu.com/a/402763971_355140

近年来,随着云计算、大数据、物联网、人工智能等技术的驱动,企业数字化转型正在全球范围内普及。转型的浪潮正在重塑企业的业务战略,根据 IDC 2019 年数据显示,未来数年内企业或组织将会有超过 50% 的信息技术支出用于数字化转型,外加上 2020 年新冠疫情的影响,数字化转型更将成为企业或组织的必经之路。

对于企业数字化转型而言,应用就是生产力。原先如何落地实施数字化转型始终考验着企业或组织,而如今随着数字业务灵活性的加速,新架构、集成技术和模式已经从前沿转变为主流应用。对于开发者而言,由于企业或组织对于灵活、低成本、弹性伸缩的架构越发倚重,单体应用在面对新需求时已经显得力不从心。

正因如此,微服务作为一种开发的基础架构和组织方法,如今备受追捧。微服务架构具有敏捷、灵活扩展、轻松部署、技术自由、可重复使用的代码、弹性的优势。其实,微服务架构的概念本身并不是新事物,但为何始终没能真正流行?归根结底,是由于传统的本地化部署使微服务落地变得较为复杂。随着云计算的风靡,真正“解放了”微服务,更好的扩展性、伸缩性与可靠性让微服务的普及成为了必然。

而提到云计算,Amazon 当然是这个时代的开创者。众所周知 2006 年 AWS 正式上线了 EC2、S3 等核心产品,预示着云计算时代的开始。但鲜为人知的是,早在 2001 年 AWS 就已经开始了现代化应用架构的实践。当时 Amazon 采用了一套成熟的架构“单体应用程序 +Oracle 数据库”,但随着电商平台的繁荣,产品从上市到发布的时间成为了企业发展迫在眉睫的瓶颈。

AWS 的微服务实践

Amazon 提出了经典的 Two pizza teams 概念。Two pizza teams 含义为两块披萨饭量的小组,代表着这个团队足够小,同时单个团队仅负责相应的微服务,有充分的权限来进行相应产品的开发,并通过解耦来提升产品开发的敏捷性。而不同团队间利用 DevOps 技术来构建一系列小型且灵活的应用团队,进一步加快团队对于产品的开发过程和节奏。

Two pizza teams 将所有应用程序的