华为云开发者沙龙-广州站 演讲嘉宾:刘云华
演讲嘉宾:华为云 微服务产品经理 刘云华
基于华为云ServiceStage的微服务DevOps实践
为什么需要微服务
1. 业务变革与创新
传统业务数字化、云化已成为不可逆转的趋势;流量不可预知性已成为互联网应用常态。
2. 应用架构的变迁
第一代:单体架构;第二代:SOA架构;第三代:微服务架构,三种架构的特点如下图所示。三种架构并非取代关系,而是根据使用场景的不同而共存的。
3. 微服务带来的好处和挑战
好处:
1. 服务模块的边界更清晰:微服务强调模块化结构(REST接口调用),这时大型团队非常重要
2. 支持独立部署:简单服务更易部署,由于服务是自治的,出现问题之后不会引起系统崩溃。
3. 允许技术多样性:有了微服务,你可以混合使用多种编程语言,开发框架和数据存储技术。
挑战:
1. 分布式编程难度大、有风险:分布式系统编程难度更大,远程调用更慢且存在失败风险。
2. 需处理分布式系统的一致性:对于分布式系统来说,保持一致性非常困难,意味着大家都要处理最终一致性。
3. 增加运维复杂性:需要一个成熟的运维团队(机制)来管理大量需要频繁部署的服务。
华为云微服务解决方案概览:咨询+框架+平台+工具+生态
微服务开发首先需要开发框架,华为开发了很多种框架并且已经开源:ServiceComb(Java)、ServiceComb(Go)、Spring Cloud(Java)、Istio(不限语言)
之后需要一个平台来管理开发出的微服务,包括生命周期管理、微服务管理、微服务治理、微服务运维、环境管理。
然后还需要一个工具更好的做DevOps。
此外,华为还提供微服务的咨询。包括如何用微服务,业务适不适合用微服务等。
还有就是两个生态,一个是工具市场,一个是微服务的组件市场。
以上的所有部分都构建在华为的几大平台上,有弹性云服务器、容器云平台、Serverless云平台。
微服务解决方案详解(1/4):微服务框架
提供ServiceComb、Spring Cloud和Service Mesh多种解决方案,降低企业迁移成本。
微服务解决方案详解(2/4):微服务生命周期管理
微服务解决方案详解(3/4):微服务DevOps
微服务多个开发者可以并行开发,之后再合并。基于ServiceStage流水线实现应用全流程“自助式”开发、集成、验证与上线。
优势
· 一键生成持续交付环境
自动生成应用框架代码、构建、部署及测试环境
· 多语言应用
Java、go、nodejs、php、python、ruby、.net
· 多种源码仓库
CodeHub、GitHub、Gitee、GitLib、Bitbucket
微服务解决方案详解(4/4):微服务治理
适用于电商、游戏、教育、媒资、能源及金融等有明显波峰波谷场景的应用,可以实现分布式系统细粒度治理和高可用保障。
优势
· 低门槛
通用治理能力沉淀到框架,开发人员只需聚焦业务
· 简单易用
提供GUI一站式治理控制台
· 准实时
运行状态实时监控,配置下发实时生效
上图是一个购物的应用,后台会拆成很多微服务,右面的拓扑图直观的展现了系统中微服务的调用关系。左侧是吞吐量、时延、失败率等指标。下侧是微服务的治理,包括负载均衡、限流、容错等。
基于华为云ServiceStage的演示
场景(1/5):新应用开发
我们是一家新成立的创业公司,急需推出一款新的应用,这款应用采用微服务架构设计,当前微服务划分已经完成,需要立即开始编码。
使用步骤如下:
进入华为云,点击:产品—>开发者—>平台—>微服务云应用平台ServiceStage—>立即使用。持续交付—>工程—>创建云上工程,依次选择语言、框架、部署系统即可。操作成功后,在应用列表就有了这个应用。
在这一过程中,华为云后台帮你执行了的操作包括:
· 拉了一个框架代码,并部署到Github
· 在华为云创建了一个构建服务,进行编译,做出docker镜像包。推到软件中心
· 将系统部署。
· 自动生成一个流水线
场景(2/5):开发环境搭建
应用上线后,业务稳步增长,开发团队也随之扩展,不断有新同事加入,新的同事进来之后需要快速搭建自己的开发环境。
在创建云上工程时,选择从已有仓库创建。
场景(3/5):Web应用上云
为了加速扩大市场份额,经公司股东同意,收购了一个音乐app,叫做Spring Music,这是一个基于java+js+springboot技术构建的单体应用,希望能快速迁移到ServiceStage上来,进行统一运维管理,降低成本。
场景(4/5):微服务注册与发现
随着产品类别的不断丰富,以及不同技术背景的同事加入,研发团队也引入了多种微服务技术栈,包括有ServiceComb、Spring Cloud以及Service Mesh。
是否能通过一个平台管理多种技术栈呢?
场景(5/5):微服务治理
随着业务量的飞速上涨,以及各种营销活动的开展,我们需要一个强大的控制台来实时监控和治理整个微服务系统在海量流量下的各种问题。
以上文字内容由【内容众创兴趣小组-孔皮皮】整理。
- 点赞
- 收藏
- 关注作者
评论(0)