面向 Web、微服务应用的 Serverless 托管平台云应用引擎 CAE
1. 业务诉求:决定发布一个应用,我需要思考什么?
假如你们公司目前有一个绝妙的 IDEA 急需落地! 为了将业务方案准备好!你需要考虑但不限于以下几个动作:
搭建服务器、配置组网环境
开发技术栈造型,搭建软件开发项目框架
搭建多类型如测试、灰度、生产环境,版本在多环境之间人工流转
为了应对业务突发,提前准备冗余的资源
业务上量后,运维/运营复杂度提升,业务可靠性面临极大挑战,招收更多专家技术人员
针对上述的思考,你可能将面临的问题有:
高昂的基础设置管理成本
复杂、低效产品研发--上线流程;推高研发成本和业务迭代周期
高昂人力/技术成本;极具挑战的运维复杂度,加剧降低业务迭代效率
如果此时提供了一种服务不需要运维和管理技术资源的技术,你会不会考虑使用。
这就是本文即将将介绍的一种适时而生的云应用引擎——云托管服务。
2. 云应用托管的演进趋势
先来看看传统应用托管的演进趋势,云应用托管从应用架构的演进大概有以下三个过程:
单体应用架构,这种方式上云工期:周。对应的云端托管是在虚拟机托管的,对应用进行封装,但是这种虚机托管的方式需要手动部署应用,手动做负载均衡,手动弹性伸缩。云托管解决“快速交付”问题
云原生架构,这种方式上云周期:天。容器化托管:微服务化+容器化效率倍增,极具挑战的运维复杂度。半自动弹性伸缩(资源自动伸缩),按资源付费,资源有时是独占的,在这个过程中,资源利用率比较低。
Serverless 架构,上云工期:小时,Serverless 托管:基础设置免运维,除了关心业务应用的基础逻辑之外,不需要关心网络、存储、计算、部署和容器管理等等。这个时候应用与运行时环境解耦,从业务应用到最底层的基础设施全部实现自动弹性伸缩(从部署到上线),按需付费,最大化提高资源利用率。
云应用托管解决的问题
ECS:虚机托管(单体)
云厂商提供操作系统 OS,机房、存储、网络、计算。对于客户来说,需要 CI/CD,云端应用业务及负载均衡,手动(虚拟机+应用业务)扩容伸缩
CCI/CCE:容器托管
云厂商除了提供同样的操作系统、机房、存储、网络、计算,还能够实现自动容器弹性伸缩。对于客户来说,仍旧需要 CI/CD,云端的应用业务及负载均衡,手动应用业务扩容缩容
CAE:Serverless 托管
在这种方式下,云厂商能增加了 CI/CD 流水线,实现全自动弹性伸缩、负载均衡。此时用户只需要关注云端的应用业务。Serverless 托管的优势在于屏蔽了复杂的基础设施管理和业务运维,客户可专注于业务。
3. CAE 产品介绍
CAE(Cloud Application Engine 云应用引擎),一个面向应用的 Serverless 托管服务,可提供极简集成与部署、极低使用成本、免运维能力(免基础设施运维)的一站式应用托管方案,支持从源码、软件包、镜像包等集成发布应用,提供秒级弹性伸缩能力,是一款按量付费的云服务产品。可做到基础设施免运维,根据可观测的运行指标对应用进行生命周期管理。
CAE 面向多个行业:互联网(直播、教育、游戏)、大企业(车联网、智能制造、商超)、政务(交通门、空间信息、医疗)、金融(互联网金融、风控、资管)等。
特点介绍
上云简单:提供环境标签和增加用户体验。一键创建资源隔离的运行环境:环境命名,不同命名环境之间资源隔离;用户一键开通环境,一站式极简上云。
运维高效:支持丰富的弹性策略、产品组合以及规划中的参考架构。提供资源、连接、周期性、时间等多维度因素;屏幕 ECS、CCE、ELB、VPC 等基础云服务,内置 CSE/RDS 等常见中间件的配置管理,集成 AOM 监控能力,apm 拓扑告警能力
安全可信:华为可信经验和安全特性升级。内置华为多年可信经验,支持出海业务,基于虚机、容器等资源层安全特性强化升级业务安全
CAE 逻辑概念
CAE 可以创建多个环境,比如测试环境、灰度环境和生产环境。每个环境下可以配置多个应用,每个应用由多个组件构成,每个组件就是一个个源代码、镜像或者软件包。
举一个例子:
4. 关键特性
从源托管
支持常见业务形态极简部署上云:
传统部署流程与 CAE 部署流程的区别
与传统的部署流程相比,CAE 提供一站式部署:
极致弹性伸缩
痛点一:为应对周期性业务洪峰,提前准备资源,稳定期资源利用率低
诉求:资源按需弹性和伸缩,按使用量计费
痛点二:促活流量激增,预留资源预估不准确、手动扩容稳定性差
诉求:丰富的弹性伸缩策略,极低弹性时延,全自动弹性实施
痛点三:为维持业务稳定,面临从基础设施到业务的复杂维度
诉求:基础设置免运维,聚焦业务层运维
5. 典型案例
全国连锁的综合性行业平台
背景:XXX 为服务行业的综合型大企业,公司成立数十年,从刀耕火种的小企业到如今全国性的行业平台,是比较典型的业务驱动技术改革的客户。
从业务起步阶段到上量阶段到规模阶段,随着业务的增长迅速,逐渐发现痛点,并进行改善,最后发现冗余资源成本高昂,复杂运维态势威胁业务,技术门槛高,加剧风险。
最后进行了云化变革,业务托管上云,基础设置免运维,丰富的弹性策略,秒级弹性能力,资源使用按需付费,流量峰期过去可以立马释放流量,极大降低成本,利用 CAE 丰富的弹性策略和秒级弹性能力,无忧应对业务涌动。
6. CAE 实践:5 分钟体验“疾”速上云
前提条件
注册华为云帐号,并登录成功。
在GitHub官网注册帐号,并创建私人令牌,以便服务后期的授权使用。
创建环境
登录 CAE 控制台,在您首次使用本服务时,页面会提醒您尚未创建环境。
点击“立即创建”,进入创建环境页面
单击“确定”,界面跳转显示“环境创建中”及进度,创建环境完成。
新增应用
登录 CAE 控制台,左方菜单栏点击“组件列表 ”,顶部“应用”右侧单击的 “+”号,可新增应用。
输入应用名称。
单击“确定”,新增应用完成。
新增组件
在组件界面,填充组件名称和版本号,支持选择实例规格:内核(0.5、1 或 2)和 1 GiB 和实例数量。
选择主流的代码源,支持连接主流的开源代码托管仓库:DevCloud、GitHub、GitLab、Gitee 等等。
还支持各种镜像(包括用户打包的自定义镜像、开源镜像和共享镜像)或者是软件包:
填写完相应的信息之后,可以点击配置组件:
然后对刚刚导入的组件进行运维管理:如环境变量设置、访问方式设置、伸缩策略设置等等:
环境变量配置演示
访问方式配置演示
伸缩策略配置演示
回到界面上方,单击“配置并部署组件”,可以看到配置变更信息,单击“确定”,确认配置信息。:
配置完毕之后点击“确定”,完成一键配置。如果组件已经部署,单击生效配置。
通过一个脚本访问可以查看弹性伸缩配置是否成功:
访问应用
登录 CAE,选择“组件配置”。
在上方下拉框中选择所需访问的环境,应用和组件。
在“运维管理中 > 访问方式”找到 ip 和端口号。
若您选择外网访问方式,可直接在“访问方式”模块中单击 ip 进行跳转,也可以在“组件列表”页面,直接单击“外部访问地址”栏的 ip 进行跳转。若您选择内网访问方式,则需要登录集群节点使用 curl 命令访问。
应用运维
登录 CAE 控制台,在“概览”页面可以查看组件健康状况以及资源使用情况等。
选择想要查看的环境,应用和组件。
单击“组件事件”显示组件的整个活动过程。
单击“组件监控”,显示当前组件运行的实例数,以及各个实例的 cpu 和内存的使用情况。
单击“组件日志”,显示单个实例的日志信息。
总结
本文介绍了云计算时代的新业务诉求,并介绍了云应用托管趋势,着重对华为 CAE 产品的介绍和关键特性
,并展示了一个传统服务行业典型案例,对更多企业有着借鉴和参考意义,最后通过一个小白如何上手操作 CAE 产品,加深用户的实践体验。希望能对你有所帮助!
参考链接:快速体验CAE
本文参与华为云社区【内容共创】活动第22期。
任务 20:[新手开服——美女讲师带你玩转 serverless 云应用引擎](
版权声明: 本文为 InfoQ 作者【宇宙之一粟】的原创文章。
原文链接:【http://xie.infoq.cn/article/01619850ee01ee4d7006dc4cf】。文章转载请联系作者。
评论