容器编排引擎对于混合云的好处

    作者:课课家教育更新于: 2017-07-20 17:45:56

      欢迎各位阅读本篇文章,本篇文章讲述了容器编排引擎对于混合云的好处,由Docker引领先锋,容器在过去的一年里得到了飞速发展。容器技术提供了组件化环境,帮助应用在云之间轻松迁移而无需显著的返工。课课家教育平台提醒各位:大家一定要认真阅读本篇文章哦!

      混合云将是企业的新的应用模型,但是应用移植性却成了首要问题。但是,在混合云编排中,容器引擎却可以就对这一挑战。

    容器编排引擎对于混合云的好处_云平台_容器_混合云_课课家教育

      对于使用公有与混合云的组织来说,容器已经成为了应用移植的最佳途径。容器编排引擎提供了一种能力来管理容器的执行和规模——这一好处在混合云用户中同样存在。

      让我们考虑一下这个新兴趋势:使用容器和容器编排引擎来确保混合云编排。最好的做法是看看用例和挑战,以及最佳实践。

      混合云中容器用例

      混合云由私有云和公有云基础架构组成。许多情况下,组织希望能够随着意思在这两种环境中进行应用迁移。

      这种场景下,使用容器可以提供一些帮助。首先,它在容器化的应用和运行应用的本地云平台之间,提供了一个抽象层。其次,来自于底层云平台的这一抽象层让应用,在云环境之间迁移更顺畅,包括在私有云与公有云之间。

      在容器编排引擎中运行的容器,如Kubernetes,也能够自身复制,并且运行在集群中。这让组织可以横纵扩展容器的数量,从而满足运行在公有与私有云上工作负载的需求。

      容器化的工作负载要求有一个持久的、扩展的和可靠的,而且对私有与公有云都适用的管理堆栈。容器的提供并支持分布式系统的能力,能够充分满足这一需求,通过在公有云和私有云之间提供高度细粒度的集成。

      挑战和最佳实践

      通过容器编排引擎,企业开发人员和IT团队可以自己尝试构建,在公有与私有云之间支持容器移植的架构。他们也可以使用软件或云服务提供商构建的平台。

      例如,红帽持续改进其容器平台,使其适用于混合工作流。新的OpenShift Container Platform 3.4让企业可以使用Docker容器和Kubernetes编排平台分配资源,包括跨公有与私有云。另外,Cloudify提供了一个容器编排系统,允许基于容器的应用与非容器化运行一起运行。这包括有状态和非状态的服务,所有这些服务都通过一个应用蓝图或控制器。

    尽管容器、编排引擎和混合云已经存在了一段时间,但仍然没有现成的平台或工具可以将用户从容器配置和架构的复杂性中全面抽象出来。

      尽管容器、编排引擎和混合云已经存在了一段时间,但仍然没有现成的平台或工具可以将用户从容器配置和架构的复杂性中全面抽象出来。今天,这还是需要很多DIY。即使组织使用诸如Red Hat OpenShift容器平台产品,他们仍然需要花费大量的时间来集成容器、编排引擎和应用本身。

      更多交钥匙平台将不断涌现,但面临的挑战是,在围绕具体工作负载的情况下,企业必然会遇到自己要解决的问题。例如,IT团队需要解决耦合问题,这些问题限制了它们在公有和私有云之间分离工作负载的能力。例如,某些网络功能本质上是针对特定云平台的,这需要组织进行大量重做工作,才能跨私有与公有云实现迁移能力。

      当然,如果混合云在你的计划之中,并且你需要一种方法能让工作负载跨公有与私有云迁移,容器编排引擎和它的技术是值得你考虑的。

      各种容器技术间的竞争正如你所看到的,当前市场上已有多种容器打包与编排技术、框架及云服务可用,乃至上面的列表都未能涵盖全部。仍有新的事物在不断地涌现。

      从开发人员的角度可以给出的一个重要结论是,不要聚焦于在后台为容器开发代码,而应该将注意力放到业务逻辑上,采用软件厂商无关的方式实现自己的微服务。

      要避免重蹈我们曾在J2EE/java EE上所犯的错误。彼时虽然所有的软件厂商都采用同一标准规范,但是他们仍然在所谓的“标准实现”中提供了与特定厂商相关的特性和“附加值”。这导致将应用迁移到另一个Java EE应用服务器上时,需要做大量的工作(重开发、测试,诸如此类)。很多情况下,重写代码反而比迁移更加容易和快速。

      虽然当前Docker的发展势头很好,但依然存在对Docker未来发展的顾虑。一些使用了Docker的软件厂商并不乐意看到Docker一家独大。例如在Docker项目中集成Docker Swarm的模式会令Red Hat或Google等其它的编排服务提供商高兴不起来,因为这些厂商偏重于使用Kubernetes做容器编排工具。

      为了能够在不使用Docker的情况下在Kubernetes中运行容器,这些厂商又建立了一个新的开源项目,称为“CRI-O”。更多的相关信息可以参阅InfoWorld:“Red Hat的新项目看上去非常像是Docker的分支”,文章中给出了从Docker拉出一个分支作为一个独立开源项目的相关讨论。整合各种容器技术及工具

      应注意的是,上面所讨论的技术和工具可以被放在一起使用。各种技术和工具之间通常是互补的,并没有必要去一争高低。

    应注意的是,上面所讨论的技术和工具可以被放在一起使用。

      例如在Kubernetes集群中,可以同时使用Docker或rkt等各种容器技术去管理pods。另一个例子,Apache Mesos可管理不同集群,其中包括基本的Docker Swarm集群、Kubernetes集群,以及使用了Apache Hadoop或Apache Spark的大数据集群。

      不要小觑这种特性!我举一个例子,Apache Hadoop 将提供对Docker的支持,用于实现在Hadoop容器中部署Apache Kafka或是Apache Spark等独立组件(Hortonwork在上周的路演大会上展示了它的Hadoop战略,我在其中看到了这个路线图)。

      总而言之,无论你是否在具有源代码(使用Java、.Net或是Go等技术)或是可视编码(例如中间件技术)的微服务之中开发业务逻辑,你应该做到的是一次开发并可在各种容器、测试环境或者云服务提供商平台中部署,无需重新开发甚至是必须要去改变之前所选用的技术。更多内容,尽在课课家教育!

课课家教育

未登录