带你读《云原生机密计算最佳实践白皮书》——部署TensorFlow Serving在线推理服务(1)

简介: 带你读《云原生机密计算最佳实践白皮书》——部署TensorFlow Serving在线推理服务(1)

Intel Confifidential Computing Zoo: Intel机

密计算开源解决方案


项目位置链接

https://github.com/intel/confidential-computing-zoo


技术自身介绍


问题&挑战

目前,机密计算还处于早期阶段,用户对SGX和TDX技术的了解和使用还需要进一步的加深和推广,对特定应用场景下如何结合Intel TEE技术以及其他安全技术打造全链路的机密计算方案缺少相应的设计参考


解决方案

为了帮助用户快速了解和使用Intel TEE技术,便捷快速地设计和开发出相关机密计算安全解决方案,Intel发起并开源了Confifidential Computing Zoo(CCZoo), CCZoo集合了不同的安全技术栈,提供了基于不同应用场景下的各种典型端到端的安全解决方案的参考案例,这些参考案例贴近实际的商业案例,让用户增加在机密计算方案设计和实现的体验,同时,引导用户结合相应的参考案例,快速设计和实现出自己特定的机密计算方案。此外,CCZoo还会选择在不同公有云,例如阿里云ECS,部署和验证已发布的端到端的机密计算方案,为用户提供相关的云上部署特有的配置参考信息,帮助用户方案快速上云。


技术介绍

CCZoo当前提供了6个类别的机密计算场景和1个孵化期项目集,具体分类如下图所示。为了方便部署,大部分的方案采用了容器化的集成。在不同的机密计算场景下,CCZoo选择使用了不同的安全技术组件模块,主要包括:Runtime Security、LibOS、Remote Attestation、KMS、TLS。用户可以通过对不同参考案例的部署增加对不同安全组件的使用和选择。

image.png

• Runtime Security: 当前主要使用Intel SGX,基于应用程序级别的隔离,对用户的应用和数据进行保护。

• LibOS: Gramine和Occlum。通过LibOS运行现有应用程序,只需进行细微修改或无需修改,即可在Intel SGX Enclave中运行。

• Remote Attestation: 提供了具体RA-TLS能力集成的gRPC框架,方便用户将远程认证的功能需要集成到自有框架中。

• KMS: 提供了集成远程认证加密钥管理的功能模块。

• TLS: 集成了RA-TLS功能,并启用了证书验证机制。

CCZoo将会跟Anolis Cloud Native Confifidential Computing(CNCC) SIG展开合作,将CCZoo中不同机密计算场景下的方案,结合Anolis的技术框架进行实现和部署,如下图所示。

1685104971629.png

应用场景

CCZoo中多场景下的机密计算方案可以帮助CNCC SIG 进一步丰富用户基于Anolis的安全方案使用场景,为用户提供了最佳实践。同时,CCZoo也会基于方案级别,对Anolis进行全栈式的测试和验证,从用户实际使用的角度,来验证Anolis的可靠性和功能性。


部署TensorFlow Serving在线推理服务


概述


本文介绍在Intel® SGX使能的平台,基于Anolis OS部署TensorFlow Serving在线推理服务的技术架构和使用流程。


背景信息


TensorFlow Serving是Google开源的机器学习平台TensorFlow生态的一部分,它的功能是将训练好的模型运行起来,提供接口给其他服务调用,以便使用模型进行推理预测。 阿里云ECS部分安全增强型实例基于Intel® SGX(Software Guard Extension)技术,提供了SGX加密计算能力,打造了基于硬件级别的更高安全等级的可信机密环境,保障关键代码和数据的机密性与完整性不受恶意软件的破坏。

将TensorFlow Serving在线推理场景部署在阿里云安全增强型实例可信机密环境中,可以保证数据传输的安全性、数据盘的安全性、数据使用的安全性、以及AI在线推理应用程序的完整性。 本实践为开发者使用Anolis OS提供了参考实现,您可以了解以下内容:

• 对基于SGX加密技术实现的端到端的全数据生命周期安全方案有整体了解。

• 对于使用TensorFlow Serving的开发者,可直接参照本实践部署和开发脚本。

• 为使用安全增强型实例的SGX开发者提供可行性参考框架和脚本,您可根据本实践步骤快速了解安全增强型实例以及环境搭建部署流程,轻松上手使用。

技术架构

本实践技术架构如下所示。

1685080310729.png

本实践涉及三个角色:客户端、Anolis OS SGX端、远程请求端。

客户端客户端机器会将训练完的模型以及用来建立安全连接的TLS证书进行加密,并将这些加密文件上传到Anolis OS SGX端环境中。同时,客户端机器还将部署密钥提供服务,主要用来对 SGX端进行认证,确保运

行在云上的TensorFlow Serving推理服务应用的完整性及SGX环境的可行性。验证通过后,会将密钥发送给在

OS SGX中运行的TensorFlow Serving推理服务。

Anolis OS SGX端:Anolis OS SGX端提供SGX机密计算环境,TensorFlow Serving推理服务运行在SGX环境中。当推理服务启动时,会向客户端发送远程认证请求,证明当前SGX环境的可行性和AI推理服务的完整性。验证成功后,推理服务会拿到客户端发送的密钥,并对加密的模型和TLS证书进行解密,至此,运行在SGX环境中的推理服务成功运行,并等待远程访问请求。

远程请求端:第三方使用者通过网络安全传输,将数据发送到运行在SGX机密计算环境中的推理服务。推理完成后,得到返回结果。

说明:本实践将客户端和远程请求端部署在同一台机器,Anolis OS SGX端部署在另外一台机器。

本实践使用到的其他组件如下:

LibOS:Gramine是一款轻量级LibOS,结合Intel® SGX加密保护技术,提供了内核能力定制,运行资源消耗少,具备非常好的ABI兼容性,极大降低了原生应用移植到SGX环境的成本,做到了应用程序不修改或者极少的修改便能运行在SGX环境中。本实践使用Gramine封装TensorFlow Serving推理服务,将推理服务简单便捷地运行在SGX实例中。更多信息,请参见Gramine。

AI推理服务:TensorFlow Serving是Google开源的机器学习平台TensorFlow生态的一部分,它的功能是将训练好的模型运行起来,提供接口给其他服务调用,以便使用模型进行推理预测。更多信息,请参见Tensor

Flow。

Docker容器引擎:为了方便部署推理服务,本实践采用将推理服务运行在Container中的方式,利用Docker的命令方式运行推理服务。

本实践技术架构说明如下:

• Intel证书缓存服务PCCS(ProvisioningCertifificate Caching Service)。如技术架构中①所示,Anolis OS SGX端需要向Intel PCCS获取PCK(Provisioning Certifification Key)证书,Intel SGX会有一个密钥用于Enclave的签名,该密钥对于处理器或者平台是唯一的,密钥的公开部分就是PCK公钥。另外客户端也会向PCCS获取一些信息,比如TCB信息、Quote Enclave认证的信息、CRL信息等用于对SGX Enclave的认证。

• 搭建好Anolis OS SGX端后,可以将本地加密的模型文件以及TLS证书通过网络传输放到云盘中备用,如技术架构中②所示。

• 通过LibOS Gramine启动TensorFlow Serving推理服务时,会加载加密的模型文件,如技术架构中③所示。

• Gramine本身集成了远程认证的功能,在识别到有加密文件加载时,会转向配置好的远程IP服务发送认证请求,如技术架构中④所示。本实践在实现时,以一台阿里云实例模拟客户端,同时也作为远程访问端,另一台实例作为SGX环境。

• 在客户端的密钥提供服务对Anolis OS SGX端中的Enclave Quote认证成功后,会将模型加密的密钥发送给Gramine,如技术架构中⑤所示。由于此时Gramine是运行在Enclave中,因此Gramine拿到密钥对模型解密的过程是安全的。• 通过LibOS Gramine启动TensorFlow Serving推理服务时,会加载加密的模型文件,如技术架构中③所示。

• 在模型解密后,TensorFlow Serving便可以正常运行,并等待远端的访问请求。为了建立通信安全连接通道,远程访问端有TLS的公钥,在建立连接后,会对TensorFlow Serving中的TLS证书进行校验。如技术架构中⑥所示。

• 当TensorFlow Serving对远程请求端的数据推理完成后,便会通过建立的安全通道将推理结果返回给请求端,如技术架构中⑦所示。



《云原生机密计算最佳实践白皮书》——07解决方案——Intel Confidential Computing Zoo: Intel机密计算开源解决方案——部署TensorFlow Serving在线推理服务(2) https://developer.aliyun.com/article/1230818?groupCode=aliyun_linux


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
运维 Cloud Native 云计算
云原生技术:探索未来计算的无限可能
【10月更文挑战第8天】 云原生技术,作为云计算领域的一次革新性突破,正引领着企业数字化转型的新浪潮。它不仅重塑了应用的构建、部署和运行方式,还通过极致的弹性、敏捷性和可扩展性,解锁了未来计算的无限潜力。本文将深入浅出地解析云原生技术的核心理念、关键技术组件及其在不同行业中的实际应用案例,展现其如何赋能业务创新,加速企业的云化之旅。
68 7
|
2月前
|
Kubernetes 监控 Cloud Native
云原生时代下的应用开发与部署实践
【10月更文挑战第4天】在云原生的浪潮中,开发者和运维人员面临着新的挑战和机遇。本文将通过实际案例,展示如何在云平台上高效地开发、部署和管理应用,同时确保系统的可扩展性和高可用性。我们将深入探讨容器化技术、微服务架构以及持续集成/持续部署(CI/CD)流程的实施策略,旨在为读者提供一套完整的云原生解决方案框架。
|
11天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
28天前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
25天前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
25天前
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
57 5
|
26天前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
40 5
|
1月前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
2月前
|
Kubernetes Cloud Native 开发者
探秘云原生计算:Kubernetes与Docker的协同进化
在这个快节奏的数字时代,云原生技术以其灵活性和可扩展性成为了开发者们的新宠。本文将带你深入了解Kubernetes和Docker如何共同塑造现代云计算的架构,以及它们如何帮助企业构建更加敏捷和高效的IT基础设施。
|
2月前
|
Kubernetes Cloud Native 持续交付
云原生技术:重塑现代应用开发与部署模式####
本文深入探讨了云原生技术的核心概念、发展历程及其在现代软件开发和部署中的关键作用。通过分析云原生架构的特点,如容器化、微服务、持续集成与持续部署(CI/CD),以及它如何促进应用的可伸缩性、灵活性和效率,本文旨在为读者提供一个关于云原生技术全面而深入的理解。此外,还将探讨实施云原生策略时面临的挑战及应对策略,帮助组织更好地把握数字化转型的机遇。 ####
下一篇
DataWorks