云计算的春晚,亚马逊云科技re:Invent全球大会近日如约而至。亚马逊云科技高级副总裁Peter DeSantis带来主题演讲,并从性能、性价比、安全三方面因素综合考虑带来的创新和发布。

协议与功能更新:Lambda性能实现突破

SRD协议:Scalable Reliable Datagram(可扩展可靠数据报)

除了硬件与实例,会上,Peter也表示,一切性能改进都源自创新,但又不仅仅是创新,为了达到最佳性能,软硬件设施要高度融合、协同发展。

此次re:Invent,亚马逊云科技发布了一种SRD(可扩展的、可靠的数据报)网络协议。SRD全称是“Scalable Reliable Datagram”,代表可扩展的、可靠的数据报。Peter在此次发布会上重新强调SRD协议的重要性,该协议提供跨多条路径的负载平衡以及从丢包或链路故障中快速恢复功能,且性能优于TCP协议。

打开网易新闻 查看精彩图片

以TCP为代表的传统网络协议,为了保证网络传输的高可靠性,会尽可能地将包发送至同一拓扑路径上,并且通过握手、挥手、超时重传机制保证包正确送达。SRD的创新在于刻意地在多个路径分别发包,虽然包到达后通常是乱序的,但亚马逊云科技实现了在接收处以极快的速度进行重新排序,最终在充分利用网络吞吐能力的基础上,极大降低传输延迟。

另外,TCP是个泛用协议,在今天的低延时场景,泛用的解决方案生存空间越来越狭小。我们固然可以通过各种优化、定制去对其作提升,但迭代的终点实际上就是创新。SRD协议是围绕Nitro等一些系列硬件作专项优化的,可以将丢包重传的延时从毫秒级降低到微秒级,这彻底改变了我们对网络传输协议延时极限的推演,也验证了大型云计算服务提供商,开发自有定制化硬件的必要性。

新发布ENA Express

发布会上,亚马逊云科技还宣布推出了适用于Amazon EC2实例的Elastic Network Adapter(ENA)Express。ENA Express是一项新的ENA功能,它以SRD协议为基础,以两种主要方式提高网络性能:更高的单流带宽(从5Gbps最高提升至25Gbps)和更低的延迟。

打开网易新闻 查看精彩图片

分布式存储系统和实时媒体编码等工作负载需要巨大流量,并且对延迟变化极为敏感。在推出ENA Express解决方案之前,用户通常会使用多路径TCP来增加带宽,但这会增加复杂性,有时可能造成与应用层不兼容。而当服务器因请求而过载时,TCP也无法处理拥塞。这种情况下,可借助SRD专有协议,通过高级拥塞控制、多路径和直接从Nitro芯片重新排序数据包来实现这些改进。启用ENA Express是一个简单的配置,它使得启用SRD就像为EC2实例使用单个命令或控制台切换一样简单。与TCP相比,ENA Express能够将流量的P99延迟减少50%,P99.9延迟减少85%。

新发布Lambda SnapStart

此外,本次发布会另外——值得关注的重大发布就是Amazon Lambda SnapStart。Amazon Lambda是一项计算服务,是Serverless技术的先驱者和代表作品,可让使用者无需预置或管理服务器即可运行代码,它在可用性高的计算基础设施上运行代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量调配和弹性伸缩和记录。

对于许多企业来说,Amazon Lambda最大的优势就是模型操作简单、价格经济实惠。但许多团队在调整服务来部署Amazon Lambda时面临着一大挑战——冷启动,也就是为功能准备新的执行环境时产生的延迟,通常要经历更长的初始化时间。这是Serverless自诞生以来一直存在的技术障碍,此次Amazon Lambda SnapStart新版本的发布正弥补了这一不足。

据Peter介绍,Lambda SnapStart版本是基于Java函数的重大改进,专门解决了Java函数冷启动引起的延迟问题。Lambda SnapStart可将Lambda函数冷启动持续时间从超过6秒降低至不到200毫秒,并使延迟率降低90%,而且无需额外费用,而且通常无需更改用户的功能代码。

解决Serverless冷启动问题的惯性思路是加入更多的缓存,但对于亚马逊云科技来说,成本开销的平衡必须被考虑其中,因此该方案还不够好。终版方案的关键之一在于引入了Amazon Firecracker,这种发布于2018年的开源KVM虚拟化技术,以极低的开销和启动、关闭速度帮助亚马逊云科技搞定了Lambda SnapStart面对的技术问题。Firecracker的每个实例被称为microVM,每个Firecracker microVM仅使用大约5 MiB,也就是5.24 MB的内存。这意味着可以在单个虚拟CPU上运行数千个Firecracker microVM。

值得一提的是,Peter称Amazon Lambda SnapStart版本自发布起免费向公众开放。