安全分析开发环境一键部署
Gartner 报告中指出 [7],Platfor
m Ops for AI 是一种编排和扩展运营人工智能的方法,利用跨数据、机器学习、人工智能和应用程序
开发管道的多种最佳实践,为基于人工智能的系统创建一个高效的交付模型。Platform Ops for AI 支持将交付模块化
、编排、发现和自治作为业务框架的组成部分。
当跨多个环境部署应用程序时,数据模型开发和运营、孤立的 DataOps 和 MLOps 之
间的不匹配会给数据和概念漂移带来巨大挑战。DataOps 被用于管理数据管道,MLOps 和
ModelOps 被用于构建健壮的机器学习和 CI/CD 管道。Platform Ops for AI 是从数据到交付
的平台级别的技术框架,是一种运维能力的整合,利用 DataOps、MLOps、ModelOps 以及
DevOps 的实践来确保端到端人工智能平台的安全性和治理,对齐数据、人工智能、机器学
习模型部署管道,保障其一致性。
Platform Ops for AI 旨在为 AI 系统在搭建的所有阶段提供持续集成和持续交付,支持和
保障系统的可重用性、结果可再现性、代码回滚、数据沿袭和安全环境环境容器化
定义内涵
容器作为一种轻量级虚拟化技术,实现了进程级别的封装隔离。容器化将应用程序和所
有相关组件(库、框架和其他依赖项)打包隔离,确保了容器内的应用在任何系统环境和架
构上得以无缝移动和运行,并在多种平台和基础架构上保持运行结果的一致性。
相比于传统的虚拟机技术,容器体积更小、启动速度更快,且在主机上运行的所有容器
共享操作系统内核和资源,有着轻量级和可移植的特性,容器的出现使得应用的迁移变得更
加简易。
技术背景
为了实现 DevOps 理念,容器化的引入至关重要,因此容器化也是搭建 Platform Ops for
AI 的基础。以 Docker 为代表的容器对于开发人员和运营人员的重要性主要在两方面:一是
持续集成和持续部署,轻量级的容器允许开发人员在本地建立容器堆来复制生产环境,并在
容器堆上搭建和运行应用程序;二是利用容器的可移植性,实现应用程序的便携测试、部署。
为了管理容器的整个生命周期,容器编排的概念应用而生。容器编排自动执行容器的部署、
管理、扩展和负载均衡等。常见的容器编排平台是 Kubernetes(k8s),是一个跨主机的容
器管理平台,支持大规模的分布式、容器化管理。
思路方案
SecXOps 的一切功能都是基于 Kubernetes 和 Docker 实现的,如下图所示为了能够支撑用户自由配置环境并进行在线开发,SecXOps 平台在集群的每一个 node
上都预先下载好了一些常用的镜像,如 tensorflow2.9.1-gpu 等。在这些镜像中都内置了
jupyterlab 开发环境,还包含丰富的插件和工具,如 elyra 工作流相关插件、tensorboard 可
视化工具等等,尽最大可能满足算法开发人员在代码开发过程中的种种需求。另外在用户需
要扩展容器的功能时,也可以直接对开发环境进行修改,不会出现环境冲突的问题。
下图是 jupyterlab 的在线编程页面,其包含了 jupyter notebook 的所有功能,支持
python、JAVA、R 等多种编程语言以及 markdown、latex 等写作语言及公式输入,可以集编
程与写文档于一身,同时也升级增加了包括多窗口编程在内的多种功能