如果要问云计算领域的最新趋势是什么?微服务一定算一个!

那么,什么是微服务?从概念上理解,微服务架构(Microservice Architecture)是一种架构,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。所谓天下之事,分久必合合久必分,微服务架构和过去集中化架构刚好相反,主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。说白了,微服务就是把过去的大型应用系统进行拆分,变成若干个单元。

微服务架构有三个特性,即:单一职责、轻量级通信、独立性、进程隔离。有人可能会说,这和SOA很像呀?其实,微服务和SOA有着本质上的区别。

首先,微服务喜欢重写,SOA则喜欢重用。微服务通常由重写一个模块开始。向微服务迁移的时候,通过最新的技术、语言和框架,把每一个模块单独部署,不依赖于其他服务。而SOA的主要目的是为了企业各个系统更加容易地融合在一起。

其次,微服务是垂直服务,而SOA是水平服务。微服务通常直接面对用户,为用户提供某个功能。类似的功能可能针对手机有一个服务,针对机顶盒是另外一个服务。每个微服务通常有它自己独立的datastore。而SOA设计则喜欢给服务分层(如Service Layers模式)。比如:Entity服务层设计,要求所有的服务都通过这个Entity来获取数据。这种设计灵活性非常差,每次数据层的改动都可能影响到所有业务层的服务。

其三,微服务是自下而上,而SOA是自上而下。微服务相对敏捷,能快速确认业务需求,快速迭代开发。而SOA架构是集中管理所有服务,包括业务逻辑,数据,流程等等。模块系统间的通讯必须遵守接口协议。

微服务架构大概诞生于2012年,从2014年开始被业界高度关注。2018年,可以说是微服务的爆发年,几乎所有的IT架构都在向微服务架构迁移。

那么,微服务能给企业带来哪些价值?作为云计算的主流趋势,各大云计算厂商在微服务技术战略布局方面,有哪些新的动态?本文将一一梳理。

1、微软Azure:开放Service Fabric源代码

2018年3月14日,微软将Service Fabric开源。根据MIT许可证协议,Service Fabric可在GitHub社区上公开使用。Service Fabric最初叫Windows Fabric,是微软的Azure平台即服务2.0微服务平台。

尽管开放Service Fabric后,微软依然掌握着主控权,但对于想做分布式架构的企业来说,Service Fabric的开源,将给用户带来了技术上的更多选择。从某种程度上说,Service Fabric和Kubernetes存在着直接竞争关系,Service Fabric也可以用作业务流程、打包、部署及维护应用程序和容器。

2、阿里云:将ACM配置管理商用,将Spring Cloud Alibaba开源,加码微服务生态建设

2018年10月份,阿里云宣布应用配置管理ACM商用,可保证大型客户云上场景配置中心的安全合规,让运维人员和开发者无需担心实时配置过程中人为误操作带来的干扰。据介绍,ACM是国内首家实现千级应用万级配置下,推送秒级生效的服务。该产品具备亿级应用配置处理能力,将分布式架构下的应用配置管理智能化,极大的降低了在微服务、Devops、大数据等场景下配置管理的工作量。

2018年11月份,阿里巴巴又宣布将Spring Cloud Alibaba开源,加码微服务生态建设。Spring Cloud Alibaba项目由两部分组成:阿里巴巴开源组件和阿里云产品组件,旨在为Java开发人员在使用阿里巴巴产品的同时,通过利用Spring框架的设计模式和抽象能力,注入Spring Boot和Spring Cloud的优势。

ACM是国内首家实现千级应用万级配置下,推送秒级生效的服务。该产品商用后,将大大降低了企业在微服务场景下的工作量。ACM能让配置信息自动推送到各个服务器,并在秒级延迟内生。

而spring-cloud-alibaba实现开源后,阿里也真正想世界级云提供商迈进了一步。Spring Cloud本身是一套微服务规范,并不是一个拿来即可用的框架,而Spring Cloud Alibaba的开源为开发者们提供了这套规范的实现方式。Spring Cloud Alibaba的组件属于自主可控产品,根据阿里巴巴内部自用的中间件产品孵化而来。

3、华为云:深化微服务行业应用

华为云于2017年5月开始,陆续开源了ServiceComb、Go语言微服务框架、和Service Mesh产品Mesher,功能覆盖了侵入式SDK、非侵入式Service Mesh、多语言等全栈微服务能力。2018年9月份,华为云发布微服务标准规范终稿,从而进一步深化微服务在行业中的应用,促进行业健康发展。

华为云的微服务技术理念,更侧重提供一站式解决方案,致力于帮助企业轻松构建云原生应用,帮助传统企业业务快速微服务化。2018年,华为云开始在行业领域深耕细作,帮助用户快速开发微服务,并对这些微服务应用进行高效管理。

4、腾讯云:发布微服务中间件TSF

2018年1月22日,腾讯云正式发布微服务中间件TSF(Tencent Service Framework)。这个围绕应用和微服务的PaaS平台,将为企业解决IT系统复杂、升级迭代慢、运维扩展性差、海量用户支撑能力薄弱、数据孤岛等一系列难题,帮助传统企业快速构建面向互联网亿万用户的大规模分布式架构,降低企业IT成本,助力企业云化升级转型。

TSF被称为是久经锤炼的一站式微服务解决方案,能为传统企业互联网的转型赋能。这种微服务架构改变了传统架构的性能瓶颈,降低系统的复杂性,让企业在自建云平台过程中,拥有大规模的分布式架构。

5、华为云:Go Chassis正式问世

2018年1月份,华为云CSE(Cloud Service Engine)产品级Go语言微服务框架Go Chassis正式问世。借助CSE Go Chassis进行微服务开发,可最大化地降低开发门槛,提升产品上线速度,同时可以获得微服务运行时高可靠性保证、态治理等一系列开箱即用的能力。

华为云发布消息称,华为云CSE微服务引擎是业界首个商用的企业级微服务应用管理平台,包含微服务Java SDK、Go SDK、Mesher,为用户提供统一的服务注册、配置和治理控制台,可轻松实现微服务应用的快速开发和高效运维。

在微服务技术添砖加瓦的企业还有很多,在这里就不一一列举。虽然微服务架构也存在各种问题,比如缺乏公认的标准和规划,但微服务架构能成为当前最热的理念,不是凭空产生,是云计算发展的必然结果。企业要根据公司实力,结合自身特点,选择适合的微服务架构平台。

信息化和软件服务网 - 助力数字中国建设 | 责编:莎莉