基于英特尔®架构的阿里云服务网格ASM技术加速应用服务加密通信

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务架构的发展带来了诸多优势,然而这些分布众多的微服务也会增加安全性方面的挑战,每个微服务都是一个可被攻击的目标。为了提升网络通信的安全防护能力,有效对抗网络威胁,采用微服务架构的服务网格普遍采用了基于安全传输层协议(TLS)的安全数据传输。但同时,TLS协议中的非对称加解密会消耗大量的CPU资源,影响了服务网格的性能表现,并带来了较高的总体拥有成本(TCO)。

白皮书下载链接https://developer.aliyun.com/ebook/7817


概述

微服务架构的发展带来了诸多优势,然而这些分布众多的微服务也会增加安全性方面的挑战,每个微服务都是一个可被攻击的目标。为了提升网络通信的安全防护能力,有效对抗网络威胁,采用微服务架构的服务网格普遍采用了基于安全传输层协议(TLS)的安全数据传输。但同时,TLS协议中的非对称加解密会消耗大量的CPU资源,影响了服务网格的性能表现,并带来了较高的总体拥有成本(TCO)。


阿里云服务网格ASM采用第三代英特尔®至强®可扩展处理器集成的英特尔®密码操作硬件加速引擎(英特尔®CryptoAcceleration)相关技术,包括英特尔®高级矢量扩展512(英特尔®AVX-512),多缓冲区处理(Multi-Buffer)软件优化技术来加速双向安全传输层协议(mTLS)的算法实现,同时基于阿里云服务网格ASM产品的集成落地实践,为最终用户提供一键开启mTLS加速功能,实现安全和性能的兼顾。

背景

云原生技术Kubernetes为托管和编排微服务提供了一个出色的平台,但是默认情况下,微服务之间的所有交互均通过纯文本HTTP进行通信,这显然无法满足安全要求。如果只依赖网络边界来保证安全,一旦内部的某个服务被攻陷,边界安全手段就如马奇诺防线,攻击者可以利用该服务所在的机器作为跳板来攻击内网。


服务网格作为一个云原生应用通信的基础设施层,可以进一步控制和增强服务间的安全性。基于TLS协议的安全数据传输贯穿于整个服务调用的链路中,包括了外部对入口网关的HTTPS请求、网格内部服务之间的横向调用过程中的mTLS认证、以及从网格内部对外部的访问请求等。


在目前非常流行的ServiceMesh项目Istio中,其数据面Envoy无论是作为网格入口流量网关还是作为内部微服务的边车代理,都需要处理大量的mTLS请求。TLS协议作为网络安全通信的基石,一次会话的处理过程总体上可分为握手阶段和数据传输阶段,握手阶段最重要的任务是使用非对称加密技术协商出一个会话密钥,然后在数据传输阶段,使用协商出的会话密钥对数据执行对称加密操作,再进行传输。


但同时,mTLS加密算法的应用会带来较高的资源消耗。尤其在握手阶段的非对称加解密的操作,需要消耗大量的CPU资源,也会增加微服务调用之间的延迟时间和入口网关的服务响应时间,这在大规模微服务场景、计算资源有限的边缘计算场景等场景下,会带来棘手的性能挑战。因此,大量用户在希望通过服务网格技术实现更高的安全防护能力的同时,也对该技术所带来的性能压力心存顾虑。

image.png

1.服务网格的TLS 握手增加了服务之间调用的时延


解决方案:采用英特尔® Crypto Acceleration 优化的阿里云ASM

阿里云服务网格产品ASM (Alibaba Cloud Service Mesh) 提供了一个全托管式的服务网格平台,兼容社区开源Istio,用于简化服务的治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格可观测性能力,能够有效减轻开发与运维的工作负担。ASM 增强了多协议支持以及动态扩展能力,提供精细化服务治理,完善零信任安全体系,增加大规模集群支持能力,并融合了Multi-Buffer等技术来持续提升性能,降低服务网格使用门槛,助力客户在生产环境中进行大规模落地。

 

作为业内首个全托管Istio 兼容的服务网格产品,阿里云ASM在架构上保持了与社区、业界趋势的一致性,控制面的组件托管在阿里云侧,与数据面侧的用户集群独立。


image.png

2. 阿里云服务网格产品ASM 架构图


阿里云服务网格ASM 基础设施层为基于第三代英特尔® 至强® 可扩展处理器的阿里云第七代ECS 服务器。第三代英特尔® 至强® 可扩展处理器提供了多插槽内核计数密度,每个处理器最多可达40 个核心,与上一代产品相比,性能、吞吐量和CPU 频率显著提高[1]。基于该处理器的阿里云第七代ECS 服务器相较于上一代产品,单核性能提升30%,整机算力提升50% 以上[2],这为阿里云服务网格ASM 奠定了坚实的性能基础。

 

该服务器提供了若干不同的实例类型,并集成了搭载Multi-Buffer技术的最新Envoy 上游版本,提供了基于英特尔® Multi-Buffer 技术的TLS 加解密性能优化能力,为最终客户的落地实践提供了卓越的平台支撑。  

[1]更多信息详见https://www.intel.cn/content/www/cn/zh/products/docs/processors/xeon/3rd-gen-xeon-scalable-processors-brief.html

[2]更多信息详见https://developer.aliyun.com/article/783678。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。


英特尔® Crypto Acceleration及 Multi-Buffer 解决方案

英特尔通过指令集的创新、微体系结构的改进和软件技术的优化,在降低和优化密码算法的计算成本方面一直处于业界领先地位。第三代英特尔® 至强® 可扩展处理器引入了英特尔® Crypto Acceleration,大大提升了加解密性能,能够显著加速TLS 等流行的协议应用。

英特尔® Crypto Acceleration 提供了公钥加密(Public-Key Cryptography)功能,能够通过新的指令集AVX512_IFMA,提供对公钥加密中常见的“大数”乘法的支持。


英特尔® Crypto Acceleration 还搭载了Multi-Buffer 多缓冲区处理技术,Multi-Buffer 是一种用于并行处理密码算法中多个独立数据缓冲区的创新高效技术,最多可支持八个操作请求(如RSA 加密算法处理),每个请求都相互独立,因此可以同时进行处理。

image.png

3.集成于第三代英特尔® 至强® 可扩展处理器的英特尔® Crypto Acceleration


目前英特尔® Multi-Buffer 技术通过英特尔® 集成性能基元(英特尔® IPP) 集成的Cryptography Multi-buffer Library加密库向上对TLS 应用提供接口调用,该库基于英特尔® AVX-512 操作提供了RSAECDSA 等算法的多缓冲区优化版本。

 

Envoy 使用的TLS 实现库是BoringSSL Library,其提供了一个名为Private Key Provider 的框架,可以集成外部自定义的加解密操作实现。用户只需按照Private Key Provider 框架要求实现相关的功能接口,这里阿里云针对英特尔® Multi-Buffer 技术实现了一个名为CryptoMB Private Key Provider Extension

 

用户需要将BoringSSL 中的TLS 握手的过程实现为异步模式,才能利用英特尔® Multi-Buffer 技术的优势,并行处理8 个这样的异步操作。在这些异步操作中,还可以结合使用AVX512 指令处理,大大提高了整体性能。为了平衡TLS 握手请求处理吞吐量和时延的关系,英特尔还引入了一个计时器的变量进行控制。在TLS 操作填满8 个缓冲区或者Timer 计时器超时两个条件满足其一时,当前缓冲的所有TLS 操作都将会被一次性处理。

 

Envoy 1.20 及后续的版本已经集成了英特尔® Multi-Buffer 技术,Envoy 的配置文件可以根据运行的平台是否支持Crypto Acceleration 架构功能进行配置。一旦启用该功能,Envoy TLS 配置除了Private Key 的路径信息,还需要指定CryptoMB Private Key Provider 以及计时器信息。这些配置也可以集成到外部控制面实现中,如最新的Istio 项目1.14 版本已经支持该功能,并且实现了对网格级别,网关级别或者特定工作负载级别的配置,实现了灵活、精细化的功能管理。


英特尔® Multi-Buffer 在阿里云 ASM 的落地实践

 

为了更好地通过英特尔® Multi-Buffer 技术来加速云服务网格的加解密性能,阿里云ASM 通过如下步骤以启用英特尔® Multi-Buffer 技术:

image.png

4. 阿里云ASM 启用英特尔® Multi-Buffer 流程图


  1. 在服务网格控制面,通过扩展MeshConfig 实现对Multi-Buffer配置的支持。配置的信息除了包括必需的Private Key的文件和相应路径,还有CryptoMbPrivateKeyMethodConfig类型,以及每个线程处理队列的等待时间poll_delay


  1. 数据面结合英特尔开源的IPP Crypto LibraryCryptoMB Private Key Provider 实现。ASM 服务网格实现了TLS  握手操作的加速,以处理更多连接,降低延迟并节省  CPU 资源用于其他业务。


  1. 最后通过CPUID feature flags 或者机器型号, ASM 将启动Multi-Buffer功能的节点调度到资源池中对应的Ice Lake 处理器机型上。


目前,英特尔® Multi-Buffer已经在阿里云ASM 产品的最新版本中对外开放,在阿里云ASM 控制台中,用户可以通过性能优化开关一键地启用此功能,从而实现加解密性能的提升。

为了测试英特尔® Multi-Buffer 对于性能的影响,阿里云将通用型实例规格族g7 作为Kubernetes 节点,并验证英特尔® Multi-Buffer 启用前后,阿里云ASM 每秒查询率(QPS) 的变化。

 

测试数据如图5 所示,在启用Multi-Buffer 功能后,阿里云ASM QPS 75%[1]的性能提升。如果使用的是弹性裸金属节点,提升的性能幅度将更高。


image.png

5.启用Multi-Buffer前后的阿里云ASM QPS 对比


[1]数据援引自阿里云内部测试结果。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。


客户价值:更低的资源损耗,更高的性能

通过采用集成了Multi-Buffer 技术的英特尔® Crypto Acceleration,阿里云服务网格ASM 显著提升了TLS 应用的性能表现,降低了CPU 资源开销。同时,由于硬件资源得到更加充分的利用,用户能够降低在云实例采购等方面的成本,提升云服务网格应用的整体投资回报。

目前,搭载Multi-Buffer TLS 加速功能的阿里云服务网格ASM 产品已经得到广泛应用,帮助用户有效提升HTTPS/TLS 的应用的请求效率。

以震坤行工业超市(上海)有限公司(以下简称:震坤行)为例,该企业成立于1996 年,是一家服务于工业领域与制造业的一站式工业用品服务平台。震坤行经营了32 条产品线,500 余万种工厂使用的辅料和易耗品(MRO)。随着业务不断快速发展,公司亟需提升数字化竞争力,延伸价值链条。在云上搭建新业务流程研发系统,通过容器化技术进行云原生优化改造,解决业务应用部署中碰到的不稳定、上线人工干预过多、无法稳定升级等问题。

image.png

6.阿里云服务网格ASM 在震坤行的应用架构


在震坤行的案例中,有500 多个具有不同TLS 证书的子域名。每个子域名服务于不同的业务单元,接收不同的HTTPS 请求。在性能方面,被高频调用的应用服务依赖HTTPS 通信,服务间需要处理大量的TLS 请求,在握手阶段执行非对称加解密的操作时,消耗了客户大量CPU 资源,同时带来性能瓶颈。

在启用阿里云服务网格ASM Multi-Buffer技术之后, 请求中的TLS 处理效率提升了两倍多,整体系统请求处理能力提升了80 % 以上[1]。此外,针对特定的业务应用, 当启用了mTLS 和授权策略之后,TLS 连接握手性能也提升了两倍多[2]。测试结果显示,启用Multi-Buffer前后的http_req_waiting平均时间由原来的102.88ms 减少为40.71ms,等待时间减少了250~260%[3],同时tls_handshaking的时间也相应减少。

[1]数据援引自阿里云内部测试结果。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。

[2]数据援引自阿里云内部测试结果。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。

[3]数据援引自阿里云内部测试结果。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。


展望

除了Multi-BufferAVX512 之外,阿里云和英特尔在云原生服务网格技术方面还开展了更为广泛的合作。双方正在探索基于第四代英特尔® 至强® 可扩展处理器进行深度优化,该处理器集成了针对网络安全专用的加密操作加速器英特尔® Quick Assist Technology (英特尔® QAT),能够将高性能安全性、私钥保护和压缩/解压缩等场景的负载从CPU 卸载到QAT 中,有效提升应用程序和平台的性能。第四代英特尔® 至强® 可扩展处理器还提供了英特尔® 动态负载均衡器(英特尔® DLB),每秒可处理几百万个队列管理操作,在CPU 内核之间高效分配网络处理。


随着阿里云服务网格产品ASM 在零信任安全体系的持续完善,以及对各种客户特定场景下性能要求的不断提高,英特尔将携手阿里云在云原生服务网格领域推出更多高性能、高安全性的创新产品与方案,助力业内的最终客户在生产环境中进行大规模落地,充分满足基于云原生技术的基础设施的构建需求,为数字化转型奠定坚实基础。


关于阿里云

阿里云创立于 2009 年,是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。阿里云服务着制造、金融、政务、交通、医疗、电信、能源等众多领域的领军企业。


关于英特尔

英特尔(NASDAQ: INTC)作为行业引领者,创造改变世界的技术,推动全球进步并让生活丰富多彩。在摩尔定律的启迪下,我们不断致力于推进半导体设计与制造,帮助我们的客户应对最重大的挑战。通过将智能融入云、网络、边缘和各种计算设备,我们释放数据潜能,助力商业和社会变得更美好。如需了解英特尔创新的更多信息,请访问英特尔中国新闻中心newsroom.intel.cn 以及官方网站 intel.cn


实际性能受使用情况、配置和其他因素的差异影响。更多信息请见www.Intel.com/PerformanceIndex

性能测试结果基于配置信息中显示的日期进行测试,且可能并未反映所有公开可用的安全更新。详情请参阅配置信息披露。没有任何产品或组件是绝对安全的。

具体成本和结果可能不同。

英特尔技术可能需要启用硬件、软件或激活服务。

英特尔未做出任何明示和默示的保证,包括但不限于,关于适销性、适合特定目的及不侵权的默示保证,以及在履约过程、交易过程或贸易惯例中引起的任何保证。

英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。

© 英特尔公司版权所有。英特尔、英特尔标识以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。其他的名称和品牌可能是其他所有者的资产。


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
4天前
|
弹性计算 数据库 Docker
学习阿里云架构设计知识2-wp搭建及配置
VPC分区清晰架构,VSW网络分隔,CEN连通VPC,按量付费小规格,均衡策略,ESS/ACK内置SNAT,ECS用NAT上网。建DMZ需VPC、VSW、NAT、EIP。主系统多VPC/VSW配ECS和Redis,CEN全连接。CEN设路由表,外网访问设DMZ、CEN、EIP,加堡垒机。Web系统ACR部署WordPress,配数据库。验证WordPress、弹性伸缩,测外访、发文、负载。含架构图。
33 1
学习阿里云架构设计知识2-wp搭建及配置
|
2天前
|
运维 负载均衡 监控
探索微服务架构下的服务网格
【5月更文挑战第17天】 在当代软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选模式。然而,随之而来的复杂性问题也日益凸显,特别是在服务间的通信管理上。服务网格(Service Mesh)作为一种新兴的解决方案,专门处理服务到服务的通信问题,旨在提供一种更加智能和动态的方式来管理微服务环境中的流量和服务依赖。本文将深入探讨服务网格的概念、优势以及如何在微服务架构中实现高效通信。
|
3天前
|
设计模式 监控 安全
探索微服务架构下的服务网格
【5月更文挑战第16天】 随着现代软件系统向着复杂、动态和分布式的方向发展,传统的单体应用逐渐演变为更加灵活的微服务架构。在这一转变过程中,服务网格(Service Mesh)作为一种创新的基础设施层,正逐渐成为组织实现微服务治理的新宠。本文将探讨服务网格的基本概念、它在微服务架构中的作用以及它如何简化分布式系统的复杂性。通过对服务网格深入剖析,我们将了解其在提高系统可观测性、安全性及容错能力方面的独特价值,并探讨其对企业技术战略的影响。
|
4天前
|
弹性计算 负载均衡 容灾
应用阿里云弹性计算:打造高可用性云服务器ECS架构
阿里云弹性计算助力构建高可用云服务器ECS架构,通过实例分布、负载均衡、弹性IP、数据备份及多可用区部署,确保业务连续稳定。自动容错和迁移功能进一步增强容灾能力,提供全方位高可用保障。
72 0
|
4天前
|
监控 负载均衡 数据安全/隐私保护
探索微服务架构下的服务网格(Service Mesh)实践
【5月更文挑战第6天】 在现代软件工程的复杂多变的开发环境中,微服务架构已成为构建、部署和扩展应用的一种流行方式。随着微服务架构的普及,服务网格(Service Mesh)作为一种新兴技术范式,旨在提供一种透明且高效的方式来管理微服务间的通讯。本文将深入探讨服务网格的核心概念、它在微服务架构中的作用以及如何在实际项目中落地实施服务网格。通过剖析服务网格的关键组件及其与现有系统的协同工作方式,我们揭示了服务网格提高系统可观察性、安全性和可操作性的内在机制。此外,文章还将分享一些实践中的挑战和应对策略,为开发者和企业决策者提供实用的参考。
|
4天前
|
负载均衡 监控 Go
Golang深入浅出之-Go语言中的服务网格(Service Mesh)原理与应用
【5月更文挑战第5天】服务网格是处理服务间通信的基础设施层,常由数据平面(代理,如Envoy)和控制平面(管理配置)组成。本文讨论了服务发现、负载均衡和追踪等常见问题及其解决方案,并展示了使用Go语言实现Envoy sidecar配置的例子,强调Go语言在构建服务网格中的优势。服务网格能提升微服务的管理和可观测性,正确应对问题能构建更健壮的分布式系统。
30 1
|
4天前
|
运维 监控 负载均衡
探索微服务架构下的服务网格(Service Mesh)实践之路
【4月更文挑战第30天】 在现代云计算的大背景下,微服务架构以其灵活性和可扩展性成为众多企业转型的首选。然而,随着服务的激增和网络交互的复杂化,传统的服务通信模式已无法满足需求,服务网格(Service Mesh)应运而生。本文通过分析服务网格的核心组件、运作机制以及在企业中的实际应用案例,探讨了服务网格在微服务架构中的关键作用及其带来的变革,同时提出了实施过程中面临的挑战和解决策略。
|
4天前
|
人工智能 分布式计算 Cloud Native
阿里云PAI平台架构介绍
阿里云PAI平台架构介绍
29 0
|
4天前
|
运维 监控 负载均衡
探索微服务架构下的服务网格(Service Mesh)实践
【4月更文挑战第28天】 在现代云原生应用的后端开发领域,微服务架构已成为一种广泛采用的设计模式。随着分布式系统的复杂性增加,服务之间的通信变得愈加关键。本文将深入探讨服务网格这一创新技术,它旨在提供一种透明且高效的方式来管理、监控和保护微服务间的交互。我们将从服务网格的基本概念出发,分析其在实际应用中的优势与挑战,并通过一个案例研究来展示如何在现有的后端系统中集成服务网格。
|
4天前
|
消息中间件 监控 微服务
【专栏】随着技术发展,未来将探索服务网格、容器化和云原生技术,以提升微服务架构的效能
【4月更文挑战第27天】本文探讨了构建高效微服务架构的后端开发最佳实践。微服务以服务独立、去中心化、自治和轻量级通信为核心原则,带来可扩展性、独立性、技术灵活性和团队协作优势。实践中,要注意服务拆分粒度、选择合适的通信协议(如RESTful、RPC、消息队列)、处理数据一致性与分布式事务、实施服务治理和监控,以及确保安全性与权限控制。随着技术发展,未来将探索服务网格、容器化和云原生技术,以提升微服务架构的效能。

相关产品

  • 服务网格