当前位置:主页 > CIO > 沟通 >
    容器的发展将促进业务向云端迁移
      时间:2017-11-07 11:44 作 者:

  如今,云计算已经不再被人们视为一种奇特的新技术,它已经成为组织满足业务需求的IT工具包的一部分。与此同时,云计算不如其他IT应用那么成熟,一些用户认为其应用可能会更复杂。

  云计算一直以来的一个承诺是用户应该能够将工作负载从自己的数据中心迁移到云服务提供商提供的云平台,并在需要时其业务甚至可以从公共云再次返回。这可能是因为应用程序或服务需要的资源比该组织所能提供的资源要多,或者仅仅因为外部部署的成本更高。

  尽管如此,云采用大体上沿袭了私有云的模式来运行传统的企业工作负载,而新建应用程序和服务则是在公共云平台(如AWS)中开发和部署的。即使传统的工作负载已经外包给服务提供商,这通常是托管数据中心或私有云安排的情况。

  Ovum公司首席分析师Roy Illsley表示,这是因为许多组织仍处于采用云端的早期阶段,只是希望能够踏上第一个阶梯。

  “我们并没有真正看到企业将其业务迁移作为他们的首要关注点。他们真正想要做的是“提升和转移”到云端,所以他们可能会拥有这种基于传统硬件的三层应用程序或数据库,他们想知道如何将其作为第一步。他们一旦这样做,就会开始考虑如何转换工作负载,改变工作量,并考虑迁移到别的地方。”Illsley说。

  工作负载流动性从来没有真正发挥作用,这是有充分理由的。VMware的VMotion功能支持虚拟机在主机服务器之间的实时迁移,但在数据中心内部执行这种操作是另一回事。

  如果要将工作负载从自己的云平台迁移到另一个不受控制的云平台上,事情会变得更加复杂。由于虚拟机管理程序、API和所使用的管理工具的差异,将虚拟机迁移到不同平台上是不现实的。即使它是基于同一平台,也可能与企业在自己的基础设施上运行的工作负载没有相同的管理监督和控制级别。

  还有一个事实,即企业工作负载很少在没有资源的情况下运行;它们依赖于其他资源来运行,如共享存储、SQL数据库服务器或目录服务。除非这些服务也复制到云端,否则工作负载和这些资源之间的流量必须通过WAN连接而不是通过数据中心本身进行路由。

  也许正是由于这个原因,导致VMware公司改变策略,并将其vCloud Air服务用于Cloud Foundation,Cloud Foundation是一个将其作为独立软件定义数据中心(SDDC)所描述的平台,可以配置到常用的公共云上,例如AWS和IBM SoftLayer。

  然而,由于容器,工作量流动性的前景可能会更接近现实。由于Docker的应用日益增多,大多数人都已熟悉了容器,但其生态系统是由各种技术和实施而成的。

  所有容器平台共享的是它们使一些软件及其相关数据(如代码库)被封装在一个单独的空间- 容器中。多个容器可以在同一主机上运行,​​如虚拟机,但容器在资源上更加轻量化,而且给定的服务器可以比虚拟机操作更多的容器。

  “容器方法为开发人员提供了一个编写新的云原生应用程序的机会,只要具有对容器的支持,并且如果运行在Linux上,就可以在一个平台上操作在各种其他云环境中运行的这个容器。”Illsley说。

  容器的成长

  与虚拟机相比,容器是一种不太成熟的技术,因此,各种平台仍处在开发和完善相关组件(如编排、监视、持久存储支持和生命周期管理工具)的过程中。对于像谷歌或Facebook这样的互联网巨头来说,以任何规模来运营基于容器的应用程序框架都是至关重要的。

  Docker已经将其平台作为包装和运行容器的主流格式,但是有几种可用于编排的工具,例如起源于谷歌的Kubernetes项目或Apache Foundation的Mesos项目,以及Docker的Swarm工具。

  Kubernetes被集成到几个企业平台上,如VMware公司的Photon,Red Hat公司的OpenShift应用平台,甚至是微软Azure 容器服务。同时,Mesos被许多大型网络公司使用,如Twitter,Airbnb和eBay,因为它可以扩展到管理数万个运行容器的节点。

  容器通常捆绑在Linux这个特定的操作系统内核上。而Docker这样的容器平台通常基于Linux内核的功能,但是微软公司最近已经开始向Windows Server及其Azure云服务添加对容器的支持。

  虽然在Linux系统上创建的容器映像应该在任何其他Linux系统上运行,但是却不能获取为Windows创建的容器映像,并在Linux上运行,反之亦然。话虽如此,微软公司2017年4月推出了DockerCon,它将在Hyper-V容器中支持Linux容器映像,其容器在一个小型虚拟机中。

  容器不太可能完全替代虚拟机,但是对于许多工作负载来说,特别是横向扩展的分布式工作负载,它们正在成为首选的部署方式。这不仅仅是因为它们更容易和更快速地进行配置,而且还因为它们更容易从一个系统迁移到另一个系统,最终开始实现更多的云计算的承诺。

  Docker是什么?

  Docker是所有人在提到容器时都会想起的公司和平台,但并没有创造出这个概念。相反,它在Linux内核中采用了一些功能(称为LXC),并将其开发成为一种成品,使用户可以轻松地使用一个或多个容器创建和操作工作负载,使其受到了开发人员的欢迎,可用作开发和测试平台。

  Docker成功的一部分原因是它不仅创建了一组用于控制Docker主机的API,还包括用于存储和分发应用程序作为容器图像的封装格式。 Docker架构还要求注册表充当图像库,用户可以维护自己的注册表或从诸如Docker Hub之类的公共的图像中获取现成的图像。

  因此,Docker平台下的一个容器基本上是一个封装器,用于交付和运行应用程序或服务,以及它所依赖的所有代码库,所有这些都在自己的封装中。

  然而,它构建的基础LXC功能更适合将Linux服务器分配到多个单独的用户空间,类似于Oracle Solaris操作系统中的区域,或者甚至更老的大型机概念。





发表评论

最新评论
 
 
热点文章
浏览排行