感恩节和……火鸡。圣诞节和……圣诞树。容器和……微服务。
如果您为上述每一项想到的第一个词都和我预想的一样,那就说明您受到了当今技术市场中过度关联思维的影响。如今,只要讨论容器或微服务中的任何一个,人们几乎总会立即提到另一个。部分原因在于,微服务是一种将应用分解为专注、敏捷服务的架构方法,与基于容器的部署模型所具有的敏捷特性十分契合。但别忘了,容器本身就是一项独立的技术。早在微服务架构概念萌芽之前,容器就已经存在,而且其优势并不局限于基于微服务的应用部署。
请看《2016 年企业开发趋势》中的这项数据。该调查面向2,100名JVM开发人员,Lightbend(自称是颇具影响力的Reactive应用开发平台提供商)从中总结了多项有关云、容器和微服务的洞察。值得注意的是,虽然大多数受访者(59%)希望将全新应用容器化,但也有41%计划对“现有应用”进行容器化。

这完全不是异常现象。快速查看一项针对500名Mesos用户的2016年8月调查,该调查由Mesosphere开展。调查发现,51%的用户正在Mesos上运行单体应用和旧版应用。或许不出所料,85%的用户正在运行微服务架构。
显然,容器并非只适用于新应用。人们也在利用容器,让传统应用和单体应用获得可移植性、快速扩展等诸多优势,并更好地适应DevOps驱动的运维模式。毕竟,我们原本期待的是顺畅无阻的可移植性,实际面对的却是漫长的镜像重建过程,因为各家公有云提供商采用了不同的镜像格式。维护多个黄金镜像(每个环境、每个次要分支、每个主要分支都要有一个……您明白其中的麻烦)成了运维噩梦。容器就像蜜獾一样,根本不在乎这些。它们可以从一个OS迁移到另一个OS,从一台虚拟机迁移到另一台虚拟机,从一个云迁移到另一个云。迄今为止,容器是实现基于成本考量的无缝云迁移的有效方式之一,转瞬之间即可完成(如果您想知道具体有多快,大约是400 ms)。
不过,我们不应将容器简单归类为“云”技术。容器确实有助于实现云提供商之间长期以来备受推崇却鲜少真正实现的可移植性,但它并不局限于云环境,甚至也不局限于类云环境。正如Sumo Logic近期发布的报告所述,容器确实正在“云端”使用。该报告发现,在其调查的应用中,15%已在生产环境中使用Docker。但这并不意味着容器没有用于其他环境,例如本地部署环境。事实上,前述Mesosphere报告指出,近一半(45%)的用户“仅使用本地部署环境”,其余大多数用户则分为“混合部署”和“仅使用云环境”两类。值得注意的是,报告还发现,“规模较大的公司(员工人数达到或超过500人)更有可能采用本地部署。”

容器是一种颇具吸引力的部署方式。在容器编排解决方案(如Docker、Docker Swarm、Mesos和Marathon、Kubernetes等)的支持下,容器可提供高度敏捷的环境,用于部署应用并自动进行弹性扩缩容。它是一个微型云环境,或者至少是一个类似云的环境,既可部署在公有云或私有云中,也可完全脱离任何“云”环境进行部署。容器可用于部署单体应用、现代应用、基于微服务的应用和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服务。