企业实施微服务化改造的通用策略-网易数帆微服务化改造
企业实施微服务化改造是为了提高效率降低成本,一切不能降本增效的微服务化改造都是不合格的。开源开放是当前业界的主流选择,但基于开源、门槛低、无侵入、功能完善的平台,才能让企业真正实现低成本的微服务化改造。快速解决业务痛点,通过技术红利促进企业的发展,这也是网易云轻舟微服务平台的设计理念。 首先是战略层面 如同10年前将信息化作为一把手工程,明确应用架构非微服务不可的前提下,企业必须让管理层挂帅推动微服务化 ,因为微服务作为实现DevOps、云原生的方法。不仅仅是一个技术问题,牵扯到IT架构、应用架构和组织架构,单靠开发团队或者运维团队是无法完成的,需要打通组织、流程,战略目标及相关预算的制定最好邀请了解行业、精通技术的专家参与,同时要明确微服务化是一个渐进的过程,不可能一蹴而就。事实上,网易业务也是处在不断拆分和组合中。 其次是 战术层面 要牢抓 “一个核心、两个关键、三类工具”。一个核心是指实现DevOps为业务提速,DevOps是微服务化的核心目标和重要保证,如果不考虑DevOps,就无法解决哥们遇到的那些问题,微服务化对业务还是没有实际意义。如果没有持续集成/持续交付(CI/CD)、自动化测试,如果开发团队不承担环境配置之类的运维工作,微服务化就会因为引入复杂性而失败。围绕这个核心,需要明确微服务架构设计工作的全貌,有了全局的观念才能正确规划微服务化的步骤。 两个关键之一:业务拆分 高内聚低耦合的拆分原则,本质是单一职责和职责分离。首先必须定义好服务边界。全新设计的系统的重点是业务边界确定和服务间的通信方式,对于边界不直观的业务,宜合不宜拆,宜缓不宜急。而现有系统的服务化改造要重点关注系统架构的平滑过渡,也就是实现“开着飞机换引擎”平滑过渡需要逐步改造。 两个关键之二:服务治理 大量小服务有序、稳定地合作,背后必须有过硬的服务治理能力。 要认清微服务化的3个阶段: 以服务注册/发现为标志的1.0阶段 以熔断/限流/降级为标志的2.0阶段 以Service Mesh(服务网格)为标志的3.0阶段 目前有意实施微服务的传统企业,基本都是在向1.0阶段过渡。传统行业领头羊则在向2.0阶段过渡,企业一般需要循序渐进,当然1.0之前也建议尽量先无状态化、容器化,这样可以减少运维和持续集成的很多工作。所以网易云轻舟微服务平台的设计治理框架同时支Dubbo、Spring Cloud和Service Mesh。基础设施同时支持容器、虚拟机和裸机平台。大神们认为这是“好用”的基础之一。 三类工具包括治理&监控、容器云和DevOps,一个好用的微服务工具平台,应当满足微服务的核心和关键需求。随着微服务的拆分,只有服务治理还不够,需要全链路监控协助发现瓶颈、定位故障,其未来是 AIOps(智能化运维)。 当然,确定微服务技术平台打造三类工具之后,在微服务化过程中还有很多的细节问题,比如服务调用失败的处理。企业需要不断学习业界先进的方法。
分享至:
