【51CTO.com快译】新兴技术的下一波浪潮正向我们涌来,人工智能、可穿戴设备、物联网及更多技术变得普及开来。许多组织现面临着管理这些整体式应用程序这个难题。当下,速度和灵活性必不可少。Netflix、Twitter、eBay和亚马逊等大型互联网公司采用的下一个架构创新是微服务。据互联网服务器供应商NGINX声称,68%的组织在使用或调查这种方法。
微服务架构正在IT行业备受追捧,因为它相比许多传统架构方法有诸多优势。比如在医疗保健领域,这种架构对新的解决方案来说大有希望,比如远程患者监控、使用物联网设备数据的预测建模、医疗工作流程自动化和面向精准医疗的生物信息学分析等。随着组织采用现代微服务架构,这六个因素可以帮助它们取得成功,同时补充现有的云和DevOps基础设施。
微服务是一种软件开发和架构方法,它将应用程序构建为一组松散耦合、自治且可独立部署的服务。这些小型的业务驱动服务有明确定义的通信接口,这使得应用程序模块化、更易于构建和测试,并可以高效地独立部署。
微服务方法与云和DevOps相辅相成。多年来,云计算已趋于成熟,可以提供高效的基础设施解决方案,用于快速构建原型、支持庞大的数据处理和生产需求,并带来比内部IT部门更高的服务水平。与此同时,DevOps有助于更快地交付优质软件,同时弥补开发团队和运营团队之间的差距。
结合微服务架构与成熟的DevOps实践有助于分散的团队更快地创新、控制自己的技术堆栈和标准、管理性能指标、管理开发和发布周期,最终缩短产品上市时间。与此同时,微服务可以通过将整体式应用程序分解成微服务并部署到云平台上,从而便于逐步迁移到云。通过这种方法,团队更容易模拟生产工作负载,确保软件的可用性、可扩展性和质量,同时提高发布频次。
下列六个考量因素有助于使组织确保成功,同时补充现有的云和DevOps基础设施:
▲Saga模式:由某个事件或消息触发的一连串事务。
▲API网关:借助API网关,通过单个API调用来抽象处理针对多个API的调用。
▲命令查询职责分离(CQRS):使用物化视图将读写分开来,并通过订阅事件来更新视图。
▲事件溯源:存储事件而不是状态;通过重放事件来获得状态。
▲服务网格:将服务间的网络通信卸载到某个软件组件,以确保弹性和服务发现等。
微服务架构是当今一个重要的IT趋势,这有充分的理由。与传统的架构方法相比,它有许多优势,并且大有希望。虽然要克服诸多挑战,但如果企业组织拥有精心设计的方法、全面组织的分布式团队以及可靠的DevOps流程,可以借助现代微服务架构更快地进行创新,只需构建新产品,并更新改造现有应用程序。
原文标题:Six Considerations for Adopting a Microservices Architecture,作者:Vinil Menon和Khushboo Shah
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】
【责任编辑:庞桂玉 TEL:(010)68476606】