后羿射日般的精准 - 阿里云ECS调度是如何炼成的

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 弹性计算服务ECS(Elastic Compute Service)是阿里云营收的中流砥柱和流量担当。作为各行业客户新业务和技术创新的发动机和使能者,ECS不仅能在10分钟内交付出一个中等体量互联网公司所需的全部计算力,更能承载阿里集团双十一极大的峰值弹性需求以及互联网巨头客户业务高峰所需的计算力,帮助所有用户打破计算力边界的限制。

1.引子
弹性计算服务ECS(Elastic Compute Service)是阿里云营收的中流砥柱和流量担当。作为各行业客户新业务和技术创新的发动机和使能者,ECS不仅能在10分钟内交付出一个中等体量互联网公司所需的全部计算力,更能承载阿里集团双十一极大的峰值弹性需求以及互联网巨头客户业务高峰所需的计算力,帮助所有用户打破计算力边界的限制。而默默工作在舞台背后的正是ECS的调度系统,那个传说中的“后羿”。作为一个创建交付了不计其数的虚拟机的资源调度系统,后羿带来的感觉就像蒙娜丽莎的微笑,神秘而好奇。今天就让我们扒一扒“后羿”的前世与今生。

2.上古起源:后羿诞生
时光机回到2009年,那时全球的科技公司都在布局着云计算,演绎的精彩绝伦、百家争鸣,一如当下风口上的区块链、人工智能和新零售。也就在这一年,阿里云初试莺啼,在云计算领域开天辟地,自主研发了盘古、女娲、神农、夸父和伏羲。这些上古大神共同组成了阿里云的云计算基础系统平台--飞天Apsara系统。后羿的诞生也就水到渠成,它基于飞天将计算(Host)、网络(IP)和存储(Pangu块存储)等资源统一调度并通过虚拟化技术生产出一台台可交付给用户使用的虚拟服务器。2010年5月,第一个ECS集群在北京上线了。此时的后羿还是一个单纯的小朋友,干的活就是虚拟机生产线的流程控制,头脑(调度策略)也相对比较简单,因为一个集群内都是同等机型、同一网络Pod、同一个Pangu存储,所以基本都是按静态资源分配的方式进行调度选择。

3.工业革命:野蛮生长
唯快不破!是,就是这么快进入“工业革命”了!虽然后羿还没来得及懵懂几下,但因为ECS上线之后,业务量发展非常迅猛,妥妥地成为阿里云增长最快的业务,没有之一。ECS很快用事实证明以虚拟机的方式出售计算力是云计算商业化最合适的路径,它好比工业时代的蒸汽机,推动着阿里云进入了野蛮生长的时代。

ECS的规模很快达到了近百个飞天集群,而且每周都在继续部署新的集群,加上每周至少发布一个新版本,这样的节奏让我们原来维护和升级后羿系统的同学不堪重负。哇,那些年一起使出洪荒之力的同学,还记得苦苦挣扎的模样吗?伴随着规模的增长,后羿面对的简单小世界一下子变成了星辰大海,调度面临的复杂度与日俱增,需要突破网络Pod,需要突破机房。成长的烦恼不可避免,新的系统架构设计目标,大Region级别的资源管理调度能力,快速迭代开发……

好在借力集团的技术支撑,后羿采用了分布式服务的技术逐步重构演进。这期间最大的挑战是业务在发展,不可能停下来给我们几个月的时间去完成这个任务。我们使用先搭框架、再小步迁移的方案,在不影响业务发展的前提下,把一个一个功能模块,从功能迁移到数据迁移,逐步完成系统升级切换,用时髦的话讲这是给飞行中的飞机换引擎。换了引擎的后羿,从原来的单集群管控系统,升级到了基于分布式服务架构实现的大Region多机房管控系统;调度策略由原来的集群内简单的资源分配模型升级到目前经典的过滤器+权重因子评分模型;管理规模也由一套管控对应最大数百台物理机的集群变成了目前的一套管控可以管理数万物理机规模的集群。经过工业革命的锤炼,我们的后羿小伙子长大成人了。

这个时期ECS逐步完善的上层业务系统,主要提供了几大能力:
标准化的ECS Open API接口,对接官网售卖和API用户;
售卖约束,接入阿里云计费系统,实现了ECS特有的计费模式(包年包月、按量付费等);
在集群粒度配置业务属性和售卖规格,按用户的需求调度集群;
基本的库存服务和水位控制。

4.信息时代:渐入佳境
如果说工业革命时代是规模这个单维度纵向量的高速发展,那么信息时代则是个性化、多元化的多维度发展。一方面,ECS吸引了越来越丰富的客户群体,需求越来越多样化,包括不同的价格需求、稳定性需求、地域需求等等,这就需要ECS包装出不同特点的产品满足不同的客户场景。另一方面,ECS相关的技术爆炸也带来了“百家争鸣”的盛况:虚拟网络团队重点推出了用户可以定制的VPC网络;块存储团队推出高性能的SSD云盘和高性价比的混合SSD云盘,而ESSD云盘则实现了性价比和高性能的雌雄同体;虚拟化团队从最初的Xen全面迁移到KVM,同时推出了异构计算GPU、FPGA虚拟化技术,并开始自研新一代的弹性裸金属云服务器(神龙)。如此多的新产品和新特性对接的是底层几十种物理机型、多种网卡和网络架构、多种虚拟化方案和虚拟存储以及多种版本的虚拟网络。实现产品到资源的精准调度,并最大化资源使用效率,这,就是信息时代下的后羿系统需要提供的基本能力。

在野蛮生长期,集群级的调度由上层业务层负责、集群内的调度由后羿负责,因为当时每个集群部署一种业务,团队的设置也是按这样分两层。但现在为了支撑丰富的产品形态和优化库存效率,同一集群内的每个物理机都可能售卖不同的产品规格,原来那种分层的调度显然已经不合时宜了。我们进行了一次合体手术,重新定义了上下系统的职责分工,上层业务系统负责业务功能,下层后羿系统负责所有的调度相关逻辑。统一了调度逻辑,不仅仅大大提高了后羿的调度能力,同时可以让调度技术驱动产生了更多丰富的产品形态。列举下这个时期调度技术主要支撑的系统功能和产品:

弹无虚发-的精准调度
后羿基于Tag标签对资源进行分组和筛选,可在AZ大范围内实现精细的产品规格调度。丰富的权重因子,让后羿可以在多个目标下权衡出最优的调度决策,最佳配比装箱(最少碎片)那是最低要求,其他的随便举几个例子:
Deployment Set:满足用户自定义的部署位置要求,例如物理机粒度打散几个VM
资源消费打散:保障性能SLA,提升用户体验
客户VM打散
机架功耗平衡
……

神机妙算的库存精细管理
其实VM调度只是后羿的业务爱好,库存管理才是后羿的本职工作。由于产品形态的多样性,同一个地域同一个产品规格按不同付费类型、不同的付费时间计算出来的库存数据都是不同的!很多人知道电商的必杀技之一就是库存和供应链管理,后羿其实就是一个在网上卖VM的掌柜而已啦。他在背后可是耍了很多小聪明的:
库存水位控制:保障每个可用区的每个产品的在接近断供时可以保障刚需弹性扩容和升级需求;
库存共享:应付多种产品的不时之需;
库存预测:预测销售并相应地进行库存调配

卖跳楼价的竞价实例
1折的跳楼价后羿掌柜也敢卖?!是的,他已经卖好久了。这是一种叫竞价实例的游戏,而在游戏中坐庄的正是后羿。说白了,他就是把那些暂时空在那里的资源拿出来临时卖一下。为什么是”临时“?因为后羿在库存充裕时才卖竞价实例,库存紧张时就要收回去。但是回收实例也是有讲究的,不是随便回收的,比如要保证至少运行1小时,要提前5分钟通知,如此等等。那为什么要竞价?在资源紧张的地区多卖点钱?其实更重要的是跟库存的联动,是一种价格杠杆,让客户主动去选择价格便宜库存充足的地区和规格。这其实就是调度客户,背后的道道其实真不少。

火中取栗的性能突发实例
竞价实例虽价格便宜,量又足, 无奈的是因为它会被随时中止释放,所以适合的业务场景有限或者需要技术能力架构适配才能愉快使用。 有没有价格便宜,又不用担心被释放的高性价比实例类型呢?价格便宜、服务有保障的性能突发实例了解一下。这是后羿掌柜和ECS强大的虚拟化团队的一次高水平运作,可谓火中取栗。但在强大的技术保障下,后羿把一个物理线程掰成小片片拿出来卖,而且还能保障SLA。计算力在空闲时积攒人品(Credit),在需要突发计算力时来消费人品(Credit),未来还能拿钱来买Credit。

  1. 智能未来:演绎神话
    未来的大门已然开启,智能的时代已经到来。在经历了野蛮生长和丰富功能的阶段后,后羿步入了深水区,需要更多的智慧和更广阔的视野来精耕细作。云计算的核心竞争力之一就是性价比,后羿未来要做的就是数据驱动的全链路、精细化的库存调配和调度一体化的大闭环,并在各个环节上挖掘使用更智能的方法带来的红利,从数据的可视化、到运营的自动化到最后实现综合的智能化。

后羿的故事还在继续。伴随着ECS业务的发展,风风雨雨的路上,我们眼里一路奇峰异景,执着前进!块存储、虚拟化、虚拟化网络、ECS管控,一群有情有义的兄弟姐妹,一个凝聚力彪悍的团队。当然,后羿是站在了巨人的肩膀上,他的成长离不开飞天云计算平台强大的核心技术和阿里云各个产品的All-In支持!很庆幸在阿里集团,兄弟团队无私的合作和帮助,能让后羿未来真正可以成为一个业界的神话。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
25天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
28天前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
415 4
|
30天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
14天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。
|
1月前
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
807 1
|
3天前
|
弹性计算 运维 安全
阿里云ecs使用体验
整了台服务器部署项目上线
|
7天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器
|
7天前
|
弹性计算
阿里云ECS的使用心得
本文主要讲述了我是如何了解到ECS,使用ECS的一些经验,以及自己的感悟心得
|
8天前
|
弹性计算 安全
电子好书发您分享《阿里云第八代企业级ECS实例,为企业提供更安全的云上防护》
阿里云第八代ECS实例,搭载第五代英特尔至强处理器与飞天+CIPU架构,提升企业云服务安全与算力。[阅读详情](https://developer.aliyun.com/ebook/8303/116162?spm=a2c6h.26392459.ebook-detail.5.76bf7e5al1Zn4U) ![image](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_f422f7cb775444bbbfc3e61ad86800c2.png)
33 14
|
12天前
|
弹性计算 前端开发 Java
使用阿里云 mqtt serverless 版本超低成本快速实现 webscoket 长链接服务器
使用阿里云 MQTT Serverless 可轻松实现弹性伸缩的 WebSocket 服务,每日成本低至几元。适用于小程序消息推送的 MQTT P2P 模式。前端需注意安全,避免 AK 泄露,采用一机一密方案。后端通过调用 `RegisterDeviceCredential` API 发送消息。示例代码包括 JavaScript 前端连接和 Java 后端发送。
102 0

相关产品

  • 云服务器 ECS