弹性计算能力多年以来都是云计算发展的核心基础。因为企业可以借助云扩展的计算资源,按需、即时、弹性的获取,从而加速业务创新,将产品更快的投入市场。经过10多年的发展,云计算的增长毫无放缓的迹象,今天云端的计算能力在满足各种工作负载的同时,也在不断向边缘端延伸,无处不在。所以,云端弹性计算的不断创新和突破直接决定了云供应商的竞争能力。

2021年初,亚马逊云科技正式在中国市场落地了基于自研的云原生处理器Amazon Graviton2三类计算实例,这些实例的落地进一步为中国用户提供了更加多样的计算实例选择,同时也将更具性能和价格优势的计算资源带到了中国市场。

引领云原生处理器潮流底气何在?

作为云计算市场的领导者,亚马逊云科技目前在云端提供近400种计算实例类型,在业务构成上相当于传统上一家提供400种服务器型号的中大型服务器厂商。

一方面基于跟英特尔、AMD、英伟达、赛灵思等领先芯片供应商的深入、广泛的合作,不断将最新的芯片技术应用在云端,从而为企业提供多元化的实例选项;

一方面,通过在云端软硬件架构的创新,引领云原生处理器的潮流,为用户提供更具性价比计算实例的同时,继续夯实在云端弹性计算的领先优势。

根据Gartner的预测,到2022年将有75%的传统老旧应用被以云原生化的方式改造,将有75%的全球化企业将在生产中使用云原生的容器化应用。也就是说在企业通过云计算驱动数字化转型的进程中,迈向云原生是必然的举措,而这势必全面释放基于云原生处理器的弹性计算实例的技术红利。

亚马逊云科技作为云供应商,引领云原生潮流无可厚非,那么要引领云原生处理器的潮流,底气源自哪里?

就不得不提Amazon Nitro系统,该系统是满足云服务器虚拟化的引擎,它包括了亚马逊云科技在硬件和软件方面的创新。硬件方面,亚马逊云科技设计了一个Nitro卡,提供网络、存储、管理、安全和监控的功能,实现多租户隔离、私有网络和快速本地存储,从而便于打造高效、灵活、安全的云实例交付;软件方面,亚马逊云科技设计了一个非常轻量级的虚拟化管理程序。由于Nitro卡分担了相当大部分的虚拟化管理工作,Amazon Nitro虚拟化管理程序占用物理服务器系统资源非常小,这在很大程度上讲物理服务器性能交付给了工作负载,据了解Amazon Nitro虚拟化管理程序占用的系统资源通常不到1%。

此外,Amazon Nitro系统提供了独立的网络和存储卡来保证I/O性能,从而让其能够不断推出具备更高存储带宽和网络带宽的计算实例。

Amazon Nitro系统的另一个优势是让Amazon的计算实例在安全性方面更高。Nitro系统设计了一个专门的安全区域,用于临时存储实例中的个人身份信息、医疗保健、金融和知识产权数据等敏感数据。安全区域只提供与EC2计算实例的本地连接,没有持久性存储,没有管理员和操作员访问权限,只能被EC2实例本地访问,禁止包括亚马逊员工在内的所有管理员访问,从而消除人为错误和篡改的可能性,攻击面最小化,减少了漏洞风险。

基于以上软硬件的创新优势,亚马逊云科技从2013年开始定制Amazon Nitro芯片,并应用于云端的弹性计算实例中。2020年,亚马逊云科技已经在使用第四代的Nitro芯片和系统,作为所有计算实例的基础,这大大推动了其自研处理器的快速发展。

打开网易新闻 查看更多图片

亚马逊云科技大中华区云服务产品管理总经理顾凡

“Amazon Graviton系列芯片,是云平台里面第一款基于ARM处理器的实例,也是一个为云原生的应用而定制的处理器,Nitro系统起到了非常重要的关键作用”,亚马逊云科技大中华区云服务产品管理总经理顾凡说。

为云上现代化应用设计最优性能

为云上现代化应用设计最优的性能是亚马逊云科技不断演进和升级Amazon Nitro系统打造云原生处理器技术创新的核心。

Amazon Graviton作为业界第一款面向云原生去设计,适合运营现代化应用负载的处理器,已经被越来越多的云原生企业所青睐。

随着Amazon Graviton2的面世,很快吸引了许多客户和合作伙伴进行测试。“Amazon Graviton2比上一代的Graviton芯片,性能提升了几倍,基本上客户会看到47%-63%的性能提升”,亚马逊云科技大中华区产品部计算与存储总监周舸说。

回顾芯片多年来的发展,随着摩尔定律遇到瓶颈,频率的提升逐渐放缓,通过更多增加内核数量,来对多线程、多进程应用进行支持,这种变化也导致操作系统、软件的设计和应用架构也去适应芯片发展的特点,使得应用和编程工具等都更适合平行扩展的架构来匹配芯片并行处理的特点。随着微服务化应用的崛起,应用会将传统的单体应用拆分,分布在更好的微服务架构上,从而快速的平行扩展,这极大的利用了多核、多线程的芯片架构处理能力。

“与传统芯片考虑如何兼顾传统数据中心中原有应用架构,通过大核心,跑多线程,调整缓存多少不同。陈亚焱尝试将每个核的性能充分发挥出来,并在芯片中封装更多的独立核心,便于充分发挥平行扩展的能力”,周舸说。

如图,以基于英特尔X86架构的C5.large实例与基于Amazon Graviton2的C6g.large相比,任务在Amazon Graviton2中,有独立的物理内核,独享L1和L2缓存,这就能够大大提升实例的性能,从而最大程度的去适应现在云原生上可以平行扩展微服务化应用的需要。

Amazon Graviton2云原生处理器落地中国区域,带来了三个类别的实例,包括通用型M6g、计算密集型C6g、和内存密集型R6g,每个类别分别有8种资源大小可供选择,最大支持64个vCPU,累计24种实例。

Amazon Graviton2实例的应用范围也非常广泛,除了适用于基于ARM应用的游戏开发、Web应用前端等之外,因为对缓存设计的改变,大大扩宽了其应用领域,比如满足开源数据库、数据分析、高性能计算、流计算等应用上。更为重要的是,Graviton2在云原生,如微服务、容器应用方面具有天然的优势。

涂鸦智能是一家全球化的AI+IoT领军企业,主要为开发者提供一站式人工智能物联网PaaS平台,每天处理的设备请求次数在840亿次,请求高峰更是高达150万次每秒,云端服务器的响应时间小于10毫秒。

伴随全球化的步伐和业务增长,涂鸦智能一方面通过云来保证全球业务扩张应用的高可靠性和创新速度,一方面选择最优的云端弹性计算性能来满足业务的快速增长。

打开网易新闻 查看更多图片

如图,涂鸦智能的每个IoT设备都首先通过MQTT协议连接到云端。底层同时支持了TLS和QUIC。涂鸦智能是业界最先将QUIC用于MQTT协议的,它为其带来了更高性能的网络传输以及在入网环境下更好的表现。通过亚马逊云科技的Network Load Balancer负载均衡,将请求转发到后端具体的实例上。首先是Levimqm2m层用来保持一个TCP的长链接,做协议解析;然后将解析后的MQTT协议,交给后边的Levimqcore,做请求的处理以及转发、连接的认证健全等等。peadb是涂鸦智能自研的内存数据库,作用是存储每一个设备的连接状态、权限信息等等。目前三层应用已经全部切换到了Amazon Graviton2,上面第一层m2m是基于M6g的机器来构建,中间层是逻辑处理层,基于C6g,因为这一层需要更高的计算性能。

“Amazon Graviton2的架构非常符合涂鸦智能连接层的架构,因为我们的连接层本身就有轻量级的进程,Amazon Graviton2每个CPU核心的设计,每个进程都是隔离运行的,并且Amazon Graviton2也为我们提供了更大的缓存,整个CPU获得了非常好的提升”,涂鸦云端开发部首席架构师陈亚焱说。

在谈及迁移到Amazon Graviton2之后的效果时,陈亚焱表示,“根据测试数据,从原来基于x86架构的M5g实例迁移到Amazon Graviton2,CPU的性能提升了100%,服务器单价降低了20%,使得涂鸦智能的整体性价比提升了2.5倍。”