• 【阿里云产品公测】弹性伸缩服务ESS之试用初体验


    弹性伸缩服务ESS之试用初体验

    作者:云郎 2014/10/15

    阿里云弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,自动调整其弹性计算服务器(ECS)的管理服务。其能够在业务增长时自动增加ECS实例,并在业务下降时自动减少ECS实例。

    收到ESS开始公测的邀请,马上怕不急待的申请了公测资格,开始体验传说中的ESS云服务了。因为笔者一直在全面的测试阿里云产品,在做压测过程中经常需要动态的调整ECS云主机的数量以确保能够给RDS提供合适的负载压力。在此之前,笔者都是靠手动完成ECS数量的增加或者删除的。现在,就让我们先用为爽吧!

    第一步,当然是要开通ESS服务,请移步

    http://www.aliyun.com/product/ess

    开通很顺利,可以进入ESS控制台了

    在此先把云郎已开通的需要叠加ESS服务的资源给大家介绍下:

    一个SLB实例,将HTTP请求按照会话保持的方式分发到后台ECS服务器。

    两台ECS实例,安装了wordpress。

    一个RDS实例,为多个wordpress应用服务器提供共享数据库服务。

     

    在整个测试系统的部署位置如下图红色虚线内所示。

    红色虚线外的资源为压力生成系统,主要分布在北京、杭州和深圳的阿里云数据中心。

    再来观察一下当前系统的负载情况,通过云监控了解ECS在加压之前的负载情况。两天ECS的CPU使用率都在50%左右。(吐糟wordpress一下,wordpress不干活时CPU也要这么高,神啊救救我吧!)

    第二步,创建属于自己的第一个的ESS伸缩组。名字就叫wordpress-elastic吧!选择SLB和RDS。伸缩组(Scaling Group)是具有相同应用场景的 ECS 实例的集合。伸缩组定义了组内 ECS 实例数的最大值、最小值及其相关联的 SLB 实例和 RDS 实例等属性。

    紧接着按照提示创建伸缩配置。

    小提示,为了能够顺利执行这一步,请提前创建好自定义镜像。我的自定义镜像中已经提前安装了经过定过定制化的wordpress,以确保和线上的wordpress01和wordpress02的应用服务器版本和配置的一致性。

    好了,确定一下ESS服务的状态吧。Wordpress-elatic伸缩组已启动,没有任何ECS伸缩活动。

     

    第三步,加压给现有ECS。

    事先录制好的测试脚本SLB02如下

    压力系统将HTTP请求发向SLB

    测试场景如下:

    一切就绪,开压吧!

    期待的结果:

    现有ECS服务器wordpress01和wordpress02的负载超过85,按照ESS伸缩策略,将会最少加入2台新的ECS服务实例。

    新加入的两台ECS应该被自动配置到实现定义的SLB后台服务器列表中。

    新加入的两台ECS服务器实例在SLB负载分担下开始接受新的请求,wordpress01和wordpress02的负载开始下降。

    第四步,观察自动伸缩结果

    压力测试开始后,随着压力增大,我们看看发生了什么:

    “Add "2" ECS ins...”

    观察结果:

    新扩展的两台ECS实例已经自动增加到了SLB的后端服务器列表:

     

    结束语:

    在短短的一个小时内,云郎已经借助阿里云的优势,快速体验了ESS弹性伸缩服务的自动伸缩功能,成功进行测试RDS数据库的应用侧容量扩容。

    其实ESS除了自动配置SLB、自动扩容,还有自动收缩、定时伸缩、固定数量模式、自动配置RDS等其它功能。咋们也就来个“且听下回分解吧”。我们再来回顾下整个过程中系统架构在没有任何人工参与的情况下,发生了什么变化:

     

    不变的是:

    原有架构整体保持一致,负载均衡、应用服务器、数据库服务器位置均无任何变化。

    变的是:

    ECS数量由2个实例变成4个实例,应用服务器处理能力增加一倍。

    一切按期望发生,事情够科学!,正所谓:

    “ESS妙计安天下,扩了ECS又配SLB。弹性伸缩把忧解,按需调整有智慧“

     

    原文地址:http://bbs.aliyun.com/read/179518.html
    参加活动:http://promotion.aliyun.com/act/aliyun/freebeta/

  • 相关阅读:
    Golang gRPC学习(01): gRPC介绍
    MySQL InnoDB存储引擎大观
    SpringBoot学习-图文并茂写Hello World
    Golang的goroutine协程和channel通道
    业务 产品 技术的一点看法
    需求一直做不完,怎么办?
    技术管理:项目开发中的几种风险管理
    go内存管理
    etcd实现分布式锁分析
    强缓存与协商缓存
  • 原文地址:https://www.cnblogs.com/aliyunblogs/p/4057000.html
Copyright © 2020-2023  润新知