微服务盘它就完事了?当然不!做好这些准备再说
-
2019-06-17
Nebulogy 纳比云
除非您生活在石器时代,
否则您不可能不知道,
微服务架构的重要性。
如果架构世界中也存在热搜的话,那么微服务必须是热门第一。微服务是一种服务导向型的软件结构,它之所以如此受技术咖的欢迎,在于它改进了模块化、减少了测试负担、更好的功能组成以及隔离和开发团队的高自主权。
随着移动互联网的发展和应用云化的普及,微服务已经成为企业应用服务化架构最流行的设计理念。以微服务、容器、DevOps等为支撑的云原生设计理念,缓解了随着新需求的不断增加,大型单体式应用变更越来越困难的现状,与移动互联网时代下对企业IT架构高效稳定、敏捷响应的要求之间的矛盾。
一、微服务推行的方式
企业在推行微服务架构时,主要有以下两种方案:
第一个是演进式方案。这个方案是在现有的应用架构上进行演进化的改造。在演进过程中,根据应用的实际需求,逐步引入微服务的组件,最终实现微服务平台的搭建。优势很明显,搭建的服务平台是按需定制的,微服务的文化也随着演进深入企业文化。适用于规模迅速膨胀的初创企业,而且对企业的自动化测试和持续交付能力有一定的要求。
第二个是服务平台建设方案。建设支持微服务应用架构的服务平台,通过平台的试点项目的示范作用,在组织内部推动微服务化改造。微服务平台通常包括服务治理框架,开发框架,容器,部署发布和日志监控工具等。平台可以有效降低微服务开发的门槛,提高开发效率和开发服务的质量。
对于大型企业,由于系统多分工较细,不同部门对新技术的理解和接受能力不同,采用第一种方式进行建设的时候,容易出现技术分化,就是组织内形成多种完全不同微服务平台技术栈,这些平台采用不同的协议和接口,需要在对接上花费大量的资源,不利于内部服务的打通。
二、微服务的实施门槛
企业实施微服务架构是有“门槛”的,并不是简单的技术组件堆砌,要构建微服务架构平台,首先得拥有超过这条基准线的“身高”。
1、平台就绪:在容器平台和微服务框架之上,提供一个开发管理平台。开发管理包括以下的能力:契约管理、打包管理、部署管理、代码工程管理(内部的http://Start.spring.io),应用架构管理和CI工具自动对接等。让微服务研发过程可视化、工具化、自动化,让管理者能够实时管控和规范微服务研发过程。
2、微服务实施能力就绪:包括认知能力、技术能力,交付能力。项目在上微服务架构前,需要进行相应的培训,避免由于不合理的设计,导致生产问题。培训的内容可以是业界的优秀实践,比如12 Factors的云原生开发建议,也可以是开发过程中的案例。
3、建立和微服务相对应的小团队机制:控制团队的规模,根据团队的分工来划分微服务。微服务接口定义标准化,服务拆分按照业务逻辑拆分,服务之间架构合理,实现服务的弹性、自治、容错等能力。同时可以参考DDD(领域驱动设计)的一些方法来帮助设计。
4、避免过度设计,因为微服务而微服务:微服务是工具而不是目标。微服务是服务设计架构方法,微服务开发、运维、监控平台等是工具。微服务设计的目标是更好的支持企业业务应用的敏捷创新和变更需求。传统应用可以处理的技术问题,就不建议使用微服务。
三、微服务部署的关键
微服务架构无疑是好的,但在企业实施部署过程中,如何将这些微服务科学地部署在IT基础架构上,并保证各个微服务的高效运行,需要抓住关键点:
1、动态平衡:微服务的识别
我们的经验是,不必纠结于微服务怎样拆分最合理,因为企业的业务和管理要求在不断变化和提升,在微服务的设计和实施过程中,不断寻找业务拆分与软件架构设计的平衡点才是微服务拆分的必由之路。
2、构建平台:微服务的管理
通过构建服务管理平台的方式,支撑微服务全生命周期的可视化管理。
3、新旧兼容:微服务与现有系统整合
简单来说,就是传统系统负责系统间的信息交互,而微服务架构则负责每一个微服务内部的信息交互。
4、后台集中:工作流引擎和流程管理的考量
微服务架构的引入,可以帮助大型企业在IT系统建设上从容应对业务流程的复杂多变,以及业务的灵活可扩展,但选择一个灵活可扩展的业务流程管理工具同样至关重要。
5、灵活扩展:虚拟机和容器的部署
与传统的物理服务器相比,采用虚拟机不需要冗长的固定资产采购流程,具有更高的效率和更低的成本。开发人员可以快速部署,运维人员可以弹性伸缩。容器技术则更加先进,它可以让微服务的打包和部署更加简单、高效。
6、善用外脑:开发及运维团队
在系统交付中要满足快速迭代实施及优化的需求,通过建立一支专业化的队伍来支撑软件交付周期的闭环(计划、分析、设计、开发、测试、部署、运维、运营)。
四、Nebulogy助力企业数字化云转型
技术是一个不断发展的过程,对于微服务和容器这些技术,微服务不是结果,而是一种工具。通过建设微服务平台,引入现有的成熟的微服务解决方案,平台和框架提供了微服务应用开发、运维的基础环境支持,是企业在内部快速的推广和实现微服务的一条“捷径”。
Nebulogy旗下的三款云产品解决方案:容器云平台(NKS+PKS)、微服务开发及治理平台(NDP)、BPM PaaS(NBS)。在云原生PaaS平台构建、容器治理平台、应用迁移咨询及服务、微服务应用构建、应用微服务化改造等方面,基于丰富的技术落地经验及对客户应用场景的深入了解,为客户提供产品及服务。
在通往数字化未来的路上,Nebulogy将助力企业成为敏捷和数字化组织,令企业的应用云化转型之路更加顺畅无阻,一往无前。
-END-
推荐阅读:
K2 BPM PaaS签约福耀玻璃:面向微服务应用下的BPM应用平台
Nebulogy 品牌介绍
Nebulogy致力于通过云原生理念,帮助企业构建PaaS平台,提高开发资源利用率,满足应用快速上线和迭代需求,助力企业实现真正应用云化、业务互联网化。
-
本文作者:Nebulogy 纳比云
责任编辑:牛透社
本文来源:牛透社
-
分享到: