热点链接

www.224466b.com

主页 > www.224466b.com >
杭州云栖蚂蚁和阿里云的程序员说了场“相声”
时间:2019-10-20

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

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

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

  可以看到,大概有半数的企业,尤其是运行了 100 个以上容器的企业,认为他们的容器是有安全漏洞的,当然,还有很大比例的人表示并不确认他们的容器是否有安全漏洞。我们都知道,安全不仅是个技术问题,也是个信心问题,粉红色字的这段就是这个意思,因为对容器安全的担心,42% 的受访者是无法全身心地拥抱容器生态的。

  当然,我得说,关心安全问题是个好的信号,因为只有当你准备把一项技术真正用于生产环境的时候,才会从安全角度去认真审视它。和其他领域差不多,容器安全也是一项端到端的技术,从容器镜像本身的安全性和完整性,到运行容器的软硬件平台的基础设施安全性,再到容器运行时引擎的安全性都需要被照顾到,哪个都可能成为最短的那根板子。

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

  隔离层,这里所谓隔离层就是让应用容器运行在自己的内核之上,不和其他容器共享。这里面最简单的方案就是把容器放在虚拟机里跑(左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 版本的路线图,也欢迎大家为项目贡献代码和需求。

  类似的基于 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 年底开始,Kata、gVisor、Firecracker、Nabla、Cloud Hypervisor 等开源安全容器技术不断涌现,技术进入井喷期。非常高兴的是 Hyper 团队今年加盟阿里数字经济体,一起为我们的客户打造安全可靠的容器运行环境。

  刚才介绍中提到了不同的容器 runtime 技术,可能大家心中会有个疑问,这些技术的关系和区别是什么呢?

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

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

  ·阿里云安全沙箱类似酒店式公寓,提供全功能的、标准化、累计资本金投入亿元,998099老钱庄心水论坛,带客房服务的入住体验

  ·VM + containerd 则类似租普通住房,公摊面积大,还可能需要自己装修

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

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

  1. 第一种是面向公共云服务的容器服务。这种应用场景下,我们既需要保证基础设施的安全性,也需要严格保证客户的数据安全以及租户之间的隔离性。我们需要提供酒店式公寓而不是群租房或合租房。

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

  3. 第三种是多种业务混合部署的场景。为了提高资源利用率,主流技术思路之一是把在线业务和离线业务混合部署在相同的服务器上,利用在线服务的剩余资源来为离线任务服务。这是相当挑战的一个任务,传统做法是通过为在线任务预留足够的资源来保证在线服务的服务体验。那么,混部的情况下如何保证在线任务的服务体验呢?思路也很简单,给予在线业务较高的优先级。但是这还不足够,由于共享内核,内存分配、IO 调度方面,离线任务还是会经常干扰在线任务。所以把离线任务放入独立的安全沙箱,实现资源隔离、故障隔离、环境隔离。曝皇马接触斯特林欲明夏转会 曼城:不慌!他不会走

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

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

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

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

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

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


Copyright © 2002-2011 DEDECMS. 织梦科技 版权所有 Power by DedeCms
一肖中特最经典资料| 曾道人赛马会| 新跑狗图ab版开奖结果| 创富论坛 香港马会开奖结果| 香港马会会员资格| 开奖直播香港马会开| 铁算盘王中王开奖结果| 宝马高手心水论坛| 红姐图库助手下载| 香港黄大仙六肖中特|