截止到2021年底,每天有大约6000万个实例在亚马逊云科技上启动和运行,这是数字是2019年的两倍。这说明,云计算正在以不可阻挡的趋势滚滚向前发展,亚马逊云科技的业务规模也以不可阻挡的趋势快速行进。
除了很多基于Amazon Elastic Compute Cloud(Amazon EC2)提供的托管服务以外(比如Amazon Relational Database Service(Amazon RDS)),这里面应该有很大一部分实例都是以Amazon EC2的形式直面用户,Amazon EC2是一项特别基础又很重要的服务,换句话说,Amazon EC2就是许多人(组织)云上之旅开始的地方。
今天揭秘全球众多用户选择亚马逊云科技的原因之一,带大家了解Amazon EC2计算的领先性。
Amazon EC2的领先性,远不只是Amazon Graviton
说这一话题,想说的太多,一时间不知从何说起。Amazon EC2实例类型之多,一时间我也数不清楚,上图大致点出了主要的计算实例类型,按照应用场景,可分为通用型、计算优化型、存储优化型、内存优化型以及加速计算型。
随着AMD在数据中心市场的崛起,随着亚马逊云科技自研ARM处理器Amazon Graviton投入了大规模使用,亚马逊云科技彻底改变了只有英特尔x86可用的局面,在基础设施技术架构方面获得了更强的掌控力,也给了用户丰富多样的选择。
特别是Amazon Graviton发布以来,通用计算生态发生了历史性变化,它不仅带来了颇具颠覆性的性价比(Amazon Graviton2比x86平台的性价比高出40%,Amazon Graviton3比Amazon Graviton2又高出了25%),更重要的是,Amazon Graviton还用实际行动证明了,只有云才能真正让ARM服务器与x86分庭抗礼。
构建新的通用计算架构生态是个世界级难题,技术本身都不是最难的,最难的点有两个:一个是得有丰富的应用生态,用户能轻松用起来;一个是有很大的出货量,这样才有成本优势。
两者类似于先有鸡还是先有蛋的问题,那要如何破局呢?
过去几年,亚马逊云科技自己下手普及Amazon Graviton的应用场景,将许多服务交由Amazon Graviton实例来运行(比如Amazon RDS),用户在不知不觉中用上了Amazon Graviton,应用生态和用户量同步推进。
使用了Amazon Graviton的亚马逊云科技 Serverless服务
在性价比的吸引力之下,另外一部分用户则是将部分新型应用直接放到Amazon Graviton上,或者将老应用迁移至Amazon Graviton。这一过程中,积累了大量用户,也构建了越来越丰富的应用生态。
2021年底采访中,在被问到中国用户对于Amazon Graviton接受度如何时,亚马逊云科技大中华区产品部计算与存储总监周舸没有介绍具体数字,但脸上难掩内心的喜悦,随后,亚马逊云科技大中华区产品部总经理顾凡补了一句,“他的业绩表现非常好”。
与Amazon Graviton在企业级市场类似,隔壁苹果自研的基于ARM的M1芯片也成了消费级市场上的一颗耀眼的明星,更巧的是,M1发布的2020年,苹果的mac电脑也插上Amazon Nitro卡,摇身一变成了全新的M1 EC2实例,又过了一年,连M1芯片的苹果电脑也成了EC2实例。
亚马逊云科技不仅提供了所有常见和不常见(2022年,mac实例仅此一家)通用计算实例,在加速计算领域,还提供了基于AMD、英伟达的GPU以及FPGA加速卡的实例,面向机器学习场景,还推出了基于自研推理和训练芯片的加速计算实例,构建了百科全书级别的云计算实例体系。
我还想说的是,上图显示的是目前大部分可以买到的老实例,并不意味着老实例没有了,前不久发现了亚马逊云科技的一个“骚操作”让人由衷佩服,说的是用Amazon Nitro卡模拟旧的硬件,让用户可以继续使用老实例。
这点亚马逊云科技没怎么大张旗鼓地说,但想来确实很难得。因为运行这些老实例的硬件已经基本快退休了,不太能稳定正常工作了,运维管理成本也会特别的高,亚马逊云科技并没有把用户强行赶到老实例上,而是给了用户不迁移的自由,也给了用户充分的安全感,很贴心。
无论是创建各种实例还是延续老实例,站在背后的都是Amazon Nitro,Amazon EC2实例之所以如此丰富,也是因为Amazon Nitro,现在再来看Amazon Nitro卡,已经是Amazon EC2的灵魂。
Amazon Nitro——Amazon EC2的灵魂
几年前,初识Amazon Nitro的我惊叹于它在Offload方面带来的巨大变革,回顾过往,Amazon Nitro一步步Offload CPU上的Hypervisior,去除虚拟化的性能损耗,为用户交付足量计算力,是降本增效的一把好手,也是提升性能和稳定性的重要手段。
Amazon EC2的虚拟化技术变迁:从全由软件模拟到全由硬件支撑,近似裸金属性能
Amazon Nitro的出现使得云计算整个业态都发生了变化,一样的处理器,一样的内存,一样的主板,一样的网卡,而Amazon EC2多了一个Amazon Nitro。这意味着,一样的灵活性,而Amazon EC2有不一样的性能,使得亚马逊云科技 Amazon EC2从一众云厂商中脱颖而出。
随后的两三年,陆续看到了NVIDIA发布的BlueField以及英特尔发布的IPU,在笔者看来,两者就是Amazon Nitro的跟随者,这是亚马逊云科技作为云势力向信息产业输出的一套杰出的实践,通俗点说,这是云厂商在教芯片巨头做芯片。
刚才提到的Offload其实是在说Amazon Nitro的第一大功能——Nitro Hypervisior,它首先承包了原本CPU需要扛起来的Hypervisior,消除虚拟机的性能损耗,从而让云主机输出近似裸金属的性能。
此外,Amazon Nitro还承包了一系列系统功能,包括VPC网络、EBS块存储、系统控制器等功能,另外,在安全方面,Nitro将安全芯片集成到主板上,提供硬件层的安全验证能力。
至此,Amazon Nitro将网络、存储、虚拟化(Hypervisior)和安全四大类功能从CPU侧卸载到DPU中,依托于Amazon Nitro来提供各种IaaS服务,将IaaS层的各类云服务融入到了Amazon Nitro中。
此时,亚马逊云科技 Amazon EC2与其他云厂商的云主机已经有了根本性的区别。Amazon Graviton通用处理器加上Amazon Nitro,多个核心技术都由亚马逊云科技来自由掌控,就好比隔壁苹果电脑区别于Windows兼容电脑,苹果手机区别于安卓手机一样。
近两年来,Amazon Nitro不断加入更多内涵,比如,在安全方面, Amazon Nitro Enclaves提供了一个隔离的计算环境,它可以保护并安全地让Amazon EC2处理高度敏感的数据。
2022年,亚马逊云科技还将推出Amazon NitroTPM,它为系统生成、存储和使用秘钥。TPM可以用来校验系统的完整性和安全性,Amazon NitroTPM的加入将意味着那写需要TPM的应用也能在Amazon EC2上运行了。
2021年re:Invent上,Amazon Nitro家族迎来了新成员——Amazon Nitro SSD,云厂商自研SSD已经不是新鲜事儿,自研会提升对于SSD的掌控力,掌握Firmware的更新迭代节奏,最大化SSD的价值,让性能变得更可控,可预测。
计算的高级阶段,横向扩展的大规模集群
鉴于对于云技术的深度掌控,亚马逊云科技在应用场景上不断突破新边界,2021年re:Invent上,亚马逊云科技发布大型机现代化服务,云技术架构用的低成本硬件替代专有高成本硬件的变革之路,已经铺到了IBM大型机门前。
云技术的技术核心就是分布式架构,分布式技术的挑战就是要在不那么可靠的低成本硬件上构建可靠的服务。其实,多年前没有云的时代就有许多聪明的工程师致力于此,但公有云将分布式架构发扬光大,并对整个行业都产生了深远影响。
时至今日,用户对于云的需求也比较明确,希望利用云的弹性和灵活性,当计算需求增大的时候就添加更多资源,当需求缩减的时候就关停资源,以此应对,业务高峰期的流量,也避免业务低峰期的资源浪费。
2021年,亚马逊游戏发布了一款叫《新世界》的MMORPG(大型多人在线角色扮演游戏,游戏类型与《魔兽世界》一样)游戏,游戏的地图很大,画面制作精良,在欧美热度很高。从技术的角度看,这款游戏其实是一个大规模的分布式系统。
该游戏有一个叫“世界”的概念,相当于一个游戏区,每个区被切分成了14个方格,一台Amazon EC2负责2个方格里的各种事务,包括NPC之类的,有意思的是,玩家在地图上来回走的时候,完全不需要反复加载的过程,从技术角度看,玩家其实是切换Amazon EC2服务器而已。
玩家操控的角色所需的Amazon EC2资源则来自横跨整个Reigon的资源池(Instance pool),按照在线人数进行调配。每个“世界”可容纳的玩家有限,游戏刚上线的时候一共有185个“世界”,由于热度很高,随后不到10天就扩展到了500个“世界”,如果不是云架构则很难在短时间内完成。
此外,这套分布式系统还使用了多种Serverless服务承担一些非核心任务,使用了数据分析技术来帮助优化游戏,还使用了Amazon DynamoDB记录游戏的状态,在Amazon DynamoDB的帮助下,即使所有Amazon EC2实例都宕机了,也能快速恢复,架构可以提供极强的冗余性和业务连续性。
说到集群规模,亚马逊云科技用集群来提升机器学习的训练效率,解决训练大规模机器学习模型的难点,不断提升训练GPT-3的训练效率。
上图中,从P3dn到P4d再到Trn1n,一方面用于训练的芯片从英伟达V100升级为A10,最后换成了自研的Amazon Trainium芯片,另一方面,通过不断优化集群网络,提升网络的传输带宽减少集群间数据通信的开销。
最终,两周内训练完成GPT-3所需的实例数量大大缩减,未来更大规模的机器学习模型训练可以通过扩展规模来进行应对,因为机器学习模型继续膨胀是必然趋势,因此,将训练集群规模扩大将会是非常重要的能力,而这些能力,都来自云。集群规模的优势是分布式存储架构追求的目标。
小结
对内,亚马逊云科技可以从各个关键技术层面上进行优化和创新,从Amazon Graviton核心通用计算芯片技术,到云计算关键的虚拟化技术,再到大规模集群的快速构建能力,亚马逊云科技全面掌控。
对外,亚马逊云科技塑造了极强的技术影响力,亚马逊云科技Amazon EC2实例的命名规则被大部分云厂商借鉴,Amazon Nitro引领的DPU成了云计算发展的重要方向,一些亚马逊自己的标准也成了行业标准,比如S3,亚马逊云科技自己的突破也为行业发展起到了牵头示范作用。
对于用户来说,亚马逊云科技能提供的是世界一流的云计算服务,总能给用户带来新的惊喜,如果说下一步亚马逊在计算上有什么新突破的话,我拍脑门随口一说,会不会是把苹果手机也插上Amazon Nitro卡呢,不知道广大iOS开发者怎么看?