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

本文涉及的产品
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 微服务架构的发展带来了诸多优势,然而这些分布众多的微服务也会增加安全性方面的挑战,每个微服务都是一个可被攻击的目标。为了提升网络通信的安全防护能力,有效对抗网络威胁,采用微服务架构的服务网格普遍采用了基于安全传输层协议(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

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

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

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

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

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

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


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
18天前
|
运维 持续交付 开发工具
深入浅出:GitOps在微服务架构中的应用
【10月更文挑战第26天】本文深入探讨了GitOps在微服务架构中的应用,介绍了其核心理念、自动化部署流程和增强的可观测性。通过实例展示了GitOps如何简化服务部署、配置管理和故障恢复,并推荐了一些实用工具和开发技巧。
|
10天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
10天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
38 5
|
11天前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
9天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
9天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
17天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
53 1
|
19天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
55 1
|
21天前
|
前端开发 API UED
深入理解微前端架构:构建灵活、高效的前端应用
【10月更文挑战第23天】微前端架构是一种将前端应用分解为多个小型、独立、可复用的服务的方法。每个服务独立开发和部署,但共同提供一致的用户体验。本文探讨了微前端架构的核心概念、优势及实施方法,包括定义服务边界、建立通信机制、共享UI组件库和版本控制等。通过实际案例和职业心得,帮助读者更好地理解和应用微前端架构。

相关产品

  • 服务网格