精华内容
下载资源
问答
  • 容器化趋势
    万次阅读 多人点赞
    更多相关内容
  • 众所周知,容器技术的出现有两个关键原因:1.软件运行过程中的资源和环境的隔离。2.软件因为运行环境多样带来的打包和配置的复杂性。而对于软件运行环境的隔离需求,从计算机出现之初就已经开始了,多任务分时操作...
  • 深入理解分布式技术 - 容器化技术

    千次阅读 2021-02-11 20:58:08
    文章目录概述虚拟化技术容器化技术 概述 随着各种云服务的发展,越来越多的服务运行在以 Docker 为代表的容器之内。 相比传统虚拟化技术,容器技术是一种更加轻量级的操作系统隔离方案,可以将应用程序及其运行...

    在这里插入图片描述


    概述

    随着各种云服务的发展,越来越多的服务运行在以 Docker 为代表的容器之内。

    相比传统虚拟化技术,容器技术是一种更加轻量级的操作系统隔离方案,可以将应用程序及其运行依赖环境打包到镜像中,通过容器引擎进行调度,并且提供进程隔离和资源限制的运行环境。


    虚拟化技术

    虚拟化技术通过 Hypervisor 实现虚拟机与底层硬件的解耦,虚拟机实现依赖 Hypervisor 层,Hypervisor 是整个虚拟机的核心所在。

    Hypervisor 也叫作虚拟机监

    展开全文
  • 有赞容器化实践

    2021-02-24 23:59:53
    容器化已经成为一种趋势,它可以解决很多运维中的痛点,比如效率、成本、稳定性等问题,而接入容器的过程中往往也会碰到很多问题和不便。在有赞最开始做容器化是为了快速交付开发测试环境,在容器化的过程中,我们...
  • 边缘计算分支—设备端容器化的大趋势和拥抱5G时代.pdf
  • 私有云和容器发展趋势分析 1 目录 一二十年云计算演进到第四阶段 3 二用户云计算需求进入更高层次 5 三云计算发展二十年什么才是用户最需要的云 7 四结论用户需要海陆空一体平台进一步释放云能力 9 2 一二十年...
  • PAGE 2 私有云和容器发展趋势分析 目 录 TOC \o "1-3" \h \z \u 一二十年云计算演进到第四阶段 3 二用户云计算需求进入更高层次 5 三云计算发展二十年什么才是用户最需要的云 7 四结论用户需要海陆空一体平台...
  • 作为信息科技发展的主流趋势,它频繁地出现在我们的眼前。伴随它一起出现的,还有这些概念名词——OpenStack、Hypervisor、KVM、Docker、Kubernetes……这些名词概念,全部都属于云计算技术领域的范畴。对于初学者来...
  • 本报告研究全球与中国市场家用食品储存容器的产能、产量、销量、销售额、价格及未来趋势。重点分析全球与中国市场的主要厂商产品特点、产品规格、价格、销量、销售收入及全球和中国市场主要生产商的市场份额。历史...
  • 细胞培养容器市场现状及未来发展趋势
  • 摘要:无论公有云还是私有云厂商,都认识到了将虚拟的隔离性和容器的高效运维特性相结合,是云原生平台发展的必然趋势容器是如何解决隔离问题的 众所周知,容器技术的出现有两个关键原因: 1.软件运行过程中...

    摘要:无论公有云还是私有云厂商,都认识到了将虚拟化的隔离性和容器的高效运维特性相结合,是云原生平台发展的必然趋势。

    容器是如何解决隔离问题的

    众所周知,容器技术的出现有两个关键原因:

    1.  软件运行过程中的资源和环境的隔离。

    2.  软件因为运行环境多样带来的打包和配置的复杂性。

    而对于软件运行环境的隔离需求,从计算机出现之初就已经开始了,多任务分时操作系统和虚拟地址的引入,都是为了解决多个任务在同一主机上运行,并且让任务本身认为自己独占机器。当然这样的隔离是远远不够的,当今软件,根据不同的层级,可以将隔离技术分为以下三类:

    1.  进程级别的隔离

    2.  操作系统级别的隔离

    3.  虚拟化级别的隔离

    操作系统以进程作为程序运行过程的抽象,进程拥有独立的地址空间,进程的执行依靠操作系统的调度。但是进程共享了文件系统,函数库等资源,程序之间出现互相干扰的可能性很大。这个层级的隔离适合在相同主机上运行单个用户的不同程序,由用户自己保证程序之间的资源分配。

    上世纪70年代出现了chroot,进行文件系统的隔离,21世纪初开始,随着计算硬件的性能提升,软件隔离的需求更加强烈,这时候开始出现如jail,cgroup,namespace等各种不同资源的隔离技术。我们将这些技术统一划分到操作系统的隔离技术,这类隔离技术可以实现软件在诸如硬件资源、文件系统、网络、进程号等方面的隔离,但是不同的应用依然是运行在相同的操作系统内核上,对于恶意的利用漏洞攻击的场景,这种隔离技术依然会捉襟见肘。但是这种级别的隔离带来的额外资源消耗较小,适合相同的组织内不同用户的应用在相同主机上运行。

    虚拟化技术的出现,让相同的物理机上也能运行多个不同的操作系统。操作系统对硬件的接口,由虚拟机管理程序(VMM)负责模拟。运行在不同系统中的程序,内核也是隔离的。硬件资源则通过各种硬件辅助手段进行划分,虚拟机上的程序很难突破虚拟化层加上的资源限制。并且因为内核的隔离,资源的可见性也做到了很强的隔离性。即使是恶意的用户,也很难突破这层虚拟化的限制,已达到攻击物理机,或者相同主机上其他虚拟机的目的。

    以上三种隔离是按照层级一步一步加强的,同时带来的理论损耗也是逐步递进的。虚拟化由于需要模拟各种设备,带来的资源损耗比其他两种隔离方式要大很多。

     

    什么是“安全容器”

    容器概念出来的时候,最初大家做隔离的思路,几乎都是操作系统级的隔离,也就是基于内核提供的namespace、cgroup、seccomp等机制,实现容器内的资源、文件、系统调用等限制和隔离。这种隔离方式更加高效,损耗更小。但是随着容器的大规模使用,尤其是各种容器编排系统,如k8s的深入使用,人们逐渐发现这样的隔离级别往往不能满足要求。在公有云场景下,相同主机如果需要运行不同租户的应用,因为这种隔离级别依然采用了共内核的机制,存在这广泛的攻击面,容器的隔离级别完全不能满足要求。所以最初的公有云上的容器服务,都是配合虚拟机的使用来完成的,首先是用户需要创建一批虚拟机作为运行容器的节点,形成一个私有的集群,然后才能在其上创建容器应用。虚拟化级别的隔离已经被各种公有云的实践证明,是一种安全的隔离技术。

    自从云计算的概念提出开始,虚拟机一直是云平台的基础,无论是平台本身服务还是用户的使用,都是从IaaS平台创建通用虚拟机开始的。一般都是创建相应的规格的虚拟机,使用一个完成操作系统镜像启动一个完整的操作系统,随后在其安装,配置,运行软件和服务。包括我们上节提到的公有云容器服务的提供形式也是如此。

    虚拟化本身带来的隔离能力是受到普遍认可的,不过IaaS层希望提供的是一个和应用完全无关的基础设施层,它几乎完全不感知应用的任何信息。于是从基础设施到应用运维,中间巨大的鸿沟则是由PaaS和用户自己来填平,这中间依然需要耗费无数的人力和成本。通用的虚拟机服务诚然有它的好处,比如完整的操作系统很适合程序调试,或者作为工作办公环境等等。但是对于多数运行于云平台的软件,它需要的是它独有的运行环境,它的运行环境由它的镜像已经完全定义好了。如果在此之外,又启动一个完整的操作系统,既浪费资源,也增加了运维的成本。为什么不能直接将虚拟化级别的隔离引入到容器技术中呢?结合虚拟化的安全性和容器在软件生命周期管理方面的优势,是不是可以给软件开发运维带来巨大的便利呢?

    也就是在这个时间,docker和coreos等一起成立了OCI组织,其目的是将容器的运行时和镜像管理等流程标准化。OCI标准定义了一套容器运行时的命令行接口和文件规范,docker将其RunC捐给OCI作为运行时标准的一个参考实现。2015年Hyper.sh开源了RunV,则是一种基于虚拟化的容器运行时接口的实现,它很好地结合了虚拟化的安全性和容器的便利性。后来RunV和ClearContainer合并成立了kata项目,kata提供了更加完整的基于虚拟化的容器实现。我们把这种基于虚拟化的容器实现称作安全容器。

    除kata之外,还相继出现了多个安全容器的实现方式,比如google的gVisor、AWS的firecracker-containerd、IBM的Nabla、VMware的CRX等等,其原理不尽相同,但共同反应了一个趋势,就是将容器的便利和虚拟化的安全隔离结合起来,让虚拟化直接和应用运维结合,成为云原生技术的大势所趋。下面对这些“安全容器”的实现技术进行简要的介绍和对比。

    Google gVisor

    相比于其他几种实现,gVisor的显著不同之处在于,它通过拦截容器中应用的系统调用,模拟了一个操作系统内核,因此gVisor实际上没有虚拟化,而是在用户态实现了一个操作系统。这种方式可以降低因为虚拟化带来的模拟设备内存损耗。gVisor提供的runsc符合OCI标准,可以直接对接docker、containerd等容器平台,同时它也完全兼容docker的镜像格式。但是由于不是一个标准linux内核,因为应用的兼容性有较大问题。另外拦截系统调用带来的巨大的性能损耗也是阻止其广泛使用的一个阻碍。

     

    图片来自https://gvisor.dev/docs/

     

    IBM nabla

    nabla是继承于unikernel的隔离方式,应用采用rumprun打包成一个unikernel镜像,直接运行在一个专为运行unikernel定制虚拟机(ukvm)中。应用直接打包首先可以降低很多内核态和用户态转换的开销,另外通过ukvm暴露非常有限的主机上的syscall(只剩7个),可以大大缩小主机的攻击面。它是这些安全容器实现中,最安全的。不过由于它要求应用打包成unikernel镜像,因此和当前docker的镜像标准是不兼容的。另外,unikernel应用在诸如支持创建子进程等一些常规操作上都有很难解决的问题。

     

    图片来自https://unit42.paloaltonetworks.com/making-containers-more-isolated-an-overview-of-sandboxed-container-technologies/

     

     AWS Firecracker

    最初firecracker是为AWS的Lambda打造的高密度轻量级虚拟化组件。由于它是从头开始构建虚拟化,带着轻量化的目的,因此他抛掉了qemu这种通用虚拟化组件的大部分功能,只留下运行容器和Function必要的一些模拟设备。因此它的内存开销非常小(小于5M),启动速度非常快(小于125ms),一秒钟可以在一个节点上运行150个轻量级虚拟机。

    为了让firecracker-microvm更好的运行容器,AWS启动了firecracker-containerd项目,firecracker-containerd是containerd-shim-v2的一个实现,不符合OCI标准,但是可以直接对接containerd启动容器,也就很容易通过containerd对接k8s的CRI接口。containerd-shim-v2是containerd定义的新的runtime接口,它是对最初shim-v1的一个简化,可以大大精简runtime的组件和内存使用。containerd是一个全插件化的代码框架,扩展性非常好。firecracker-containerd在该框架下,实现了一个snapshotter作为镜像插件,负责块设备镜像的生成;实现了一个shim-v2的runtime,负责容器的生命周期管理。另外还有个fc-control-plugin作为虚拟机的管理插件,提供grpc接口供runtime调用。在轻量级虚拟机内部,有一个agent负责监听runtime传进来的vsock,接收runtime的指令进行虚机内部真正的容器生命周期管理操作,它是直接调用runc来管理容器的。

     

    图片来自https://github.com/firecracker-microvm/firecracker-containerd/blob/master/docs/architecture.md

     

    VMware CRX

    VMware发布的vSphere 7与kubernetes进行了融合,它利用k8s的CRD将其集群的虚拟机、容器、函数等运行实体管理的所有功能都集成到了k8s中。VMware是一个做虚拟化起家的公司,因此虚拟化作为它的老本行,这块的积累是很深厚的。它将虚拟化融合到它的容器runtime CRX中,因此和firecracker-containerd和kata类似,也是一个基于轻量级虚拟化的容器runtime的实现。通过对其虚拟化组件和guest内核的精简,CRX 容器同样做到了很低的内存损耗(20MB)、快速(100ms)的启动以及高密度部署(单个节点大于1000个pod)。

     

    图片来自https://cormachogan.com/2019/11/22/project-pacific-vmworld-2019-deep-dive-updates/

    vSphere对node上的kubelet组件改造比较大,节点上的Spherelet部分功能和kubelet重合,负责pod的生命周期管理(他们称之为Native Pod),运行在虚拟机中的SphereletAgent则集成了符合OCI接口规范的libcontainer,实现容器的生命周期管理,以及容器的监控日志采集、容器的shell登录(kubectl exec)。Spherelet和虚机中的SphereletAgent交互实现类似于kubelet使用CRI接口管理pod的效果。

     

    kata containers

    相比于以上几种,kata containers 最大的特点是它专注于实现一个开放的符合OCI标准的安全容器runtime实现,对于对接什么样的虚拟化方案,它抽象了一套hypervisor接口,如今已经对接了多种虚拟化实现,比如qemu、nemu、firecracker、cloud-hypervisor等等。

     

    图片来自https://katacontainers.io/

     

    通过containerd-shim-v2和vsock技术,kata精简了大量的组件,配合轻量级hypervisor和精简内核,kata可以做到将额外内存消耗降低到10MB以下。容器启动时间降低到100ms以下。后续还会通过rust语言重写等方式,提供更低内存额外消耗。

    图片来自https://github.com/kata-containers/documentation/blob/master/design/architecture.md

     现有安全容器技术对比

     

    实现方式

    安全隔离

    性能/轻量化

    兼容性

    Google gVisor

    用户态内核

    拦截系统调用

    IO、网络性能差

    OS兼容性差

    IBM nabla

    Unikernel

    裁剪系统调用+虚拟化

    暂无数据

    和现有镜像不兼容

    AWS Firecracker

    轻量级虚拟化

    虚拟化

    仅对接firecracker-microvm虚拟化

    VMware CRX

    轻量级虚拟化

    虚拟化

    仅对接VMware的ESXi

    kata-containers

    轻量级虚拟化

    虚拟化

    适配多种轻量级虚拟化技术

     

    安全容器技术发展趋势

    随着Serverless等技术的兴起,应用部署和运维工作已经下沉到云平台上,人们需要一个更加高效的云原生技术平台。从这几年涌现的安全容器实现技术可以观察到,无论公有云还是私有云厂商,都认识到了将虚拟化的隔离性和容器的高效运维特性相结合,是云原生平台发展的必然趋势。结合当前安全容器实现中遇到的一些问题,我们可以预见到,未来这项技术发展的几个走向:

    1. 需要一个为安全容器而生的轻量级hypervisor,当前qemu+kvm是主流的虚拟化技术,但因为qemu是为通用的虚拟机而设计的,其体量过于庞大,而对于安全容器而言,一个模块化可定制的虚拟化实现尤为重要。如果结合gVisor和nabla的实现来看,内核的可定制性也是安全容器场景的必然要求。rust-vmm即是这样一种模块化的虚拟化组件库。linux内核本身的模块化特性可以部分满足容器场景下的内核定制需求,不过也许像gVisor那样实现一个专为容器而生的内核也许是未来的趋势。

    2. 容器的启动时间是衡量一个云原生平台效率的重要指标,尤其是在Serverless场景下,程序运行时间本身可能很短,这时候启动时间可能占用了其绝大部分,那么这种低效就显得尤为明显。安全容器通过极致的轻量化,可以将容器启动时间降低到100ms以下,但是容器镜像拉取时间过长仍是当前容器部署过程中的一个短板。由于当前容器镜像格式和镜像挂载方式等方面的限制,需要在启动容器之前将容器镜像拉取到本地以后,才能启动容器。而容器启动本身需要的数据只占镜像的6%左右。因此我们亟需一个高效的镜像挂载方式,当前已经有一些免下载和懒加载(Lazy-Loading)的技术原型,后续需要尽快推出一个可商用的镜像下载加速方案。

    3. 当前公有云的网络普遍采用原IaaS的网络管理模式,在地址分配,网络配置效率等方面完全赶不上容器快速启停的需求,docker容器采用的veth方式在性能等方面也很难满足高效转发的要求。因此需要一个专为云原生设计的网络管理方案

    4. 我们看到云平台对应用的管理逐步深入,从只管理基础设施的IaaS层,发展到管理应用整体部署和运维的PaaS,再到如今服务网格(Service Mesh)技术将平台管理能力深入到应用内部的微服务级别。同时我们也看到,以K8s容器、Istio服务网格为代表的云原生技术已经和下层的计算/网络虚拟化等技术逐步整合到了一起,比如安全容器即是容器与计算虚拟化的结合,而Istio服务网格也会与虚拟化网络进行深度整合以提供更高的性能与更精细的QoS控制

    5. 当前硬件加速技术在AI和大数据等领域大行其道,安全容器需要与各种计算加速硬件技术进行结合使得AI、大数据、科学计算等批量计算领域的用户可以利用云平台直接投递其海量的计算任务,可大大降低他们在底层技术上的心智负担。通过硬件加速也是提升云平台本身效率、降低云平台运行成本的有效手段。比如华为云擎天架构在硬件加速方面拥有的技术优势在“安全容器”领域已得到充分的证明,CCE Turbo裸金属容器已经实现了安全容器的部分硬件卸载能力

    总结

    未来必然是云原生技术大行其道的时代,我们已经看到很多传统行业也逐渐认识到云原生技术可以给传统企业的IT软件,工业自动化,线上运维和数据管理等带来明显的效率提升。我们将看到通过对底层硬件和上层服务的全栈整合,打造出一个高效智能的云计算技术平台,而这中间,容器将是串联整个技术栈的关键所在。

     

    点击这里,了解更多精彩内容

    展开全文
  • 伴随当前我国经济发展的速度进一步加快,很多企业逐步开始运用...在此过程中云计算虚拟技术逐步开始走向成熟。云计算虚拟技术主要是收集和计算大数据,并且与其他计算机技术进行融合,大幅度提高了大数据的处理能力。
  • 主要介绍了Java图形界面设计之容器(JFrame)详解,条理清晰,依次介绍了Java基本类(JFC),AWT和Swing的区别,Swing基本框架,图形设计步骤以及组件容器的使用等相关内容,具有一定参考价值,需要的朋友可以...
  • 2020 终于过去。在这一年,特殊的环境让企业的生存和发展充满着不确定性。在持续应对由变化带来的挑战过程中,数字创新能力对于企业来说似乎比以往任何时候都更加重要。...可以看出,以容器为代表的..

    2020 终于过去。在这一年,特殊的环境让企业的生存和发展充满着不确定性。在持续应对由变化带来的挑战过程中,数字化创新能力对于企业来说似乎比以往任何时候都更加重要。

    疫情之下,越来越多的企业坚定了上云和实现数字化转型的信念和步伐,并且积极探索云原生架构转型落地。2020 年 双11,阿里巴巴实现了核心系统全面云原生化的重大技术突破。基于云原生架构,企业可以最大化使用云的能力,聚焦于自身业务发展,开发者也可以基于云原生的技术和产品,提升开发效率,将精力更多地聚焦于业务逻辑的实现。可以看出,以容器为代表的云原生技术正在成为释放云价值的最短路径

    作为云原生发展的基石,容器技术的新趋势和新挑战备受关注。2021 年伊始,阿里云容器服务团队的技术专家们为大家带来了他们对新一年容器技术趋势的六个重要解读

    趋势一:以 Kubernetes 为代表的容器技术,已成为云计算的新界面

    汤志敏|阿里云容器服务资深技术专家

    在最新发布的 “CNCF 2020 年中国云原生调查”中显示,有 72% 的中国受访者在生产中使用了 Kubernetes。过去一年,我们观察到的阿里云上云原生生态的蓬勃发展也印证着云原生技术正成为释放云价值的最短路径。从早期的无状态应用、到 AI 大数据和存储类应用都在拥抱容器技术。可以看见,以 Kubernetes 为代表的容器技术已成为云计算的新界面,并将继续带来更大价值。

    1. 企业从上云,到通过云原生加速分布式云管理

    • 对于企业来讲,容器持续向下封装基础设施,屏蔽底层架构的差异性。
    • 而 Kubernetes 的新界面进一步促进云和边的基础能力对齐,推动“边”的产品能力丰富度和标准化,从而加速容器应用在边缘、IoT 和 5G 等场景的落地。

    2. 容器应用的高密高频挑战,持续重构(Refactor)云计算的架构

    • 在容器应用的高密高频的应用场景推动下,面向容器优化的 OS、裸金属协同、硬件加速等技术持续演进,进一步催熟云计算架构的全栈优化和软硬一体,并给云计算用户带来极致的敏捷、弹性等红利。
    • 而在容器新界面之上的 Serverless、新一代的中间件、新一代的应用 PaaS 方兴未艾。

    3. 容器大规模应用进入深水区,在自动化运维、企业 IT 治理、端到端安全等迎来挑战

    • 随着越来越多的工作负载、AI 大数据、数据库等应用容器化,如何统一容器和基础资源形成统一的人、财、物、权等企业 IT 治理能力,是大规模落地容器的关键述求。
    • 随着越来越多的自定义控制器、越来越丰富的云原生制品格式,如何保障大规模 K8s 集群的稳定性带来强需求,而数据化智能化的 K8s 自动化集群运维和细粒度的 SLO 能力更加迫切。
    • 零信任安全、容器身份认证、云原生制品生命周期管理、安全容器、机密计算等 DevSecOps 实践,持续打造端到端的容器安全网。

    趋势二:围绕云原生应用的高度自动化

    王思宇|阿里云技术专家,云原生应用自动化引擎开源项目 OpenKruise 作者&初创团队成员

    得益于 Kubernetes 面向终态的理念,云原生架构天然具备高度自动化的能力。在应用云原生化的过程中会充分享用到自动化带来的优势,副本数维持、版本一致性、错误重试、异步事件驱动等能力,相比过去面向过程的运维模式而言是一次新理念、新技术带来的进步。在这片蓬勃发展的土壤之上,如何围绕云原生、为应用打造更加自动化的基础设施是未来 2021 年探索的重点方向之一:

    • 应用部署运维更加自动化:云原生业务类型及其多样化,不管是传统 IT、互联网,还是 Web 服务、搜索、游戏、AI、边缘等细分领域,每一种都会有自身特殊应用场景,而抽象、提炼出其中核心通用的部署运维诉求并转化为更加自动化的能力则是深耕云原生的必经之路。
    • 风险防控能力更加自动化:面向终态的自动化是一把 “双刃剑”,它既为应用带来了声明式的部署能力,同时也潜在地会将一些误操作行为被终态化放大,例如在发生操作故障时副本数维持、版本一致性、级联删除等机制反而很可能导致爆炸半径扩大。因此,通过防护、拦截、限流、熔断等防控自动化能力来抑制其他功能性自动化能力的缺陷和副作用,是伴随着云原生规模急剧扩大的必要防护措施。
    • Operator 运行时更加自动化:Kubernetes 能成为容器集群调度管理引擎的事实标准,其强大而又灵活的扩展能力功不可没。Operator 既是一种特殊的应用,也是不少有状态应用的自动化管理者。而过去社区整体 Operator 趋势还停留在数量野蛮增长、周边运行时机制却无太大进步,2021 年 Operator 的运行时将会在水平扩展、灰度升级、租户隔离、安全防护、可观测性等方面获得充分的自动化增强。

    趋势三:以“应用”为中心构建高可扩展的上层平台

    孙健波|阿里云技术专家,开放应用模型 OAM 开源项目负责人

    随着容器技术的进一步成熟,越来越多的企业开始关注容器技术如何更好的为业务带来价值。我们可以看到以 Kubernetes 为交付界面的云原生生态日益庞大,越来越多的团队会基于 Kubernetes 构建上层抽象,增加更多的扩展能力,以“应用”为中心构建高可扩展的云原生平台。

    • 基于 Kubernetes 与标准应用模型构建的易用、可扩展的上层平台将取代传统 PaaS 成为主流。当前云原生生态的软件虽然日益丰富,但是学习和使用门槛依旧非常高,易用性将成为“以应用为中心”的首要突破点。除此之外,在易用的同时保证可扩展性,保证以 Kubernetes 为接入点的开源软件无需或只要较小改造便可接入使用,也是这样类型应用管理平台的重要特征。
    • “关注点分离”的标准化应用构建方式进一步深入人心。围绕 Kubernetes 构建应用交付平台已经逐渐成为共识,任何一个 PaaS 平台都不想把 Kubernetes 屏蔽掉。但是这并不意味着直接把 Kubernetes 所有的信息暴露给用户,PaaS 平台的构建者们极度渴望给用户最佳的体验。解决这个问题的突破点就是大家使用一个标准化的、关注点分离的应用构建模型,平台的构建者们关注 Kubernetes 接口(CRD 和 Operator),而平台的用户,也就是应用开发者们关注的则是一个标准化的抽象应用模型。
    • 应用中间件能力进一步下沉,应用逻辑与中间件逻辑逐步解耦。随着云原生以及整个生态的发展,中间件领域也在逐步发展变化,从原先的中心化 ESB 到如今通过 Sidecar 模式提供能力的 Service Mesh 。应用中间件不再是通过一个胖客户端提供能力,而是成为一个能力的标准接入层,能力的提供则由应用管理平台通过 Sidecar 的方式在应用运行时注入。相信 Sidecar 这种模式将在除流量治理、路由策略、访问控制之外的更多中间件场景中得到应用,“以应用为中心”,让业务更专注,更聚焦。

    趋势四:“云边一体”迎来快速发展

    黄玉奇|阿里云高级技术专家,边缘计算云原生开源项目 OpenYurt 负责人

    随着 5G、IoT、直播、CDN 等行业和业务的发展,越来越多的算力和业务开始下沉到距离数据源或者终端用户更近的位置,以期获得很好的响应时间和成本,这是一种明显区别于传统中心模式的计算方式——边缘计算。未来,边缘计算将存在三个非常明显的发展趋势:

    • AI、IoT 与边缘计算的融合,边缘计算场景中业务种类会越来越多、规模越来越大、复杂度越来越高。
    • 边缘计算作为云计算的延伸,将被广泛应用于混合云场景,这里面需要未来的基础设施能够去中心化、边缘设施自治、边缘云端托管能力。
    • 5G、IoT 等基础设施的发展将会引爆边缘计算的增长。

    边缘计算的规模、复杂度正逐日攀升,而短缺的运维手段和运维能力也终于开始不堪重负。在这个背景下,“云边端一体化运维协同”已经开始成为一种架构共识。通过云原生加持,云边融合的进程也正在被急剧加速:

    • “云”层,让我们保留了原汁原味的云原生管控和丰富的产品能力,通过云边管控通道将之下沉到边缘,使海量边缘节点和边缘业务摇身一变成为云原生体系的工作负载。
    • “边”侧,通过流量管理和服务治理使其更好的和端进行交互,获得和云上一致的运维体验,更好的隔离性,安全性以及效率,从而完成业务、运维、生态的一体化。

    边缘计算云原生即是云原生的新边界,也是边缘计算的新未来。

    趋势五:云原生 AI 只是起点,云原生驱动数据变革是新主题

    张凯|阿里云高级技术专家,负责容器服务和云原生 AI 解决方案研发 车漾 | 阿里云高级技术专家,开源项目 Fluid 联合发起人

    数据是企业的核心资产,云原生为了更好地支撑企业 IT 数字化和智能化转型,拥抱数据驱动应用是其未来几年中最重要的使命之一。除了生在 Docker 里、长在 Kubernetes 下的云原生 AI 之外,如何能让传统的大数据和 HPC 应用也平滑迁移到 Kubernetes 平台上来,实际上也是云原生社区需要回答的问题。我们看到的趋势是致敬传统任务调度器、容器化资源精细调度、弹性数据任务全新场景、AI 与大数据的统一云原生底座。

    • 致敬传统任务调度器: Kubernetes 关注于资源调度,但是对于大数据和 HPC 的调度功能比起 Yarn 等离线传统调度器还有很多需要借鉴的地方,最近在 Kubernetes 的 Scheduler Plugin Framework 的灵活框架下,适配于大数据和 HPC 场景的批量调度,Capacity 调度正在逐步落地。
    • 容器化资源精细调度:Kubernetes 利用容器特性和插件化调度策略,可以原生地支持 GPU 资源共享调度,并且可以进行 GPU 资源隔离,Nvidia Ampere 的调度也在 Kubernetes 上做了 Mig 原生支持。这也是 Kubernetes 独特的能力。而资源共享不仅仅限于 GPU,对于 RDMA,NPU 甚至存储设备,这种调度能力都是必不可少的。
    • 弹性数据任务全新场景:随着大数据和 AI 应用的弹性化越来越普及,如何让数据也有弹性的能力,让数据像流体一样,在诸如 HDFS、OSS、Ceph 等存储源和 Kubernetes 上层云原生应用之间,灵活高效地移动、复制、驱逐、转换和管理,推动广阔云服务场景下的大数据、AI 落地新应用。
    • AI 与大数据的统一云原生底座:基于作业调度、资源利用率优化和数据编排这些原子能力,越来越多 AI、机器学习平台和大数据分析平台构建在容器集群之上。而 AI 与大数据对数据的依赖度,对计算、网络和存储资源的需求特点、工作负载特征、运行策略、对在线服务的重要性,甚至影响企业 IT 成本的因素,都有很多相似之处。因此如何以统一的云原生底座同时支持 AI 和大数据作业,将成为企业 CTO、CIO 思考的主题之一。

    趋势六:容器安全成为重中之重

    杨育兵|阿里云容器服务高级技术专家

    容器已经成为应用交付的标准,也是云原生时代计算资源和配套设施的交付单元。以 runC 为代表的使用 linux container 技术实现的容器运行时,以轻量、高效、自包含、一次打包到处运行等优秀特性,深受广大容器开发者和使用者的喜爱。

    容器技术及应用日渐普及,正成为云计算的新界面。但云计算下的容器技术正面对新的挑战。多个容器共享了同一内核,在隔离和安全性方面必然存在天然缺陷,并进一步限制了容器的应用场景和发展,使其只能应用于企业内部环境等单租场景。但云原生产品交付给不同租户的容器,即使运行在同一台宿主机上也必须具备强隔离的安全保证;在云原生产品时代,容器运行时除了需继续保持轻量、高效、自包含、一次打包到处运行的优秀特性外,还需进一步确保良好的安全隔离性,容器安全成为重中之重。以 KATA 为代表的使用轻量虚拟化实现的容器时逐渐成为多租场景的标准容器运行时。

    除了运行时的安全隔离,网络、磁盘、镜像、K8s API 等层面的安全隔离也是必须要解决的问题。涉及到多租户和运行不可信代码,用户可接触到的一切资源都是需要隔离的,包含网络可达的目标,可以使用的存储,可以下载或本地访问的镜像内容都需要隔离。为了防止隔离实现本身有漏洞被用户利用,安全防护需要多层次的深度防护,网络防护除了 VPC 隔离,还需要网络策略细化隔离;计算的隔离除了虚拟化技术的隔离还需要有命名空间、系统调用等方面的隔离;存储的隔离除了有虚拟化相关的隔离,还需要在宿主机上面做 DiskQuota 隔离;镜像的隔离除了要做网络隔离,还需要做本地的镜像引用隔离。这些实现都是向强隔离、多层深度隔离方向发展。

    容器安全技术也面对其它新的挑战:引入虚拟化后,容器技术实现不再轻量,如何对虚拟化技术优化,并尽可能轻量、高效成为我们必须要解决的问题;业界也有像 Google 的 gVisor 和 Crosvm、Amzon 的 Firecracker 等轻量虚拟化支持容器化的技术,阿里内部也有相应的 Daishu 虚拟化容器技术来解决这个问题。

     

    作者:阿里云容器服务团队

     

    原文链接

    本文为阿里云原创内容,未经允许不得转载。

    展开全文
  • 容器化、云原生已经成为数据中心未来的主要发展方向
  • 采用左移测试可以帮助软件开发在整个生命周期出现的缺陷更少,虚拟化(Virtualization)和容器化...虚拟化和容器化将是最大发展趋势之一,这样可以将测试代码独立出来,这种方法将帮助自动化更好的执行和
  • 嵌入式设备的容器化App

    千次阅读 2019-06-10 10:15:52
    为此,我们开始了一个边缘设备软件的开发原型项目(Edge Device),目标是在一个小型cortex-A SoC 嵌入式平台上开发一个容器化APP 环境。构建边缘设备容器化APP 的概念平台。它具有如下特点 -采用 linux OS 。 ...
  • 外卖客户端容器化架构的演进

    千次阅读 2020-09-30 20:01:48
    总第413篇2020年 第37篇好的架构要不断演变,进而去适应业务的发展。美团在移动端上的架构,也经历了组件化、平台化、RN混合化,到现在开始向容器化变迁。容器化架构充分地利用了现在的跨...
  • 基于K8S的容器化PaaS平台建设

    千次阅读 2021-04-21 09:32:26
    说到“云”一定要提到IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)这三个概念,在当前SaaS、IaaS越来越成熟之际,PaaS是主要的发力点,基于Kubernetes(K8S)的容器化云平台应运而生。容器化的...
  • 随着Devops深入人心,现在docker势头强劲,但是mac和windows都不支持docker,相比较而言,虚拟化比较成熟。容器化和虚拟化哪个才是未来的主流?
  • 农民团体蔬果共同运销数量历年来不断成长,已在全省果菜批发市场占有主流的地位,而农产品的包装、储运、装...
  • 基于最新Spring 5.x,对于基于XML的Spring IoC容器初始过程中的setConfigLocations设置容器配置信息方法的源码进行了详细分析,最后给出了比较详细的方法调用时序图!
  • 2020年六大容器应用趋势

    千次阅读 2020-04-05 08:15:00
    分析公司Gartner预测,到2023年,70%的组织将在生产中运行三个或更多容器化应用程序。容器、Kubernetes和微服务应用模式是企业IT创新和数字化转型的三大驱动力。很多公司...
  • Qunar 云原生容器化落地实践

    千次阅读 2021-09-17 13:37:46
    基于这个大的趋势, 2020 年底 Qunar 也向云原生迈出了第一步——容器化。 云原生是一系列可以为业务赋能的技术架构准则,遵循它可以使应用具有扩展性、伸缩性、移植性、韧性等特点。云原生也是下一代技术栈的必选项...
  • 基于这个大的趋势, 2020 年底 Qunar 也向云原生迈出了第一步——容器化。 云原生是一系列可以为业务赋能的技术架构准则,遵循它可以使应用具有扩展性、伸缩性、移植性、韧性等特点。云原生也是下一代技术栈的必选项...
  • 本文技术涉及基于Docker容器的移动端双系统实现系统及方法,所述系统包括相互连接的内核层及应用程序层,其中,应用程序层包括Docker模块以及Docker模块根据Docker创建的多个容器,所述内核层包括LSM模块,所述LSM...
  • 2021-2027全球与中国PET吹塑容器市场现状及未来发展趋势.docx

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,986
精华内容 17,194
关键字:

容器化趋势