优云Automation:实现IT服务弹性伸缩的利器

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介:

随着互联网业务快速持续增长,IT资源使用量按需变化成为常态,这就要求信息部门能快速响应资源使用的变化要求,对运维提出不小挑战。比如电商、在线教育等企业经常推出一些秒杀、抢红包活动,在特定时间段对资源的利用处于高峰期,之后基本处于空闲。

几年前,我们从申请采购到应用部署上线都只能人工操作,需要提前几个月开始规划。如今通过云平台能很好实现资源按需动态管理,运维人员可在云平台上根据实际业务需求申请或释放资源。但申请到虚拟机之后,还是需要按照传统方式从人工部署应用系统,根据工作规范一步步操作,这种方式还是很难应对服务变化快速响应的需求,给运维人员也带来不少的工作量。

05cd56f0bddfe0ba28ca595d9967881bd8ac462b

所以我们需要从创建虚机到部署应用整个完整链条的自动化能力,当业务量上升时,能自动增加应用服务来满足上升的业务访问量;当业务量下降时,能自动缩减应用服务。以此达到让应用服务具有弹性伸缩的能力,保证应用稳定性和高可用性,同时也起到提升数据中心资源利用率的作用。

优云Automation具有云基础架构到业务应用的全栈自动化交付能力,可以便携的实现应用服务自动扩缩容,下面我们以优云官网自动扩缩容为例给大家介绍。

一、业务需求分析

优云官网的业务应用架构(如下图)包括负载层、应用层、存储层,目前部署在阿里云上,其中应用层使用微服务化以及无状态设计,支持水平扩展能力。

e363c10c1bf61d53f24e96704dd72a6af4c22960

假如双十二要举办一个互动活动,为了保障业务稳定运行,需要对业务应用层的主机进行监控,当CPU利用率持续大于60%后,自动往集群里增加1台机器,并能自动部署好应用服务上线接入运行。当CPU利用持续小于20%的时候,缩减1台机器。

二、内置操作复用

Automation内置了满足各种运维场景的自动化操作,如云环境管理、数据库中间件管理、应用部署、日常运维等。云环境管理方面提供了阿里云、VMware、OpenStack的支持,优云官网部署在阿里云,所以我们主要使用阿里云管理相关的操作。内置阿里云操作可实现ECS实例的创建、修改、销毁、启停和查询等全生命周期管理,也可以通过平台灵活定义私有操作满足各种运维场景。

扩容场景需使用到阿里云ECS创建、启动、查询操作,实例启动后需自动安装操作Agent,之后安装、启动Tomcat服务、部署应用包以及负载均衡配置和重载生效。

9718a677697731108041560a50bd1c595cf4ff5b

上图为创建“阿里云ECS实例”的操作信息:

1)输入参数:integration_info、vm_conf;

a)integration_info为系统集成配置参数,可通过集成界面配置阿里云服务器地址、AccessKey、SecretKey等信息;

b)vm_conf为实例配置参数,支持区域、网络、安全组、实例类型、镜像等配置,接受JSON格式,如下:

c11bfb88bc4ed99bf4f4ada0de7f3667d1534ffc

2)输出参数instance_id:指创建后的ECS实例ID,后续操作需使用该ID。

三、场景编排实现

有了操作之后,我们可以将操作串接起来形成满足自动扩容的编排流程。Automation提供可视化的流程编辑器,可按扩容处理步骤一步步添加操作,前一个操作输出参数值可被之后的操作引用,实现数据传递。

以下是自动扩容编排流程,自动缩容更加容易实现。

fbcf7e3571f29118f0ba3c5d6a5778f302844511

整个编排执行过程如下:

1)创建阿里云ECS实例:根据系统集成、实例配置信息在阿里云上创建实例并输出实例ID;

2)启动阿里云ECS实例:通过系统集成配置、引用第一步输出实例ID参数信息来启动云上的实例;

3)实例IP查询:通过系统集成配置、引用第一步输出实例ID参数信息来查询云上的实例信息并输出IP地址;

4)安装Agent:根据前面任务的输出信息,在目标虚拟机上安装优云Automation Agent;

5)安装Tomcat:自动下载Tomcat安装包并进行安装,参数信息以及执行主机引用第三步输出IP地址;

6)部署应用包:配置业务应用包、部署目录等参数信息以及执行主机引用第三步输出IP地址来部署应用包到Tomcat服务下;

7)启动Tomcat:根据前面任务的输出参数信息来启动Tomcat服务;

8)负载均衡配置:在前置负载均衡上配置新增转发实例IP地址;

9)负载均衡配置重载:重载负载均衡器以让其生效。

四、自动触发执行

系统支持手工、定时、API三种方式执行编排,其中API支持RESTFul协议,调用时可传递编排参数值。为实现动态自动扩缩容,我们采用优云Monitor进行主机负载监控,当监控到应用服务器CPU负载持续高于60%时,自动调用Automation API的编排执行接口来完成自动扩容,如下图:

82d2cdff5e0cfe5c4c1e6b7621ae1511d8dfa558

调用后作业执行详情如下:

2d91f8b47f86b153c008a876ca14e8ddcdcf37c1

我们可以查看每个任务的执行详情,比如创建阿里云ECS实例:

bdaec5ac6e1704105b0746ed638cd059d5a6a81a

阿里云上看到的实例信息如下,扩容已经自动完成:

fb7826a298aea997244fe9eb2345dfb2536401c7

优云Automation已经内置支持多种云平台,也会持续完善各种云资源的自动化管理支持,我们可以得到一个公式:IT服务弹性伸缩利器=云平台+优云Automation。

作者:叶军会

免费试用:https://www.uyun.cn

相关文章
|
存储 弹性计算 负载均衡
阿里云服务器是一种简单高效可弹性伸缩的计算服务
阿里云服务器是一种简单高效可弹性伸缩的计算服务,阿里云服务器是什么?云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,云服务器可以降低IT成本提升运维效率,免去企业或个人前期采购IT硬件的成本,阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器
224 0
|
存储 弹性计算 固态存储
云服务器,是一种简单高效,处理能力可以弹性伸缩的计算服务
云服务器,一个高效,实用,用途广的服务器
|
弹性计算 Kubernetes 监控
阿里云容器服务弹性伸缩发布EIP支持助力在线视频与游戏场景
## 背景 疫情期间,在线会议等音视频应用面临大量流量冲击,为了获得更好的网路吞吐性能,常常会选择使用Host网络模型。采用Host网络模型的容器可以直接使用宿主机的IP地址与外界进行通信,若宿主机具有[弹性公网IP](https://help.aliyun.com/document_detail/32321.html),容器也能使用这个弹性公网IP进行通信。同时容器内服务的端口也可以使用宿
|
弹性计算 专有云 容器
阿里云专有云容器服务弹性伸缩最佳实践
阿里云专有云容器服务弹性伸缩最佳实践
阿里云专有云容器服务弹性伸缩最佳实践
|
弹性计算 监控 关系型数据库
弹性伸缩服务1-2-3
弹性伸缩是根据用户的业务需求自动调整弹性计算资源的服务,即能够根据应用负载情况自动扩张和收缩应用环境所使用的计算资源。本文介绍了如何基于弹性伸缩服务构建伸缩组相关配置,为打造高弹性高可用的应用程序奠定基础。
60102 2
|
Web App开发 弹性计算 负载均衡
弹性伸缩服务问题排查指南
当您在使用弹性伸缩服务遇到问题时,您可以通过本文查找问题原因及对应的解决方案。
2455 0
|
弹性计算 开发者 容器
|
弹性计算 应用服务中间件 nginx
阿里云容器服务使用HPA弹性伸缩容器
前言 弹性伸缩是开发者使用容器过程中非常关注的特性,如果从资源类型的角度来讲,可以分为物理资源的弹性伸缩与容器资源的弹性伸缩。在本篇中,主要向大家介绍的是容器资源的弹性伸缩,在Kubernetes中,HPA(Horizontal Pod Autoscaling)是用来抽象容器水平弹性伸缩的概念。
5004 0
|
弹性计算 安全 UED
阿里云 ESS 弹性伸缩服务新功能来袭,更全面、更自动化的使用体验
2017年9月阿里云弹性伸缩服务伸缩配置新增了实例自定义数据、秘钥对、实例RAM角色、标签新特性;近日,阿里云又发布了VSWitchIds.N多可用区新特性。
5656 0
|
弹性计算 监控
弹性伸缩服务实践指南
在使用过程中大家会发现,无论是定时还是触发式的增加节点,都无法解决新节点状态和老节点同步的问题,这里提出几个可用建议: 1.可以创建一个注册中心,注册节点,下载初始化脚本
2207 0

热门文章

最新文章