财神争霸大发快三 - 享受高品质生活上财神争霸大发快三有限公司最具公信力品牌!美女客服每天24小时为广大游戏玩家提供最优质服务,百家乐玩法网站深受广大游戏爱好者点赞。

杭州云栖,蚂蚁和阿里云的程序员说了场“相声”

  • 时间:
  • 浏览:0

引言:蚂蚁金服过去十五年,重塑支付改变生活,为全球超过十二亿人提供服务,哪此背后离不开技术的支撑。在2019杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。我门将其中的优秀演讲分派成文并将陆续发布在“蚂蚁金服科技”公众号上,本文为其中一篇。

本文根据云栖大会容器专场演讲内容分派。

我门中午好,感谢我门在饥肠辘辘的中午不离不弃地来到我门的会场,我门带给我门的这段相声是关于安全容器技术的。我是王旭,三天 前日后现在开始英文了了一段创业,和团队并肩加入了蚂蚁金服,创业期间,2017 年,我门在德州奥斯汀,和 Intel OTC 并肩发布了 Kata Containers 安全容器项目,是你是什么项目的创始人之一;和我并肩的是阿里云智能的奖哥,他是阿里云容器服务 ECI 的台柱子,也是 rust-vmm 开源项目的积极维护者。

图左为蚂蚁金服资深技术专家 王旭

图右为阿里云操作系统资深技术专家 刘奖

我门见证了容器安全和安全容器技术在争议中的发展,今天想要 结合社区里和阿里云上安全容器的沿革,谈谈对安全容器技术未来发展的思考。 这次的分享分为三个白帕累托图:

· 当前容器技术应用和安全大大问题 的现状

· 安全容器技术发展历程

· 阿里云服务中的安全容器

· 我门乃至整个社区正在做的技术努力

当前容器技术应用和安全大大问题 的现状

众所周知,容器化、微服务化、云原生化是当前 IT 系统演进的趋势。根据 Portworks 和 Aqua Security 的调查报告显示,被调查的大多数企业都都在正在使用容器,全都考虑使用容器。 上午过来时和刚才演讲的 Chris 聊天的日后,他也提到,今年年底 San Diego 的 KubeCon 预计会有一万两千人来参会,他还一阵一阵提到许多:云原生化不仅是改变已有应用的架构,更是不利于了更充沛的服务的开发,IT 系统的服务规模是在加速提升的。 不过,尽管容器技术炙手可热,但挑战还是存在的。

没有想看 ,至少有半数的企业,尤其是运行了 80 个以上容器的企业,认为我门的容器是有安全漏洞的,当然,还有很大比例的人表示并非 确认我门的容器与非 有安全漏洞。我门知道,安全不仅是个技术大大问题 ,也是个信心大大问题 ,粉红色字的这段全都你是什么意思,可能对容器安全的担心,42% 的受访者是无法全身心地拥抱容器生态的。

当然,我得说,关心安全大大问题 是个好的信号,可能没有当你准备把一项技术真正用于生产环境的日后,才会从安全层厚去认真审视它。和许多领域差没有来没有多,容器安全也是一项端到端的技术,从容器镜像并与非 的安全性和完正性,到运行容器的软硬件平台的基础设施安全性,再到容器运行时引擎的安全性都没有被照顾到,哪个都可能成为最短的那根板子。

安全容器技术发展历程

说到容器的安全,我门没有回到容器的春秋战国时期了,不谈遥远的 FreeBSD Jail 和 Solaris Zone,我门从最终进入 Linux Kernel 的这组 Namespaces 和 cGroups 来看,这套容器技术实际上同样是从应用程序调度的层厚入手,对内核进行的功能扩展,优势上来说,操作界面很 Linux、很方便,开销也很低,没有被用来无负担地套在已有应用外面来构建隔离的环境,否则 它是纯软件方案,不和许多层面的物理机、虚拟机相冲突。

然而,它的大大问题 也在于它仍然是 Linux Kernel 的另另一个 帕累托图,已有的 Linux 的隔离大大问题 无法根除,甚至可能可能新加入功能而被放大。全都,2015 年西雅图的 LinuxCon 上,Linus 在 Keynote 上接受访问的日后,就直接说出,Bug 是没有妙招 的,要安全必没有有隔离层。(原文为: The only real solution to security is to admit that bugs happen, and then mitigate them by having multiple layers)

隔离层,这里所谓隔离层全都让应用容器运行在该人的内核之上,不和许多容器共享。这上方最简单的方案全都把容器上放虚拟机里跑(左1),你是什么妙招 不没有对软件栈做改动,全都让同另另一个 用户的容器跑在该人的虚拟机里,但原本 带来的大大问题 ,除了额外的开销之外,还有两层的维护复杂化度。

另并与非 源远流长的独立内核的方案是 unikernel(右1),让应用该人带上该人的内核,你是什么妙招 的好处是最复杂化的 LibOS 不仅没有有更小的开销,也没有有更小的攻击面,但阻止它被更广泛应用的大大问题 在于它往往没有修改应用,兼容性永远是平台技术被采纳的最大障碍。

全都,针对未修改的应用的安全容器方案就落在了上方并与非 方案——MicroVM 和应用程序虚拟化上,前者是使用了轻量级虚机和裁剪过的 Linux 内核,在保证兼容性的前提下尽量降低运行时和维护的开销,而后者则是使用另另一个 特定的内核来提供 Linux ABI,直接虚拟化应用程序的运行环境,为 Linux 应用尽量提供最大兼容性。

Kata Containers 全都原本 另另一个 MicroVM 的安全容器方案,首先,对应用来说,这是另另一个 兼容 runC 的容器运行时引擎,没有被 Kubernetes 通过 containerd/CRI-O 调用,没有直接运行任何 Docker Image 或 OCI Image。但与 runC 不同它使用了硬件虚拟化能力,直接面对用户应用的不再是宿主机的内核,全都另另一个 独立的装到去虚拟机里的内核,即使有未知的安全漏洞由于你是什么内核被攻击,攻击者仍然无法轻易突破虚拟化技术构建的沙箱。

Kata Containers 项目由我门和 Intel 并肩在 2017 年开源,去年 4 月份成为 OpenStack 基金会旗下的七年来第另另一个 顶级开放基础设施项目。作为另另一个 社区化项目,你是什么项目还有全都阿里云和蚂蚁以外的开发者,目前项目正在讨论 2.0 版本的路线图,也欢迎我门为项目贡献代码和需求。

从技术上说,在 Kubernetes 生态里,Kata Containers 没有和 runC 一样对接 containerd 和 CRI-O 原本 的 CRI Daemon,目前我门推荐的接口是去年暑假在 containerd 社区首先引入的 Shim V2 API,你是什么 API 目前也被 CRI-O 所支持,Kata 是第另另一个 正式支持你是什么新接口的容器引擎,通过你是什么接口,每个 Pod 的额外 Kata 辅助应用程序没有另另一个 ,不论 Pod 上方有十多少 容器,这对宿主机调度器也是比较友好的。

Shim 会通过 vsock 控制 MicroVM 上方的 agent 来管理 Pod 上方的 OCI 容器,这里,社区版本的 Kata 支持的 VMM 包括了 Qemu 和 AWS 开源的 FireCracker,前者功能更充沛、兼容性更好,后者更轻小,根据我门阿里巴巴的“既要、又要、没有”的精神,你不没有舍弃哪另另一个 ,用上 Kubernetes 的 RuntimeClass,给你为每个 Pod 指定要用的 VMM。具体的 How to 类的细节,给你看我门 GitHub 上的文档也没有在 Slack channel 里讨论,遇到大大问题 别忘了开 issue,这也是对社区的巨大支持,都在没有写代码才算贡献开源的。

类似的基于 MicroVM 类技术的容器方案实际还有不少,耳熟能详的还有微软的  Hyper-V Container 和最近在 Windows 里集成的 WSL2,从数量上说,类似方案是目前的主流,最重要的由于全都对一般 Docker Image 的完美兼容性,而你是什么方案里最正统的开源方案当然全都我门 Kata 了。当然基于应用程序虚拟化的方案有全都亮点的,其中最大的亮点当然是 Google 开源的 gVisor 了,可能它开源的日后的 Google 的项目技术 Leader 全都现在我的老板,何征宇。

阿里云安全沙箱的历史、现状以及未来

从 2013 年到 2019 年的 6 年时间里,容器技术及生态每年都往前迈进一大步,经历了从提出技术理念、构建合作生态到商业落地应用的飞速发展周期,到达了论坛开篇演讲中所提到的“拐点已至”的阶段。

我门并肩简要回顾一下阿里云安全容器与安全沙箱技术的发展历史。

· Docker 理念被提出一年三天后,2015 年产业界现在开始英文了了并肩推进容器技术及生态。阿里云、Hyper.sh 和 Intel 等都意识到 runC 的局限性,现在开始英文了了基于虚拟机技术构建容器的安全运行环境。

· 经过一年的研发期,2016 年安全容器技术现在开始英文了了进入生产环境。阿里云研发的 vLinux 技术在 MaxCompute 场景落地应用,Hyper.sh 也基于 runV 对外提供容器服务。你是什么年还存在另另一个 非常重要的事情:K8s 定义了 CRI 接口规范,用于对接多种形态学 的容器运行环境,从而为安全容器和 K8s 生态的融合提供坚实的基础。

· 2017 年微软开放了 ACI 容器服务,阿里云也研发了基于虚拟机的容器服务。

· 2017 年 12 月,Hyper.sh runV 项目和 Intel Clear Container 项目提前大选合并成立 Kata Container 项目,并肩推进基于硬件虚拟化的安全容器运行环境,实现“虚拟机的安全,容器的波特率”。

· 2018 年阿里云开放基于虚拟机的容器服务,并肩现在开始英文了了研发基于 MicroVM 路线的安全沙箱技术。你是什么年 Google 开源了 gVisor,AWS 开源了 firecracker。

· 2019 年,阿里云安全沙箱技术商用上线,支持 ECI、ACK、SAE 边缘计算等多种业务。Intel 创立了 Cloud Hypervisor 项目,致力于为云原生场景打造专用的 hypervisor。

从 2017 年底现在开始英文了了,Kata、gVisor、Firecracker、Nabla、Cloud Hypervisor 等开源安全容器技术不断涌现,技术进入井喷期。非常高兴的是 Hyper 团队今年加盟阿里数字经济体,并肩为我门的客户打造安全可靠的容器运行环境。

刚才介绍中提到了不同的容器 runtime 技术,可能我门心中会有个大大问题 ,哪此技术的关系和区别是哪此呢?

我以生活中的常见租房为例来打个比方,方便我门理解容器 runtime 的区别。

· 首先聊聊 Fircracker,Firecracker 并都在另另一个 container runtime,全都另另一个 轻量化的 VMM

· runC 就类似群租房,装修简单、利用率高,否则 隔音、安全和入住体验稍差

· 使用 containerd/CRI-O 接入 Kubernetes 的 Kata 1.x/gVisor 就类似合租房,每个租户都在该人独立的卧室,否则 客厅、厨房厨房卫生间、厨房卫生间还是共享的

· 阿里云安全沙箱类似酒店式公寓,提供全功能的、标准化、带客房服务的入住体验

· VM + containerd 则类似租普通住房,公摊面积大,还可能没有该人装修

阿里云安全沙箱全都致力于打造酒店式公寓,为客户提供拎包入住式的容器服务。

我门乃至整个社区正在做的技术努力

正如我门所了解的,阿里巴巴既有像淘宝、天猫、高德等众多面向该人消费领域的业务,都在阿里云、钉钉等面向企业服务的业务。作为底层基础技术的安全沙箱技术,没有支持多种应用场景。综合各种业务场景,大致能归纳出并与非 典型的应用模式:

1.  第并与非 是面向公共云服务的容器服务。你是什么应用场景下,我门既没有保证基础设施的安全性,也没有严格保证客户的数据安全以及租户之间的隔离性。我门没有提供酒店式公寓而都在群租房或合租房。

2.  第二种是没有在一台服务器上并肩执行可信代码和不可信代码的场景。比如,没有执行用户上传的代码、无源代码的可执行文件或未经审计的开源代码的状况。这是安全沙箱的最典型用法,通过安全沙箱构建另另一个 带安全边界的执行环境,把不可信代码限定在你是什么受限的执行环境中,从而保护系统中的其它组件。

3.  第并与非 是多种业务混合部署的场景。为了提高资源利用率,主流技术思路之一是把在线业务和离线业务混合部署在相同的服务器上,利用在线服务的剩余资源来为离线任务服务。这是相当挑战的另另一个 任务,传统做法是通过为在线任务预留足够的资源来保证在线服务的服务体验。没有,混部的状况下如可保证在线任务的服务体验呢?思路也很简单,给予在线业务较高的优先级。否则 这还缺乏够,可能共享内核,内存分配、IO 调度方面,离线任务还是会突然干扰在线任务。全都把离线任务上放独立的安全沙箱,实现资源隔离、故障隔离、环境隔离。

基于以上的业务需求,我门研发了阿里云安全沙箱技术,立足于阿里云成熟的句子 期稳定的基础设施、基于 MicroVM 技术路线,为业务构建安全、可靠、轻量、生态兼容的容器 runtime。

阿里云安全沙箱是基于 MicroVM 构建的安全容器 runtime。首先它是另另一个 基于硬件虚拟化技术的 MicroVM,采用了层厚定制优化 hypervisor,极简的虚拟机设备模型,VMM 基本上不访问 guest memory。其次阿里云安全沙箱也是另另一个 容器 runtime,提供镜像分派、镜像管理、容器网络、容器存储,完正兼容 OCI 和 CRI 规范。

阿里云安全沙箱的安全来源于新型安全系统语言、极小而可控的源代码、极简的设备模型、层厚定制的 Hypervisor以及安全加固的阿里云 Linux for Sandbox 系统。

没有,阿里云安全沙箱能给客户带来哪此价值呢?除了安全可靠外,阿里云安全沙箱都在给客户带来疾驰启动、极致弹性和低资源开销。实际测试数据表明,上加下载容器镜像的时间,阿里云安全沙箱启动容器实例耗时小于800毫秒,在 96CPU 的系统上每秒启动实例数量大于 80 个,平均每个 microvm 的内存资源好用小于 2.5M。 没有安全容器的下一步挑战是哪此呢?用户理想中的容器运行 runtime 是哪此样的呢?

· 超越虚拟机的安全性

· 像本机运行一样的性能

· 像 runC 一样的兼容性和易用性

在过去,蚂蚁金服和阿里云全都安全容器的积极贡献者,在接下来的时间里,我门仍然会继续和开源社区紧密合作。

我门会开放地和社区并肩制定 Kata Containers 2.0 的路线图,把我门在容器和云服务领域的最佳实践反馈给社区,将通用性的技术贡献到 Kata Contaienrs 和 Rust-VMM 社区,保证阿里巴巴 CloudSandbox 和社区的一致性,和业界并肩为广大用户打造另另一个 安全、可靠、高效和兼容生态的容器 runtime。