公有云提供了很多免费的高级功能,很多中小用户以为自己用不上。实际上稍微研究一下,就能享受很多便利和节省不少成本。

本方案就是利用弹性伸缩(auto-scaling)减少服务器成本,几乎适合所有集群式部署的网站/APP。设置也非常简单。

业务场景:

如果您的业务满足以下条件,花5分钟配置这个方案,可节省20%-30%成本:

  • 网站使用集群的方式,且集群超过1台以上的服务器;

  • 网站有较长时间的空闲。大部分网站的高峰时间不超过 8 个小时,剩下的 16 个小时的时间,完全可以把闲置的服务器作缩容处理。

本文以某休闲类网站为例,该网站 20:00-24:00 是访问高峰时段。

方案简述

  • 按非高峰时段的负载部署固定资源,可采用包年包月 CVM;

  • 高峰时段的不足部分采用按量计费的CVM。通过定时任务在 20:00 扩容1台,24:00 缩容回去。

新旧方案的对比:

收益

假设原方案需要两台 4核4G 的 CVM,改成一台 4核4G 的 CVM + 每天4个小时临时CVM,能节省30%左右开支。

示例中的小网站每年可以节省1800元:

具体操作:以腾讯云为例(其他云服务商操作相仿)

实例的网站结构比较简单,只有应用服务器一个集群。如果复杂的网站,会有应用服务器集群、前端服务器集群、缓存服务器集群等,每个集群都可进行类似操作,每个集群对应一个伸缩组。

step 1. 创建集群机器的自定义镜像

这步非常简单,基于一台现成的集群机器中制作即可。如有疑问可查看 制作自定义镜像 >>

注:您需要提前部署好镜像中的环境,保证镜像里的应用能随操作系统启动,这样扩容出来的机器就能直接工作,无需人工介入。

step 2. 创建启动配置

扩容时 AS 以启动配置为模板创建机器,因此我们事先通过启动配置指定地域、机型、镜像。

  1. 登录 弹性伸缩控制台,点击导航条中的【启动配置】。

  2. 选择项目和地域,这里要注意选择 Web 应用 所在的项目和地域。

  3. 接下来的操作与购买机器类似,您可跟着指引完成启动配置创建。注意自定义镜像中,指定刚才您创建的镜像。

step 3. 为机器创建伸缩组

在弹性伸缩控制台,点击【新建】,按如下填写集群的管理信息:

  • 名称:按需起一个名字。比如这里填“应用服务器集群”

  • 最小伸缩数:集群服务器数量的下限。示例这里填 0 即可。

  • 起始实例数:伸缩组刚创建时,自动创建的机器数量。一般不会刚创建伸缩组就自动创建机器,建议这里填 0。

  • 最大伸缩数:集群服务器数量的上限,这里按需填写。这里以 5 为例,即伸缩组最多有 5 台机器。

  • 启动配置:选择刚才您创建的启动配置。

  • 支持网络:会话服务器的网络环境,一般选“基础网络”即可。

  • 支持可用区:即选择机扩容器落在哪个可用区里,此处按会话服务器所在的可用区勾选即可。

  • 移出策略:选择默认。

  • 负载均衡:选择集群的负载均衡。

最后点击【确定】,完成创建。

step 4. 添加现有机器进伸缩组

  1. 在 控制台点击伸缩组名字,进入管理页,在页面下方点击【添加云主机】。

  2. 在弹出的对话框中,选择集群已有的服务器加入伸缩组。如果现在是非高峰时期,集群中未充分利用的服务器可以退还,节约成本。

  3. 加入后对服务器设置“免于缩容”,这样在缩容活动中,伸缩组不会选择这台服务器缩容。这样集群中这台机器永远在服务,AS 不会更改它。

step 5. 设置扩缩容策略(重点!)

AS 支持定时扩容或者基于告警动态扩容,也支持您接收扩缩容通知,以及翻看历史扩缩容详情。一切尽在您的掌控中。

  • 先设置一个20:00的定时扩容任务

    注:
    腾讯云的CVM需要1分钟左右创建,如果自定义镜像较大,可能需要更多时间。您可以将执行开始时间提早5分钟。

  • 然后再设置一个24:00的定时缩容任务

至此大功告成!

网站的后台集群变为“1台固定应用服务器+1台高峰时定时创建的应用服务器”。

没加入伸缩组的其他集群机器,大部分时间未充分利用,可以退还掉节约成本。

云服务利用Auto Scaling节省30%成本的更多相关文章

  1. 利用VisualVM监测Azure云服务中的Java应用

    在做Java开发的时候,我们需要在上线之前对程序进行压力测试,对程序的性能进行全面的监控,了解JVM的CPU,内存,GC,classes,线程等等信息,或者在程序上线运行的过程当中以便于诊断问题或者对 ...

  2. Python利用Twilio(国际)以及腾讯云服务做一些事情

    短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口. 首先,注册Twilio: www.t ...

  3. Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_152 短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务 ...

  4. frp服务利用云主机实现Windows远程连接

    frp服务利用云主机实现Windows远程连接 1.下载所需要的安装包 https://github.com/fatedier/frp/releases 下载 frp_0.44.0_linux_amd ...

  5. [转]在 Azure 云服务上设计大规模服务的最佳实践

    本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...

  6. 在线公开课 | 5G时代的视频云服务关键技术与实践

    5G时代来临在即,视频技术将会如何发展呢?基于视频云服务的技术开发又有怎样的变化呢?为此,京东云视频云产品研发部高级总监魏伟为大家做出了详细解读. 魏伟拥有10多年视频行业研发经验,先后从事于AVS标 ...

  7. 云计算 云服务 hadoop

    云:是一种虚拟化的技术,重在资源管理. 云服务是云计算的一种商业模式,有三个层次: Iaas:场外服务器,存储和网络硬件:节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用 Paas ...

  8. 基于AWS的云服务架构最佳实践

    ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...

  9. Microsoft Azure 在北美 TechEd 大会上发布令人振奋的更新,帮助客户开始使用云服务

    云计算因其速度.规模和成本节省等优势而备受众多企业青睐.但企业需帮助,才能以安全可靠的方式使用云,同时还要利用企业的现有投资, 才能实现这些优势.因此,在TechEd 大会上,我们推出了一些新的服务, ...

随机推荐

  1. ZigzagConvert

    public class ZigzagConvert { public static String convert(String s, int nRows) { int len = s.length( ...

  2. python中的一些编码问题

    声明Python源码编码方式 在程序的开始写上:# -*- coding: utf-8 -*- # -*- coding: gbk -*- 注: decode是将其它编码方式转换成unicode编码 ...

  3. XML文件解析-DOM4J方式和SAX方式

    最近遇到的工作内容都是和xml内容解析相关的. 1图片数据以base64编码的方式保存在xml的一个标签中,xml文件通过接口的方式发送给我,然后我去解析出图片数据,对图片进行进一步处理. 2.xml ...

  4. Android 6.0运行时权限第三方库的使用-----RxPermissions

    运行时权限的讲解在前一篇博客已经算是说的比较清楚了,这里就不说了,如果对6.0这个新特性不是很了解的朋友建议先看看(地址:http://blog.csdn.net/qq_33923079/articl ...

  5. 《Think in Java》(八)多态

    "封装"通过合并特征和行为来创建新的数据类型: "实现隐藏"通过将细节"私有化"把接口和实现分离开来: "多态"消除类型 ...

  6. CentOS 7.3 关闭默认防火墙&远程登录

             小编作为一个运维新人,踩坑之路是必不可少的.          这不,新来了一家公司,做云运维工程师,新的环境,网络和之前的都不一样,VMware Workstation虚拟机上的网 ...

  7. DataGrid的组成论述(WPF)

    DataGrid:它标示是一个整体概念,是个大容器,包含Row的感念 Column:是表格的组成成分(表格是由列组成的),它包括Header和Cell的概念

  8. 你妹的IOS7

    第一时间升级到了IOS7,想体验一把,界面卡就算了,付费的软件闪退也就罢了,耗电发烫也算球了!你妹的,连个电话都打不了了,刚说几句话就黑屏了,要你还有啥用了,果断降级,IOS6已经下载完了,刷机去!

  9. yii2.0缓存的使用

    1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...

  10. uva11078 - Open Credit System(动态维护关键值)

    这道题使用暴力解法O(n*n)会超时,那么用动态维护最大值可以优化到O(n).这种思想非常实用. #include<iostream> #include<cstdio> #in ...