简介:本文分享了高效使用和管理大规模云服务器的最佳实践。
2021年10月22日,阿里云高级技术专家贾绍天在云起大会云运维最佳实践分论坛上发表了主题为“大规模云服务器高效使用和管理的最佳实践”的演讲。本文基于他的演讲,主要通过以下三个部分介绍高效使用和管理大规模云服务器的最佳实践。
我们把云分为四个阶段:云前整体评估、云迁移过程、云迁移验证、在线业务切换。我们今天给大家带来的服务器迁移中心产品,就是帮助大家优化迁移流程和验证,让这一部分能够更加快速高效的进行。
现有三种迁移方式:
首先,重新部署和迁移。就是把原来的线下环境一步步重新运营到云上。从易用性、速度、还原等方面考虑,不推荐这种方法。
二、导出镜像法。就是在你自己的本地环境下,按照阿里云镜像规范导出一个镜像,然后上传到阿里云使用。系统恢复的程度是可以保证的,但是轻松和快速并不是最好的方式。
第三,使用阿里云的服务器迁移中心。您只需要下载一个客户端在本地运行,然后创建一个迁移任务,服务器迁移中心产品会自动为您执行整个迁移。
阿里云服务器迁移中心有什么优势?
首先是高度成熟的产品,支持业界各种镜像。
第二,高度自动化。一行指令,全程无人值守。我们提供API和控制台供您观察整个过程和结果。
第三,高智能。从迁移开始到实施过程中出现任何问题,都会自动进行相关修复工作,让整个过程更加高效流畅。
用户也可以根据自己的场景迁移成多种形式。我们还支持增量和全迁移,达到线上线下完全统一的效果;用户也可以根据自身情况选择多种复制模式。
服务器迁移中心是一个高度自动化的产品,支持批量多实例迁移。无论什么规模的资源迁移,都可以得到高效的支持。如果您在后续使用阿里云的过程中遇到迁移问题,我们强烈建议您使用该产品。
02 如何低成本地构建大规模资源场景如何低成本搭建大规模服务器?这里有两个核心关键词:成本低,规模大。我们来看看如何用最少的钱使用阿里云的ECS。
如果大规模使用ECS,第一个问题就是效率如何?比如今天有一个业务高峰,需要1000台机器。我们能在最短的时间内快速交付这1000台机器吗?其次,这1000台机器能不能用更低的成本?第三,这台机器能否通过自动化减少人工参与,让管理和维护流程的成本更低?
先说高效的部分。我们建议您使用ECS来启动模板功能。不知道在座有哪些嘉宾用过ECS的启动模板功能,这是ECS配置数据的持久化工具。任何在阿里云上创建的ECS实例都可以保存ECS实例的所有配置。在随后的任何时间,您都可以通过这个配置快速创建一个实例,并且不需要重新配置。而且每一个变化都可以通过版本来管理。就算你以前没用过,也很好用。可以从任何已有的实例快速生成启动模板,对应的配置就是这个实例的配置。
有了启动模板,除了快速创建实例,我们还可以在其他方面使用它。比如你目前需要创建一个高度灵活的Web应用,比如在线提供Web服务的场景,每天都有一个峰值。高峰期多使用资源,低高峰期少使用资源。这样就可以用现有的启动模板快速创建一个弹性扩展组。
比如它有定时模式。上午8: 00为业务高峰时,上午8: 00定时扩容,下午6: 00为业务低峰期,下午6: 00减机;第二,可以是动态模式,CPU超过50%时增加机器数量,CPU低于40%时减少机器数量;第三,手动模式,用户通过在本地构建系统来触发扩展和收缩活动。
此外,如果你想对整个过程有更全面的控制,我们还提供了生命周期挂钩的能力。比如当扩展组帮你收缩资源的时候,你发现实例上还有一些日志文件需要备份,你可以通过生命周期钩子拒绝当前的收缩行为,扩展组可以帮你保留资源;还有就是通知能力。任何扩张收缩都可以通过钉钉、短信、邮件通知到你。此外,扩展组还可以帮助您将实例与SLB和RDS同时连接,并通过这种方式帮助用户快速构建高度灵活的Web功能。
如果不需要具有持续灵活性的解决方案,只需要批量使用大规模计算资源,比如1000台机器。我们建议使用灵活供应组。灵活供应组旨在满足大规模交付计算能力的场景。比如目前需要10000个CPU,可以根据使用弹性调配组的容量模式设置为10000个CPU。系统会根据10000个CPU自动判断需要创建多少个实例。同时,根据自己的成本考虑,可以选择是用数量还是现货实例来承载自己的业务需求。
此外,我们有多种交付类型。其中有成本优化模式,每次创建系统都会用价格最低的实例来创建,让你的成本最小化;平衡模式可以帮助您创建多个可用区域,提高系统的高可用性。为了满足更多的场景,柔性供应组提供了三种交付模式来满足未使用的需求,包括持续交付的维护模式,帮助您始终保持所需的资源量,以及一次性交付的请求和即时模式,其中即时模式可以理解为RunInstances接口能力的升级版。在最初的运行实例中,
灵活性应该会让交付过程更顺畅,成功率越来越高。
如果利用以上弹性能力创造资源,可以轻松保证99.9%的弹性成功率,实现一分钟投放1000个ECS的效果。在此基础上,你可以快速搭建自己的弹性场景,任何快速且要求极高的弹性场景都可以通过这种方式快速搭建。
刚才讲了降低成本,低成本使用这些资源。我简单介绍一下现货实例,是后付费实例。它有两个特点,一个是低价,其价格在实际数量和原价的9折之间。另一种是容易被放,你可以按你能接受的价格出价。如果当前出价低于市场价格,则该实例可以被系统释放。关键是便宜,但是有被放出来的可能。
如果当前业务场景是基于全卷模型,还是部分按卷构建。你可以慢慢尝试用一些现货实例替换现有的定量实例。随着现货比例的增加,成本会无限趋近最低,实现九折。这时候你一定要问,如果我用了那么多现货实例,价格变化导致实例被释放怎么办?我的生意不会受影响吗?所以在这个基础上,我们提供更多的能力来避免这个问题。
首先,Spot实例规范都承载了自己的业务场景。如果现货实例价格过高,所有业务将被释放。因此,我们介绍了现场场景的优化。当您使用Spot实例时,您可以设置多个具有最低创建价格的实例规格,例如三个,如图中左侧所示。通过分解各种实例规范,您可以避免由单个实例的发布所导致的问题。
同时我们还叠加了第二个能力,现货自动补偿机制。如果不开启现货补偿机制,所有现货投放后会出现2分钟的断崖式异常,所有业务受损。如果开启了补偿机制,我们的系统会提前5分钟自动判断并创建一些替换实例。在这些实例发布之前,它们会被创建并自动替换。所以中间不会出现断崖式的异常。通过这两种方式,可以更方便地使用spot实例托管业务场景,同时达到降低整体资源成本的效果。
除了上述基本功能之外,还有一些自动化功能。这里有几个简单的例子。首先,我们提供了灵活扩展组的扩展规则能力,它有很多种类型。
常用缩放规则。它是这样定义的,当CPU大于20%时,将扩展四个ECS。一般这种模式适用于当前业务变化不频繁的场景,可以比作手动空调整。
逐步缩放规则。它是在常用的伸缩规则基础上的一种增强模式,可以设置多个区间,不同的区间可以有不同的处理方式。这样就可以根据自己的经验,判断在不同的负载情况下,需要扩充多少容量,才能承受业务压力,灵活性更高,可以类比成半自动空调整。
目标追踪扩展模式。全自动伸缩能力。有了这个策略,你只需要知道当前负载保持在什么水位。比如CPU保持在50%,系统会自动判断增加多少台机器或者减少多少台机器。这样整个过程完全不需要人工干预,更加顺畅。
在此基础上,我们又增加了一个缩放规则,即预测缩放规则。如果在任何扩展组中打开了预测性扩展规则,我们将使用机器学习模型来学习过去1到14天的整体资源使用情况和负载变化。然后预测未来两天的负载变化,根据预测结果以小时为单位自动生成扩展组的调度任务,提前做好资源准备。这种场景非常适合周期性的业务场景。比如你的网站有固定的日访问量时间和规模,就可以使用这种模式。打开后,不需要人工干预。
如果这个过程中出现一些突发流量,如何预测?同时,通过叠加现有的目标跟踪模式和其他模式,可以开启预测模式。通过可预测性保证日常周期性,通过目标跟踪模式应对突发情况。通过各种模式的叠加,最终达到有效稳定的效果。
接下来给大家分享一下滚动升级功能。滚动主要解决日常工作中经常遇到的发布问题。我们提供滚动升级,然后我们会自动帮你升级。今天只需要配置几批机器就可以了。更新前机器进入待机状态,此时不会对外提供任何服务。更新后退出待机状态,对外提供服务。然后,继续下一批。您还可以确定当前是重试、回滚还是继续。通过整个过程,最终达到释放效果。这种方式可以降低整体发布成本,帮助你更方便的完成日常的应用发布工作,而不是自己搭建一个发布系统。
刚才我们谈到了效率、低成本和自动化。我们来看两个客户的例子。首先是惠亮科技,它将在线广告业务放在弹性收缩产品上。因为它最终的广告收入是广告收入减去资源成本,所以它的资源成本很重要。同时,它也使用大量的资源,所以它使用灵活的产品。然后通过设置量和现货的组合,同时开启现货自动补偿机制,整体成本可以控制在3-4折。
第二个客观的例子是神石科技,一家做人工智能和分子模拟算法的公司。它的特点是所有的交互式任务。每个任务都需要大量的资源和严格的成本控制。因此,在这种情况下,选择全聚光灯模式。最小化成本,同时每次设定其现货最大值,保证不会超出整体成本边界,最终满足其整体业务场景。
03 如何高效的管理资源当你在阿里云上有了更多的资源,下一步如何高效管理?
因为管理资源有很多场景,这里只说三个场景:成本、效率、安全。
成本。当有很多团队参与资源的使用,有很多资源的时候,怎么知道哪些资源花了多少钱?如何知道每个团队资源的成本?效率
。如何快速连接资源,高效进行一些日常运维工作?安全。当子账户越来越多的时候,如何控制控件之间的调用权限以保证安全?
今天是阿里云推荐的最佳实践。希望你能用Tag把资源分组。
比如你在阿里云购买了各种类型的资源,这些资源属于不同的团队,不同的环境。比如其中一个团队是北京的信息部,这个团队的制作环境使用了多项资源。单从资源的角度来看,无法明确区分哪些是北京信息部的生产环境。但是,如果你把地区、部门、环境定义为标签,给例子贴上标签,那么你就可以切换到一个清晰的标签视角,它会根据标签自动给你。它可以由一个标签或多个标签分组,并且可以由您的场景定义。一个资源最多可以添加20个自定义标签。
一旦您标记了资源,许多事情就变得容易了。通过标签化的能力,可以轻松进行账号共享、运维、安全管控。
分组后,可以轻松实现账户划分和运维的效果。输入相关标签后,可以进入成本中心控制台,通过标签可以查询相应标签下的所有资源费用。可以按月、按日、按小时显示费用明细,达到快速分账的效果。如果需要查看多组标签交集下的资源情况,可以通过添加新的财务单元打开费用分析。财务单元的功能支持绑定多个标签来过滤费用。这里需要注意的一点是,标签计费是T+1。如果给资源添加标签,只能看到T+1之后的计费数据。
标签完成后,进入运维调度的控制台,就可以快速做资源运维相关的事情了。我们可以在运维调度控制台中找到:发送命令、执行脚本、批量重启、批量更新等相关操作。
同样,贴上标签后,就可以进入门禁后台。进行一些策略,叠加在Tag相关的信息上,对当前情况进行操作。API调用必须包含一个标记。否则,整个请求将被拒绝。这样就可以隔离每个账户的权限。
原文链接:301永久移动
本文为阿里云原创内容,未经允许不得转载。