写点什么

微服务技术解读:华为云 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:511252

评论

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

小白也有大厂梦,如何从零开始掌握高薪Java工程师必备技能?

无予且行

Java 架构 面试 后端 大厂

从Servlet到Spring Boot

废材姑娘

Java Spring Boot

架构训练营第五周 - 总结

无心水

极客大学架构师训练营

JVM中的双亲委派机制你还没懂吗?

阿文

Java JVMTI JVM 深入理解JVM JVM原理

Hexo blog 创建指导手册

想飞的鱼

GitHub Hexo GitHub Pages Blog

GeekPwn 2020少年黑客马拉松大赛即将开启 谁将CARRY全场?

Geek_116789

【Python】 any() 和 or 区别你真的知道吗?

Leetao

Python 数据结构 Python基础知识

碎片化学习行不行

封不羁

架构师训练营 第5课学习总结

Glowry

极客大学架构师训练营

区块链系列教程之:比特币的问题

程序那些事

比特币 区块链 智能合约 以太坊

面试官:为什么需要happens-before规则和什么是指令重排序

无予且行

Java 编程 程序员 面试 happens-before

如果张东升是个程序员

程序员生活志

程序员 张东升

[1.3万字] 玩转前端二进制

阿宝哥

Java 大前端 base64 Blob

针对GPU单指令多数据流的编译优化算法

GPU

gpu 编译器 程序语言 if-conversion

三十张图助你看清红黑树的前世今生

淡蓝色

Java 程序员 数据结构 算法

Git 的远端操作及解析(含思维导图)

多选参数

git GitHub gitlab

现在面试这么难,背下题就能过的时代一去不复返了

小谈

Java 面试 JVM springboot SpringCloud

一致性哈希 -- java 实现

lei Shi

Java线程池最细的解释,看完后彻底征服面试官

小新

Java 架构 面试 线程 线程池

Java程序员的必修课之Spring理解透彻了吗?不会还咋去面试?

犬来八荒

Java spring 面试 后端 框架

视读——沟通的艺术,看入人里,看出人外(开篇)

废材姑娘

读书笔记 视觉笔记

架构训练营第五周 - 作业

无心水

极客大学架构师训练营

公司一直用Mybatis的原因原来在这!不得不竖起我的大拇指

小闫

Java mybatis mybatis-config.xml mybatis缓存

Raft探索历程--Part2

老胡爱分享

分布式系统 raft

有了多线程,为什么还要有协程?

八两

线程 进程 协程 GMP 进程线程区别

重学 Java 设计模式:实战策略模式「模拟多种营销类型优惠券,折扣金额计算策略场景」

小傅哥

Java 设计模式 小傅哥 重构 代码优化

道路千万条,安全只三条

石君

安全评估 安全设计

架构师训练营学习总结

John

极客大学架构师训练营

刚去面试现场聊了一个多小时的Redis ,悄悄分享给大家!

Java小咖秀

nosql redis 面试

依赖倒置原则

John

极客大学架构师训练营

它们为什么这么快:从多进程到多线程再到I/O复用

Ya

多线程 进程 并发

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