什么是云编排?

编排能不能被视为交付和配置管理方案的替代品是值得商榷的,在云原生应用程序的前提下尤为明显。我们可以从各个角度来看这个问题:与数据中心解决方案进行比较,区分基础设施(云端和云外)与容器(主要关注云)的编排,以及在不同场景下的最佳实践。

基础设施或容器?

在讨论编排时,第一个不可避免地问题就是:基础设施编排或容器编排?

这是我们面对的两难选择,取决于我们希望实现的抽象程度以及如果组织堆栈。如果我们决定在基础设施层进行管理,我们将使用虚拟机和裸机服务器。换言之,即多租户或单租户服务器。假设我们以IaaS的方式使用云,那么我们就会得到一些资源,例如网络资源、存储、负载平衡器、数据库、DNS等等,我们可以根据自己的喜好建设基础设施。

如果我们已经决定在CaaS(有时被视为PaaS)层进行管理,将对容器的生命周期进行管理,或者对工作负载进行管理。对于那些不熟悉容器的人来说,这不是一种查看工作负载的新方式,最受欢迎的是Docker,Rkt和LXC。容器非常适合定义一个不可变的体系架构,也可以用于微服务定义,更不用说它们是轻量级的,易于移植的,并且可以打包使用。

这两者都各有优缺点,下面继续讨论两者的编排方面。

基础设施

编排基础设施的方法有好几种,下面介绍的是最受公司欢迎的两种。

交付和配置管理:一种方式是使用旧式的PXe/Kickstart组合文件,尽管它正慢慢被自动化解决方案取代,但有些公司仍然坚持使用它,或者像Cobbler这样的替代品。另一方面,我们使用诸如Foreman等工具。Foreman支持跨不同操作系统的BIOS和UEFI,并且与Puppet和Chef等配置管理工具集成。Foreman在数据中心交付方面表现出色,并为我们提供了易于管理的基础设施,可随时使用或配置管理。

一旦完成交付,我们就会进入配置管理,其中包括生命周期的管理。包含Ansible、Chef、Puppet、Salt,甚至是老式可靠的CFengine。后两个是我的最爱,同时Ansible也给了我很多帮助,因为简单无主的工作方式。

编排和可选的配置管理:现在,编排意味着概念上的不同,现在常用的工具是Terraform。它允许在数据中心或云端进行编排,与AWS,Oracle Cloud,Azure甚至AliCloud等不同的云进行集成。除了云提供商之外,还可以将Terraform与第三方(如PagerDuty)集成并处理所有类型的资源。从经验来看,这种整合是顺利且简单的,但有时还不够成熟。

并非所有提供商都能提供高度的灵活性。最初在Oracle Cloud中使用Terraform时,OCI的自动缩放还不够成熟。因此,该提供商不允许Terraform创建自动缩放组,但是有时候这些工作非常重要,以至于曾需要同时使用Terraform和AWS工作。另一个是看提供商的功能,不管是云还是其他。不容忽视的是,有时我们的工具不能很好地融合在一起设计出合适的架构。

Terraform的另外一个优点是它可以编排任何基础设施,包括虚拟机、裸机以及网络资源和存储资源。同样,它将取决于云和Terraform提供商以及所使用的插件。

Terraform新一代工具的作用不仅在于编排,还在于作为代码(IaaC)方面的基础设施。这个行业到处都是IaaC,Terraform也不例外。我们被允许将资源定义存储在任何VCS系统,Git,SVN或任何其他文件中,而且这非常庞大:它允许我们拥有版本化的基础设施,团队可以进行交互,并且每个人都可以加速且管理分支机构并定义不同的版本,分离基础设施和环境的版本,如生产、分期、UAT等等。

一旦完成了Terraform的初始步骤,配置就可以用诸如Cloud-Init之类的任意引导完成。另一种比较流行的选择是Ansible:它适用于小型简单初始任务。如果开始从事云计算,Cloud-Init比较符合需求。之后可以使用其他配置管理工具接管。

容器编排

容器不再是新事物,他们已经存在了几年(或几十年,取决于我们如何看待它),它们足够稳定和有用,我们可以选择它们作为平台。

虽然数据中心的容器很有趣,但云端的容器更好,尤其是由于现在大多数云提供给我们容器编排,以及大量的解决方案,以防我们无法获得足够的容量。例如ECS, Amazon Container Service,ACS, Azure Container Services; CoreOS Fleet; Docker Swarm,GCE, Google Container Engine,Kubernetes等。

Kubernetes将来会有很好的发展,主要有以下三个原因:

它是由谷歌设计的,使用环境巨大,并且能够蓬勃发展;

它是云原生计算基金会(CNCF)的一个选择,这意味着它有更大的机会来生存。CNCF对云原生应用程序非常重要,受到许多公司(如Oracle)的支持;

该架构简单易学,可以快速部署,并且容易扩展。

Kubernetes是一个非常有前途的工具,并且已经取得了成果。如果您正在考虑大规模的容器编排,开始深入研究诸如Minikube之类的技术,并慢慢推进诸如Rancher等易于使用的工具,这将大大有助于为未来铺平道路。

结论

正如已经表明的那样,有许多解决方案取决于正在管理的基础设施类型,还包括基础设施的位置、规模以及目前如何分配。

技术可以共同使用。在Oracle云安装了OKE(Oracle Kubernetes Engine)之前,在云端实现Kubernetes的方式是通过一个实例化必要基础设施的Terraform插件,然后在其之上部署Kubernetes集群,以便我们继续配置、管理和安装应用程序(例如ElasticSearch)。

现在行业正在迈向云计算,这意味着所有将作为XaaS(一切即服务)提供。这反过来意味着构建分布式架构,可靠、高性能、可扩展且成本更低,而且对于一些公司来说,这是一个巨大的竞争优势。

尽管如此,还是有很多技术可供选择。通常,选择符合行业标准的技术是一个明智的决定。这意味着它已被公司用于当前的开发,并将在未来数年内得到维护。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

云计算容器安全性知多少

随着Docker的崛起,Linux LXC以及其他的容器供应商已经多次提出了云计算容器技术对于企业应用是否具有足够安全性的问题。 当然,这项新技术比传统基于管理...

4374
来自专栏魏艾斯博客www.vpsss.net

聊聊 Vultr 服务器优势和选择理由

1K3
来自专栏极乐技术社区

小程序开放小游戏类目 | 小程序升级实时音视频录制播放等能力

轻松一刻 ? 漫画来自于西乔《神秘的程序员们》 01 微信新增小程序任务栏、程序间快速切换功能,开放小游戏开发文档和开发者工具 1、新增小程序任务栏功能 6.6...

4777
来自专栏SDNLAB

容器控制的关键

随着企业追寻容器架构带来的优势,来自谷歌、Docker、CoreOS、Mesosphere和Joyent之类的容器生态系统通过采用者和贡献者的工作继续发展壮大。...

2885
来自专栏SDNLAB

安全和网络,Vmware大叔与Docker的爱情故事

众所周知,Docker在2015年以迅猛的速度席卷了整个IT界,其火热程度可见一斑。作为一个基于Linux内核的容器技术,它的稳定高效的确对现有的虚拟机厂商构成...

3558
来自专栏大魏分享(微信公众号:david-share)

五板斧-帮助企业敲开IT转型之门

当前,随着第三平台的到来和互联网行业的冲击,传统行业的IT系统都面临着转型的压力。而在转型过程中,继续使用封闭的IT系统显然是逆势而为。实际上,无论从全球IT发...

3085
来自专栏大魏分享(微信公众号:david-share)

私有云竞争如此激烈,前景在哪?

国内私有云现状 目前国内做私有云的公司,没有两百家也不少于一百。在很多客户云管平台投标的时候,往往是各个厂商群雄逐鹿,技术参数项全满足,报价却一个比一个低。最后...

4096
来自专栏SDNLAB

OpenStack发布第16个版本Pike,关注基础设施可组合性

业界领先的开源云计算项目OpenStack周四发布了第16个版本Pike,新版本并没有增加太多的新功能,而是专注于改进基础设施,Pike版本的核心主题是各种研发...

3609
来自专栏DevOps时代的专栏

John Willis:Docker 与实现 DevOps 的三种方式

作者简介 John Willis,Docker 布道师,已经在 IT 管理行业浸淫 30 余年,之前在 Socketplane(被Docker 收购)和 Ens...

4554
来自专栏FreeBuf

WAF产品经理眼中比较理想的WAF

WAF简介 WAF(Web Application Firewall,简称:WAF),百度百科上的定义,Web应用防火墙是通过执行一系列针对HTTP/HTTPS...

75310

扫码关注云+社区

领取腾讯云代金券