带你读《云上自动化运维宝典》——ECS省钱指南来啦!万字长文教你如何选择与业务形态最匹配的付费方式(3)

简介: 带你读《云上自动化运维宝典》——ECS省钱指南来啦!万字长文教你如何选择与业务形态最匹配的付费方式(3)

更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——ECS省钱指南来啦!万字长文教你如何选择与业务形态最匹配的付费方式(2):https://developer.aliyun.com/article/1405382


2.创建ECS的各种方式及使用场景

1) 高效创建 ECS

 

image.png

很多用户在日常购买ECS的时候,都是通过PC端这种页面可视化的方式购买。这种方式确实比较直观,但它的问题就是会比较耗时,因为各种配置得挨个选择。

 

此外,也有一些用户是通过OpenAPI的方式购买,这种方式肯定效率会更高,但在我们集成OpenAPI的时候,会遇到很多问题。比如在本地调试API的时候,它的参数需要我们去阿里云官网的文档上挨个去看,具体需要传什么值,我们可能还需要去调其他的API才能查到,这样步骤就会非常繁琐,针对这些场景,阿里云其实是有提供一些产品来解决的,后面我们会展开讲解。

 

还有些用户不只是创建ECS那么简单,他们想要交付一整套的基础设施,那么就可以使用我们的资源编排ROS的产品来解决。另外我们也提供了一些OpenAPI最佳实践的代码,让用户可以开箱即用。

 

如果用户在线下的IDC环境/其他的云上有自己的服务器想要迁移到阿里云的ECS上,可以通过阿里云的服务器迁移中心 SMC,这款产品可以很方便的把线下IDC的服务器或者其他云的服务器迁移到阿里云的ECS上。

 

image.png

接下来做一个实践的演示,前段时间阿里云推出了全新的免费试用,支持了137款产品,这次的力度比以前更加大,且使用的时间也更长,覆盖的产品也更加广,大家可以去试用一下。

 

接下来演示一下PC端的购买页和移动端的购买页。首先介绍一下PC端的购买页,详细大家已经很熟悉了。我重点演示一下OpenAPI最佳实践代码、保存为ROS模板、启动模板等功能。

 

image.png

 

我已经提前登录了账号,可以直接到最后一步。分别介绍一下三个功能。

 

∙        第一个功能是“保存为启动模板”,这个的意思是,将前面我们选择的配置保存为一个模板的ID,当你下次需要创建同类配置的ECS的时候,直接通过模板ID创建即可。

∙        第二个功能是“生成OpenAPI最佳实践脚本”,它也是开箱即用的。把代码直接copy下来,然后集成到自己的代码环境中即可。

∙        第三个功能是“保存为ROS的模板”,这个后面会做详细的讲解,这里就不展开介绍了。

 

下面介绍一下移动端的购买页。在用户外出没有带电脑的情况下,可以考虑使用这种方式做一些扩容等操作。

 

image.png

 

这是移动端的购买页,可以看到按量付费、包年包月、自定义镜像等等功能,包括密码也是支持的。但在移动端购买完之后并不能真正的解决业务的问题,比如在扩容的场景下,买完ECS还需要部署业务,然后做一些业务配置才能真正的提供服务。

 

image.png

下面演示一下在移动端如何做ECS的远程连接。首先找到阿里云的APP,然后选择下面的“运维”,再选择“云服务器ECS”,点击“…”,选择“Workbench远程连接”,就可以连接到我们的实例上,做一些业务配置、执行的命令、服务的启动等等操作了。

 

这样就可以形成了一个闭环,首先购买ECS,然后对ECS做一些配置提供服务,运维的操作也都是可以在移动端实现的。当然也不止新购买的ECS,存量的服务器也可以直接连接上来做配置。

 

另外,一些用户可能会遇到在本地集成OpenAPI的场景,如果不知道参数怎么填,可以使用阿里云的OpenAPI门户。下面演示一下:

 

image.png

 

这个工具不仅可以调用ECSOpenAPI,也可以调用很多其他产品的API。大家在上图左侧可以很方便的检索到自己想要集成的API

 

这里我提前设置好了这些参数,它自动就可以填进来了,可以直接在这里看到参数的名称以及对应的描述,相比本地直接集成,这里会更加的可视化,更加直观一点。而且安全组的ID、规格等等都是可以直接选的,不用挨个去拼接。此处需要提醒一下,我们在集成OpenAPI的时候,可以先在这里调试通过后再去集成,因为这样可以极大的提升开发效率。

 

除此之外,我们还提供Cloud Shell命令行的方式创建ECSCloud Shell会在远端起一台虚拟机,且这台虚拟机会事先配置好阿里云的命令行工具,不用自己再去安装了。相比本地安装这样的工具,可能会遇到很多环境的问题,这个的话在云端我们已经帮你安装好了,直接运行命令就可以了,而且有一个小时的免费使用期限。这个方式也是非常便捷的,喜欢命令行的同学可以直接在这里调试或者使用。

 

前面在演示PC页面的时候有一个功能叫“保存为启动模板”,即创建的时候指定一个模板ID就可以创建出来一个ECS。这里我们通过Cloud Shell的方式给大家演示一下:

 

image.png

 

可以看到已经创建出来一台阿里云ECS RunInstances,指定一个模板ID就可以了。如果我们觉得启动模板里,预先配置好的参数不满足我的需求,也可以去复写它。比如复写一下ECS RunInstances,随便填一个规格,然后它就报错了。因为规格是随便填的,这个规格并不存在,所以就报错了。这也是非常方便的一种创建ECS的方式,也能提升我们创建ECS的效率。

 

image.png

 

一些DevOps和运维的同学可能不只是想创建ECS这么简单,他想要交付整套的业务的架构。上图是我简化的业务架构,它部署了一个高可用的WordPress的博客,可以看到,它有两个不同的可用区来做高可用容灾。两台ECS连上一个数据库RDS。还有一个负载均衡分散流量到不同的后端服务器,前面通过公网EIP的方式去提供服务。如果ECS也有访问公网的需求,可以用NatGateway通过公网EIP访问。

 

那么如果整套架构我们都手动去创建,是非常耗时耗力的,而且创建到第三步的时候很可能就出问题了,我们需要重试或者把前面的回滚掉重新创建,反复操作会耗费很多人力,大概需要几个小时的时间才能完成。

 

我们有一个产品叫资源编排ROS,它是专门解决基础设施部署问题的。把这些资源和资源之间的依赖关系描述成一个JSON的模板的文件,然后把这个文件交给ROS,它就会自动化的帮我们创建整套架构。创建这样一套架大概只需要几分钟的时间就可以完成,所以它可以明显的提升部署的效率。

 

同时由于ROS支持回滚和删除,也就是说整个架构部署的时候,比如创建总共有五步,创建到第三步的时候失败了,它可以自动回滚到前面的几步,这样也提升了一些效率。此外,如果整套架构部署完成了,也测试完成了,我们不想用了,也可以使用ROS的删除功能,把整套架构全部删除掉。正是因为ROS有可回滚、可删除的特性,所以我们认为它可以节省成本,因为很显然自动化的删除可以提高资源删除的效率。

 

同时它还可以解决合规的问题,比如企业有多个业务部门,其中运维部门希望多个业务部门的架构是统一的,用的资源类型、安全组的端口等等都是比较标准的。但如果我们人为去要求这些业务部门他们不一定会遵守,所以我们通过ROS模板的方式把它规范起来,运维部门可以给业务部门统一的模版来统一进行管理。

 

下面重点介绍一下ROS的特点。

 

IaCInfrastructure as Code)理念,它作为一个工具类的产品本身是免费的,但创建出来的资源是收费的。前面也讲解了它支持回滚和删除,那么它是怎么支持回滚的呢,这就讲到了ROS对于资源编排的定义。这个资源的定义是广义的,只要有创建、删除、查询的接口,我们就认为它可以是一个资源,再比如挂载网卡、卸载网卡,也可以定义为一个资源。

 

所以抽象的来看,我们只要有一个操作是支持逆向的,比如创建支持删除,挂载支持卸载,都可以认为是一个资源。正是因为ROS对资源的定义是支持逆向的,所以它自然而然就支持回滚和删除的能力。

 资源编排,刚讲了资源接下来讲一下编排,编排是某一个资源依赖另一个资源。比如我们创建ECS其实是依赖VPC的,那么在ROS模板里就要声明一下,ECS这个资源是depends on VPC资源的。在ROS创建的时候,就会先去创建VPC再创建ECS。在回滚的时候也会先回滚ECS再去回滚VPC,或者在删除的时候先删除ECS再删除VPC

 

ROS支持98个产品的474个资源,覆盖面是非常广的。它也不是一个新产品,2015年发布上线到现在已经发展很多年了,现在非常的成熟。

 

接下来演示一下用ROS模板的方式部署一套架构。模板具体的内容可以参考上图中最下面的链接,大家可以直接下载使用。

 

image.png

 

我已经事先把模板创建好了,下面就直接开始了。首先选择负载均衡的规格,已经默认选好了。然后选择两个可用区的配置,再给各个可用区的ECS选择一个规格。然后再选择数据库的规格,填写数据库的密码,最后点击创建,整个过程需要大概十分钟的时间。

2) 弹性创建 ECS

 

image.png

前面我为大家演示了,通过ECSOpenAPI RunInstances创建ECS,这个API只支持指定一个规格,但我们有一些用户的场景对规格不是很敏感,也就是说我可以随意的指定多个规格,这样可以让创建实例的成功率更高。因为单个规格可能会遇到库存不足,Quota不足等问题。在这种情况下,有多规格诉求的时候,就可以使用一个叫做弹性供应的产品。

 

弹性供应不仅支持多规格,还支持多个可用区,交付ECS,他不仅支持像RunInstances一样一次性创建,支持持续保持的能力,这是弹性供应解决的其中的一个问题。

 

前面的同事讲解了抢占式实例,抢占式实例确实非常便宜,也非常诱人,对于用户来说是非常希望使用它的。但使用的时候也会有一些成本,因为抢占式实例在持有一小时后会随时被系统回收。回收的时候系统会发送一个消息出来,我们如果想要真正的使用抢占式实例,就需要对接这个消息,当我收到实例被回收的消息的时候,再去创建一台新的出来。弹性供应自动化的帮大家解决了这个问题,即不用我们自己去对接了,它的系统内部已经帮我们对接好了。比如用弹性供应交付了10ECS,其中一台被系统回收了,它可以自动的创建一台新的抢占式实例出来。

 

这里就涉及到了弹性供应的供应策略,它在供应资源的时候有一些策略可以供我们选择。比如选择抢占式实例里释放率最低的规格,以免实例被频繁释放,再重新创建的问题,本质上就是算力集群比较稳定的一种策略。

 

此外,它还支持多可用区均衡容灾的策略,也支持成本最优的策略,比如我从抢占式实例里最便宜的开始创建依次选择,达到成本最优的一种供应策略,当然也支持自定义优先级的供应策略。

 

总结来看,弹性供应就是为了解决批量大规模交付ECS算力集群业务的场景,大家有这种诉求的时候就可以考虑使用弹性供应这个产品。

 

image.png

 

作为一个企业,它的一些业务变化可能是有规律的,比如这个企业每周五都会有一个活动,在活动开始的时候,我需要动态的增加ECS,在活动结束的时候,再把ECS减掉。但也有一些是没有规律的,CPU突然高了,这个时候我就需要根据CPU的使用率来增加ECS。这些场景都可以用阿里云的弹性伸缩很好的解决。

 

刚讲完弹性供应,那么弹性伸缩和弹性供应有什么区别呢?

 

弹性供应主要是交付一个算力集群,而弹性伸缩可以根据用户的业务来配合弹性的增加ECS,包括CPU利用率通过云监控的监控来集成,比如当CPU的使用率大于80%的时候增加ECS等等。

 

弹性伸缩不只可以支持定时的,它还支持动态预测模式。根据过去1-14CPU的使用率,以及内网出入流量等等,通过机器学习算法的方式,帮大家预测未来需要的资源的量,自动的扩容和缩容。

 

image.png

 

接下来演示一下,当服务的CPU大于80%的时候,弹性是否会增加一台ECS。可以看到刚才通过资源编排创建的一套架构已经交付好了。我们可以去ECS看一下它的资源,可以看到有两台新的ECS已经创建出来的,是高可用的那两台ECS。我们连接上去把这两台ECSCPU打到80%以上,看一下弹性伸缩是否会真正的弹性的增加一台服务器进来。

 

然后我们先远程连接,这里介绍一下有一个叫会话管理远程连接,它可以实现免密登录,是更加方便快捷的。我们复制一下事先准备好的命令,把这两台ECSCPU打高。然后去看一下弹性伸缩的报警情况,现在显示报警任务配置是CPU的平均使用率连续一次,大于80%的时候就会弹性增加ECS


image.png

 

然后我们再看一下监控的情况,平均值是47%不到,检测需要大于80%的时候才会去弹,所以还需要等待一点时间。现在可以看到已经报警了,CPU平均的使用率已经达到了90%,同时也能看到已经增加了一台ECS

 

但只增加ECS是不够的,因为扩容服务器一定需要做业务的配置、代码的部署、服务的启动等工作,这个问题在弹性伸缩上有一个叫“生命周期挂钩”的功能可以解决。这个的意思是我们在创建完ECS的时候,可以针对这台ECS做一些配置,这里挂钩其中一个动作我们使用了OOS的模板,在这个模板里又去执行了一些命令。这些命令是通过ECS的云助手下发下去的,这样就可以把业务的配置都执行一下,启动起来了。

3) 高确定性创建 ECS

 

image.png

 

我们假设有一个场景,比如我今天晚上9点想升级集群,或者我之前测试好的东西需要部署到线上,这种情况我需要在9点的时候买一批资源。但买这些资源我又担心会有库存或者Quota的问题买不出来。而系统升级是非常严肃的事情,如果创建不出来,对业务的影响是非常大的。

 

大家通常想到的解决方案是,9点上线的话,我8点的时候提前创建出一台ECS不就好了,这确实是一种解决方案,但这不是最经济的。

我们有一种更经济的解决方案叫做容量预定,也就是在8点的时候创建一个容量预定出来,容量预定只收取计算的费用,所以到9点把ECS创建出来的时候才开始收ECS的存储、网络等费用。在8-9点之间,只收取计算费用,当然9点以后也不会收取双份的费用。这样就达到了节省成本的目的,同时它还能满足在9点的时候100%成功创建ECS

 

为什么能100%成功呢?这是因为在8点买了容量预定的时候,你就把库存资源锁定了,当在9点创建ECS的时候指定容量预定,就可以100%成功。使用容量预定需要注意,预定的时间不要过长,因为预定的这段时间也是收取费用的,而这段时间又没有真实使用资源,时间过长就会存在浪费的情况。

 

此外,它也可以适用于混部的场景,比如白天跑的是在线业务,晚上跑的是离线业务,这种情况就可以买一个容量预定,确保离线和在线业务都使用相同的资源池来保证我的确定性。这样我就不用担心白天用完资源释放掉以后,晚上创建ECS的时候因为库存原因创建不出来,通过容量预定这个产品就可以很好的这个解决问题。

 

所以,当大家有一些确定性的保障的时候,比如资源轮转、升级,混步、集群部署等等,对确定性需求非常强的时候,我们就可以考虑使用容量预定这个产品。

 

image.png

 

最后简单对今天的分享做一个总结。

 

第一部分,高效创建ECS。首先分享了高效创建ECS的方式,包括PC端、移动端,移动端还可以远程连接ECS。其次分享了启动模板、OpenAPI门户、Cloud Shell等工具,方便大家在集成OpenAPI的时候,通过这些工具提升效率。最后演示了通过资源编排ROS的方式交付一整套的基础设施架构。

 

第二部分,弹性创建ECS。当我们有批量大规模交付 ECS 算力集群需求的时候,或者觉得抢占式实例的使用成本太高的时候,可以考虑使用阿里云的弹性供应。当我们有定时/动态弹性创建 ECS,或者需要根据报警的监控指标,比如CPU的使用率、内存使用率、带宽的使用率等等,去动态的增加ECS或减少ECS的时候,可以考虑使用阿里云的弹性伸缩。

 

第三部分,高确定性创建 ECS。当我们对ECS确定性有需求的时候,尤其是在资源轮转,升级稳步等业务场景的时候,可以考虑使用阿里云的容量预定来解决问题。

 

以上就是本节课程的全部内容,同时欢迎大家点击链接进入【CloudOps云上运维】课程官网,了解最新课程资讯!

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
20天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
2月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
67 2
|
2月前
|
监控 虚拟化 云计算
从物理到云:使用自动化工具简化服务器迁移流程
【10月更文挑战第4天】随着云计算的快速发展,越来越多的企业选择将物理服务器迁移到云环境以提高效率和降低成本。本文详细介绍了使用自动化工具简化从物理到云的服务器迁移流程的技术实现细节,并提供了代码示例。
130 6
|
2月前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
28天前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。
|
2月前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
45 1
|
2月前
|
运维 应用服务中间件 Linux
自动化运维:使用Ansible管理服务器配置
【10月更文挑战第2天】在现代IT运维中,自动化是提高效率和减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常的服务器管理工作。我们将从基础讲起,逐步深入到高级应用,展示如何通过编写简单的Playbooks来自动化复杂的配置任务。文章还将探讨Ansible的最佳实践,并分享一些实际案例来说明其在实际工作中的应用。
|
2月前
|
运维 应用服务中间件 nginx
自动化运维:使用Ansible管理服务器
【8月更文挑战第70天】随着互联网技术的飞速发展,服务器的数量和复杂性也在日益增加。如何高效、准确地管理这些服务器,成为了每一个运维人员必须面对的问题。本文将介绍如何使用Ansible这个开源的IT自动化工具,来帮助我们更好地管理服务器。Ansible以其简洁的语法、强大的功能和易于上手的特性,成为了运维人员的好帮手。我们将通过一些实际的例子,来看看Ansible是如何工作的。
|
2月前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板

热门文章

最新文章

相关产品

  • 云服务器 ECS