容器将成为下一个“Linux”


【编者的话】随着容器在使用、流行和复杂性方面的不断增长,它们将与Linux操作系统一样,很快成为不可或缺的开发工具。

Linux操作系统在过去的20年里给数据中心带来了革命性的变化,今天它是应用程序托管平台无可争议的领导者。很难想象,将任何关键任务的生产工作负载部署到Linux以外的任何平台。

当Docker使Linux容器流行起来,这与几年前在打包、部署和托管应用程序方面开始的革命何其相似。此后,整个行业的容器使用呈指数级增长,并且与日俱增。

正如我们无法想象将任何关键应用程序部署到非Linux操作系统上一样,容器也是如此:任何应用程序都必须是容器,以满足未来Web规模的需求(即安全性、可伸缩性、平台无关性和易移植性)。这些容器现在是,未来也将是运行任何关键应用程序和工作负载的新一代“Linux”。

容器采用趋势

根据Datadog于2018年6月更新的调查显示,有一种趋势是,25%的公司已经采用Docker,其余公司正在迅速追赶。这里有详细的调查数据。
1.png

容器和编排

Kubernetes、OpenShift、Apache Mesos和Docker Swarm对容器提供了极好的编排支持,使得管理一个数千个容器的平台或基础设施要容易得多。在编排工具提供的自动化功能的帮助下,一名工程师就可以管理容器化应用程序的异构部署。

Kubernetes正在统治Docker容器的编排世界,谷歌是它的最初创建者,CNCF是所有者。Kubernetes在整个行业中也拥有最好的社区支持和极好的适应性。

为任何容器化应用程序提供编排支持的一些特性:
  • 基于资源利用率的水平自动伸缩。
  • 与云基础设施紧密集成时,应用程序实例可以无限伸缩。
  • 应用程序实例的自愈。
  • 在线升级。
  • 金丝雀升级。


容器与微服务

作为编排工具,Kubernetes再次主导微服务部署领域,用于承载和运行容器支持的微服务,它是最著名、最受欢迎的平台之一。

所有标识的微服务首先被转换为Docker容器,然后转到Kubernetes平台进行部署,这使得它们在整个生命周期内快速部署并易于管理。

基于容器的微服务在伸缩和自愈场景下更容易,启动和服务工作负载更快。

非常规应用中的容器采用

在采用容器的过程中发生了许多不可思议的事情;曾经被认为不可能在容器中运行的应用程序现在正在迁移到容器中,并且现在可以在容器化平台中使用。

数据库

几年前,数据库被认为是保持在容器技术之外的东西,但今天我们有了NuoDB,它是一个容器和云原生数据库,专门设计和开发用于在容器上运行,以支持数据库级别的WebScale功能。

Oracle 12c现在可以在Docker仓库的官方Docker镜像中预先配置。

数据库层容器化令人由衷地兴奋,这将使应用程序更容易WebScale,因为按需扩展数据库(部署在物理服务器上)的限制将消失,数据库在容器内运行以及部署在业务流程引擎上, 将能够在需要时轻松地与应用程序实例一起扩展。

电信行业中容器化的电信网络组件

电信行业向使用的可编程网络转变的势头正在加快,这将帮助所有CSP以虚拟化方式运行所有网络功能,而不是在传统昂贵的硬件上运行这些功能,同时大幅降低运营成本。这也将使所有CSP能够在需求增加时以完全自动化的方式快速扩展其网络。然而,容器相对于VM的优点已经在应用程序中得到了验证,因此整个行业都非常希望telco VNFs获得相同的优点。

电信行业向使用SDN-NFV的可编程网络转变的势头正在加快,这将帮助所有CSP显著降低其运营成本,同时以虚拟化的方式运行所有网络功能,而不是在传统昂贵的硬件运行。这也将使所有CSP能够随着需求的增加,以完全自动化的方式迅速扩展其网络。然而,容器比虚拟机的好处已经在应用程序世界中得到了证明,因此整个行业对电信VNF也获得同样的益处有着非常高的兴趣。

RedHat以及ONAP也在以下文档中对此进行了详细介绍:


伴随着这些趋势,在应用程序和虚拟化网络级别上,电信世界将被容器化平台统治的日子不远了。

基于容器的大数据平台

在大数据世界中,HortonWorks的HDP 3.0数据平台的新版本现在使用Docker容器来运行其内部组件(YARN容器、Web应用程序和HDP服务)。Hadoop集群是一个自我管理的集群,完全支持现代和标准的集群应用程序,因此,大数据平台能够在容器上运行并由编排工具(集群中的集群!!)管理,在之前这是一个有争议的话题。但是由于我们已经有了容器化服务的新版本,所以在不久的将来,我们将在Kubernetes平台中运行Hadoop集群也就不足为奇了。

云和容器

随着容器的普及,所有云服务提供商(AWS、Azure、GCE、Oracle、OpenStack等)也意识到他们必须提供并支持本地容器和Kubernetes编排服务。今天,我们看到几乎所有的云提供商都拥有自己的本地容器和编排服务/平台。以下是云计算公司提供的一些本地容器平台示例:
  • AWS — KOPs
  • 谷歌云- GKE
  • Azure - Azure Kubernetes服务
  • RedHat OpenStack - RedHat OpenShift
  • Oracle云- Oracle Kubernetes引擎


同样,这种方式为我们提供了一个清晰的趋势,即使组织正在迁移到云基础设施,以取代其遗留的本地数据中心,容器仍然是部署和运行应用程序的首选。

基于容器的私有云部署

当我们谈论云和容器时,已经有云在容器上运行了。

OpenStack无疑是私有云领域的赢家,整个私有云托管世界由OpenStack统治,为全球各地的组织提供云计算的强大功能。

然而,现在OpenStack的新版本可以以一种容器化的方式部署。这使得整个私有云部署并运行在容器中,令人难以置信。

随着容器采用率的指数级增长,以及软件行业和各个产品部门的根本性变化,容器现在是、未来也将是承载和运行各种工作负载的新Linux,这一说法变得更加现实。

原文链接:Containers Are and Will Be the New Linux

译者:Mr.lzc,软件工程师、DevOpsDays深圳核心组织者,目前供职于华为,从事云存储工作,以Cloud Native方式构建云文件系统服务,专注于Kubernetes、微服务领域。

0 个评论

要回复文章请先登录注册