写点什么

微服务技术解读:华为云 ServiceStage 打造一站式解决方案

  • 2020-03-24
  • 本文字数:2577 字

    阅读完需:约 8 分钟

微服务技术解读:华为云ServiceStage打造一站式解决方案

2019QCon 全球软件开发大会于 10 月 17 日-19 日在上海举行,华为云应用管理与运维平台 ServiceStage 的负责人在华为云技术专场《技术裂变中的可信软件开发》中,分享微服务应用平台的探索与实践,如何基于华为微服务应用平台来快速构建微服务,剖析了微服务转型道路上遇到的问题和解决思路。

三大难题阻碍传统政企上云 微服务架构应运而生

技术的发展由业务需求来驱动的,业务的高速发展需要技术来支撑。在云上信息时代,人人都是流量终端,各服务系统需要承担的压力越来越大,流量不可预知,企业、ISV 对系统的要求越来越苛刻,对软件系统的设计要求也越来越高,业务的快速变革与创新对系统的性能、可靠性、安全性都提出了更高的要求,微服务应运而生,微服务架构成为这个背景下的业务设计解决方案之一。


了解企业应用技术演进过程的人都知道,政企上云面临着三个大方面的难题:


首先,早期的应用开发都由各个不同供应商逐一开发,逐渐形成一个个应用烟囱和数据孤岛,业务的发展到如今的阶段,对企业 CTO 来说,传统的研发受限于流程拉通,研发效率低下,以年或月为周期更新版本,迭代速度无法满足需求;对于企业 COO 来说,各自独立的系统导致无法从全局角度了解业务整体运转的状况,分散在各个子系统的数据无法变现;


其次,如今更多的应用呈现出互联网化的交互模式,早期的单体或 SOA 架构在流量突发高峰时段并不能及时调整,不能适应互联网流量新模式;


再次,云化转型往往伴随着分布式系统的使用,对运维工作提出挑战,通过人工进行的运维能力已经无法满足要求。

微服务架构按照功能解耦服务 实现天级、小时级特性上线

  • 微服务强调模块化结构,边界更清晰,通过 Rest 接口调用,对大型系统,大型团队非常重要;

  • 各微服务独立自治,避免牵一发而动全身;支持独立部署,简单服务更易部署,支持 devops 服务快速上线;

  • 允许技术多样性,支持多种编程语言、开发框架和数据存储技术,加速业务创新、技术创新。


然而这对于使用新技术的企业来说,具有新的挑战:


  • 分布式编程问题:拆分成若干个微服务之后,新增成本和技术门槛;

  • 业务一致性问题:微服务化后,一个业务流程常常多个微服务,多个数据库,由引入分布式事务等技术,导致业务系统复杂化;

  • 运维问题:拆成多个微服务之后从理论上来说意味着故障点是增加的,如何在运行态管理和运维这些微服务是新的问题域。


三个核心五个特性,华为云打造一站式微服务解决方案

华为云应用管理与运维平台 ServiceStage 出现的最早原因,就是为了解决业务微服务化后带来的各种非业务相关问题,例如上面说到的这些挑战,华为云应用管理与运维平台 ServiceStage 在华为公司内外部业务需求中不断演变实践,形成了以应用为中心,提供微服务、Web、移动和函数等应用的一站式微服务解决方案,帮助企业加速业务创新,包含应用(开发)解决方案和 DevOps 解决方案,应用(开发)解决方案聚焦于公共功能和运用环境、基础设施等应用运行相关内容,DevOps 解决方案聚焦于应用生命周期管理相关内容。


华为云 ServiceStage 三个核心功能重点支持微服务 DevOps:


  • 一键生成持续交付环境

  • 提供多语言支持

  • 提供多源码仓库支持


围绕三个核心功能,华为云微服务框架打造五大特性:


1、统一接口:Contract Frist 能力和管控手段,支持基于 Swagger 的 API 管理


  • 架构师根据业务需求来编写接口契约(使用标准的 OpenAPI 规范),完成后提交技术委员会审批发布。

  • 开发人员根据契约生产框架代码,进行业务逻辑开发,如果修改接口和契约不匹配,那么发布到服务中心的时候会失败。

  • 对于不需要 Contract First 能力的人员,华为云也保留了 Code First 能力,可以继续使用 Code First 保留开发习惯,华为云还提供了从代码自动导出契约的能力。


微服务框架核心解决服务接口的管控问题,让业务开发可控可管,提高服务开发联调效率,减少服务出错概率。


2、支持多语言:微服务支持 Java、Go、.Net、Node.js 等程序语言


由于多个微服务可能会选择不同的语言开发,相应的流水线、构建、部署等能力都需要同步支持多种程序语言。


3、技术开放:多框架支持,支持 ServiceComb、Spring Cloud、Service Mesh


在多语言和技术开放方面,华为云 Servicestage 重点通过网格能力来对非 JAVA 和 GO 语言的服务进行统一治理。


4、可视化管理: 支持可视化服务路由、熔断容错等


  • 通用的治理能力沉淀到框架,开发人员只需聚焦业务。

  • 提供 GUI 一站式治理控制台,动态可视化治理,简单易用。

  • 运行状态实时监控,配置下发实时生效;治理类别丰富,可以根据现实情况实时选择合适的治理策略,最大限度保证系统的可靠性。


5、安全保障:充分安全能力设计、安全级别高


  • 安全认证,支持黑白名单,RSA 认证等。

  • 安全运行,支持隔离舱、动态治理、故障注入等能力,最大限度保证服务的安全运行。

  • 安全隔离,同时支持逻辑多租和物理多租两种模式,其中物理多租提供最级别的物理隔离能力。

为开源生态助力 做开放的应用平台

微服务框架根本上就是属于业务代码的一部分,和业务代码紧紧耦合在一起,各大公司最担心的就是被绑定,所以微服务框架必须要做到中立、开放、标准、无商业 Lock-in 等要求。


华为发起的 ServiceComb 微服务框架项目已经顺利的进入了 Apache 社区,经过 1 年多的发展,已经毕业成为 Apache 社区的首个顶级微服务项目。2019 年 8 月,信通院发布业界首个微服务行业标准,华为云作为核心成员参与首个微服务行业标准的制定,ServiceComb 是标准的核心参考框架。


华为云提供的成熟的分布式事务解决方案,在社区提供 ServiceComb Pack 项目,聚焦 Saga 和 TCC;商业上除了 Saga 和 TCC 外,后续还会提供非侵入式的事务解决方案。


  • 支持 SpringCloud,istio 等开源框架,保证开放性;

  • 是应用管理平台,具备全流程的通用管理能力;

  • 除提供服务外,ServiceStage 还提供部分线下的工具以及全面的扩展能力;

  • 通过提供通用的工具和组件市场,共建开发者生态和商业生态;

  • 服务咨询,针对传统企业,用已有的成功经验帮助他们更快的进行微服务改造。


华为云应用管理与运维平台 ServiceStage 当前已在多个领域广泛应用,除了华为内部的消费者、华为云、5G 等业务外,还有陕西财政、同济大学、软通动力等多家政企,并且已经在公有云上开放,为当下业务高速发展、迫切转型、需要轻装上云的企业提供全流程服务。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/4ltzFIXAdRY7WO-zep0Fyg


2020-03-24 19:511587

评论

发布
暂无评论
发现更多内容

【Python 基础学习】-变量和常量、输入输出

度假的小鱼

11月月更 Python变量常量 Python变量

性能测试知识科普(六):三大模型

老张

性能测试 数据模型 业务模型 流量模型

China SAFe Day 2022中国规模化敏捷大会圆满落幕!

爱吃鱼的小雨

敏捷 safe 规模化敏捷 SAFeDay

聊聊Mybatis的数据源之获取连接

急需上岸的小谢

11月月更

如何使用Git进行代码托管

我是一个茶壶

git 代码托管 11月月更

广告业务存储神器:华为云GaussDB(for Redis)

秃头也爱科技

“链游版羊了个羊”Matching Game即将登陆Gate

股市老人

Web3领域首个三消小游戏Matching Game,近30交易量破800万U

BlockChain先知

华为云GaussDB(for Influx):让智能电网时序数据处理更高效

路过的憨憨

华为

云数据库时代,DBA将走向何方?-v4

科技之光

【Python 基础学习】-基础语法

度假的小鱼

11月月更 Python基础语法

支持向量机-非线性SVM与核函数

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

支持向量机-探索核函数在不同数据集上的表现

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

2022-11-24:小团在地图上放了3个定位装置,想依赖他们进行定位! 地图是一个n*n的棋盘, 有3个定位装置(x1,y1),(x2,y2),(x3,y3),每个值均在[1,n]内。 小团在(a,

福大大架构师每日一题

golang 算法 福大大

JavaWeb项目部署到腾讯云教学

陈老老老板

腾讯云 javaWeb java; 11月月更

C++--- 类型萃取 ---is_void && is_null_pointer

桑榆

C++ STL 11月月更

聊聊Mybatis的类型转换注册类TypeHandlerRegistry

急需上岸的小谢

11月月更

华为云区块链三大核心技术国际标准立项通过

科技怪授

感恩每一位 RockStar!

StarRocks

数据库

成为数字游民,他们为何「All in Web3」?

One Block Community

程序员 web3 数字游民

一文了解 Go 的复合数据类型(数组、切片 Slice、Map)

陈明勇

Go golang go基础 11月月更

【Python 基础学习】-运算符

度假的小鱼

11月月更 Python运算符 Python运算符优先级

【web 开发基础】PHP 中的可变参数个数的函数 (34)

迷彩

函数 web开发基础 11月月更 可变个数参数的函数

Mysql基础超详细讲解

陈老老老板

MySQL 数据库 11月月更

基于鸿蒙系统的commonEvent和限制与约束原子化服务代码简析

恒山其若陋兮

前端 11月月更

三分建设,七分运营|用现代化安全运营应对数据安全风险

爱科技的水月

聊聊Mybatis的类型转换接口TypeHandler

急需上岸的小谢

11月月更

kitti数据集在3D目标检测中的入门(二)可视化详解

Studying_swz

人工智能 11月月更

软件架构的定义与分类

穿过生命散发芬芳

架构 11月月更

Linux 文件基本属性

芯动大师

chmod 11月月更 Linux文件属主 charp chown

微服务技术解读:华为云ServiceStage打造一站式解决方案_行业深度_华为云产品与解决方案_InfoQ精选文章