如果说眼下还有什么比容器更热门,那很可能就是基于容器的技术,例如无服务器计算。它不仅是当前备受关注的新兴技术,也凸显了自动化和编排*对现代应用的重要性。
容器架构几乎每天都会出现新组件,并伴随相应程度的自动化。在容器领域,只要某项工作可以实现自动化,就会实现自动化。大量API以及对基于配置和模板的构件的依赖推动着容器环境中的自动化持续演进。如果说API经济对企业数字化转型十分重要,那么另一种API经济对IT数字化转型则至关重要。
容器环境也不例外。随着容器环境不断进入生产环境,上游(南北向)服务不仅需要能够交付在这些高度动态的环境中扩展和提供的应用,还需要在自动化和编排层与这些环境集成,这一点日益重要。
这是因为该技术“堆栈”的某些层比其他层更易发生变化。例如,容器的创建和销毁频率远高于整个集群的创建和/或销毁频率。事实上,Data Dog HQ的《Docker采用情况》报告指出:“截至2017年3月,在运行Docker的Datadog客户中,约有40%还运行了Kubernetes、Mesos、Amazon ECS、Google Container Engine或其他编排工具。”自动化和编排对于容器的成功应用至关重要,尤其是在其核心层面。这意味着,在推进过程中,必须尽快(并全面)满足一些自动化需求,因为这些需求是其他一切的基础。
云环境同样如此。推动自动化和编排需求的不仅是易变性,还有敏捷性。云计算采用复杂的“自助服务”模式,因此需要通过自动化,在效用计算模式下支持云计算的弹性按需架构。云和容器存在一组明确的共同自动化需求,这些需求为理解自动化对业务的价值奠定了基础。
与马斯洛需求层次理论类似,自动化需求层次理论基于这样一个前提:必须先满足“缺失性”需求,才能逐步迈向促进成长的更高层次需求。
只有先满足较低层次的缺失性需求,才能进一步满足较高层次的成长性需求。当某项缺失性需求得到满足后,它便会消退,而我们的活动会习惯性地转向尚未满足的下一组需求,这些需求随之成为我们的主要需求。然而,成长性需求会持续存在,一旦开始追求,甚至可能变得更加强烈。当这些成长性需求得到合理满足后,人便有可能达到称为“自我实现”的最高层次。—— https://www.simplypsychology.org/maslow.html
从根本上说,这一特定的自动化需求层次结构侧重于应用及其组合服务扩展方面的基础需求。正如最初提出这一概念的优秀F5工程师所解释的:“底层自动化更具价值,因为它发生得最频繁,对保持应用在线至关重要。顶层自动化的价值相对较低,因为它发生得较少(可能只有‘一次’),而且在执行这类自动化时,许多人通常也已在进行手动操作。”

这些都是“基本”需求。自动创建和销毁容器、虚拟机及应用,不仅对实现规模化至关重要,也直接关系到规模化的效能。这种效能对于控制成本,以及减轻传统上由成本高昂的人工操作承担的规模化负担十分重要。鉴于如今此类事件的数量和发生频率,自动化已是必需,而非可有可无。它是一种缺失性需求,这意味着如果这一需求得不到满足,就没有太大必要考虑层级更高、发生频率更低的自动化。
对于容器而言尤其如此,Data Dog的数据似乎再次印证了这一点:“容器的平均生命周期为2.5天,而在所有公司中,传统虚拟机和云虚拟机的平均生命周期为23天。”这似乎受到自动化的影响。“在使用编排器运行Docker的组织中,容器的典型生命周期不到1天。而在运行Docker但未使用编排的组织中,容器的平均生命周期为5.5天。”
要让组织在传统环境和云环境中充分发挥容器的优势,并实现规模化所需的速度和敏捷性,必须能够自动创建和销毁容器,进而自动创建和销毁应用。
更高层次的自动化需求基本上都是路由需求,属于成长需求。只有在基本(缺失性)需求得到满足后,才会追求成长需求。集群的创建和销毁以及路由变更并不频繁,只有在应用部署到位且能够扩展后才会体现价值。当环境从开发和测试阶段迁移到生产环境,并需要通过提供应用来创造业务价值时,这些需求就变得至关重要。毕竟,将流量路由到无法响应的应用,就像拥抱一个饥饿的人。温暖的感觉并不能满足其对食物的基本需求。Mesosphere 2016 年用户调查发现,62%的受访用户已在生产环境中使用容器。Portworx 在容器主题大会 DockerCon 上开展的 2017 年调查发现,67.2%的受访者正在生产环境中使用容器。这意味着,至少对于采用容器的组织而言,路由需求正迅速变得重要。

企业实现自我价值的最终目标是增长,但只有满足整个层级的需求,也就是实现整个“堆栈”的自动化和编排,才能达成这一目标。因此,主要在南北向数据平面开展工作的团队自然会采用自下而上的编排方式:先满足环境的扩展需求,再逐步满足路由需求,实现流量从南北向到东西向的转换。Kubernetes等容器编排器周边日益紧密的生态系统持续发展,也印证了这一点。近期的一项发展重点是满足“路由”需求,其中引入了入口控制器,在第7层(URI或API)执行路由,确保南北向流量顺畅转换为东西向服务。最终,这一组件也必须实现集成(自动化),以满足路由需求,并继续推动组织提升到更高层级,实现增长。
将这一理念转化为容器专用构造后,就可以把容器环境的自动化需求映射到网络中支持其扩展并实现增长的服务。容器构造和网络/应用服务构造都需要实现自动化。如果创建100个容器来扩展应用,却没有同时将负责在交付过程中管理这些容器的服务自动化,相关需求仍无法得到满足。这些网络构造既可以是容器原生构造,也可以是经过调整、能够以原生方式融入容器环境的现有应用服务。具体实施方式会因架构和运营要求而异,但要满足基本需求(扩展)和增长需求(路由)并取得成功,这两类构造缺一不可。
无论何种情况,容器和云的成功都高度依赖其生态系统,这意味着还需要借助其他API经济,实现对数字化转型计划推动业务增长至关重要的自动化和编排。
* 令我感到困扰的是,在容器领域,自动化和编排这两个概念似乎经常被混为一谈,彼此混用。不过暂且不谈这个,我会尽量克制自己吹毛求疵的冲动,让它留在脑海里,绝望地呐喊。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。