在过去几周,我们介绍了微服务的概念,以及它在商业计划中的角色,还有企业迁移到微服务模型的方式——迁移到微服务的工作对企业提出了很大的挑战。在本周的文章中,我们将会对迁移到微服务时可能遇到的障碍,以及付出的努力最终所带来的好处进行深入探究。
微服务架构
微服务架构比原有系统要复杂得多,由于团队必须要管理与支持许多移动的部件,整体环境愈加复杂。其中一些必须要考虑的问题包括:
其他要考虑的事情包括:
关注DevOps
在旧式开发环境中,IT部门中负责不同功能的部门合作很少,随着运营、开发与质量保证(QA)团队合作形式的发展,以及贯通整个软件开发流程的沟通加强,最终出现了DevOps。DevOps并不是由某个人或单个小组所担任的角色,它实际上是将有助于运营与开发密切合作的架构进行了概念抽象。在微服务架构中,开发者负责创建系统,以成功交付最终的产品。
随着大型及小型公司逐渐向微服务平台迁移,开发者也必须随之发展。由于部署微服务非常简单,开发者会逐渐参与到代码部署与产品监控的工作中。这种方式与传统案例产生了对比:在过去开发者负责编写代码,将其交付给另一支团队(DevOps)来执行部署与维护;而现在开发者与DevOps逐渐融合成更小的应用团队,主要负责三项工作:应用的构建、部署与监控。
微服务正在改变团队的组成方式,让公司得以围绕着特定的服务来创建团队,并赋予它们自治权以及一定范围内的责任。这种方式可以让公司根据瞬息万变的业务需求而快速作出调整,且不会影响到核心业务,同时也方便新人快速融入团队。
开发者可能要应对的其他挑战包括:
开始转变
一旦转变过程开启,你就会发现之前预想不到的新挑战出现,包括:
想要了解更多信息,请点击这里阅读英文电子书全文《如何使用微服务构建与拓展》。