从技术角度而言,企业实施微服务大致有以下几个方面收益:
·应用更快部署:微服务比传统的单体应用小得多。较小的服务可以缩短修复错误所需的时间。微服务是独立发布的,这意味着可以快速添加、测试和发布新功能。
·应用快速开发:微服务由小团队开发和维护,每个小团队最大规模为10人,合理的团队规模是5~7名成员,也就是“双比萨团队”(亚马逊在2012年提出这个概念,意思是5~7人吃两个比萨刚好吃饱)。
·降低应用代码复杂度:由于微服务比巨大的单体应用小得多,因此,这意味着每个微服务的代码量是可控的,这让代码修改变得很容易。
·应用易于扩展:微服务通常是独立部署的。各个服务可以根据服务接收的负载量灵活地扩容和缩容。系统可以将更多的计算、存储、网络资源分配给接收高流量的服务,实现资源上的按需分配。
虽然微服务优势明显,但为了保证微服务在企业内顺利实施,通常会遵循一些原则和最佳实践:
·IT团队重组为DevOps团队:由微服务团队负责从开发到运营的整个生命周期管理。DevOps团队可以按照自己的节奏管理组员和产品,控制自己的节奏。
·将服务打包为容器:通过将应用打包成容器,可以形成标准交付物,大幅提升效率。
·使用弹性基础架构:将微服务部署到PaaS上而非传统的虚拟机,例如OpenShift集群。
·持续集成和交付流水线:通过流水线打通从开发到运维的整个流程,这有助于微服务的落地。
在了解了微服务对于企业数字化转型的意义后,接下来看一看PaaS、DevOps和微服务之间的关系。