采用容器技术可以使开发人员的工作更轻松,但是也可能会使运营团队的事情变得复杂。IT基础设施专业人员(特别是那些在DevOps团队的工作人员)越来越多地被要求支持容器化环境。但是,虽然Docker和Kubernetes等容器工具可以让应用程序开发人员的工作更轻松,但他们对负责管理和监控硬件的人员提出了新的要求。
调研机构Gartner公司的调查报告表明,“到2020年,超过50%的全球组织将在生产中运行容器化应用程序。”与2017年在生产中部署容器的企业相比,这一数字增加了20%。
同样,Interop ITX公司发布的InformationWeek 2018云计算状态调查报告发现,42%的受访企业正在运行或考虑在云中运行容器。此外,只有19%的受访者表示他们没有与容器有关的计划。相比之下,只有20%的受访者或者在工作中运行容器,或者计划在未来考虑这样做。
显然,组织正在接受容器技术。这意味着负责管理数据中心硬件的运营专业人员工作的内容有所变化。
对于基础设施专业人员来说,其中一些人可能才完成从支持传统工作负载到支持虚拟化工作负载的转变。而这种转变是一个重大变化。工作负载自动化供应商Turbonomic公司技术营销总监Eric Wright说,“容器在生命周期以及管理过程的操作上都存在差异。短暂的容器工作负载必须完全作为从开始到终止的代码来处理,这改变了人们调整、部署、检查、观察和控制它们的方式。”
以下详细介绍了Wright和其他专家的9个更好实践,这些实践可以帮助IT基础设施专业人员更好地管理容器化工作负载。
(1)准备学习
由于容器技术是如此新颖,很少有IT专业人员具有使用该技术的经验。这意味着组织或个人需要进行一些培训。
Gartner公司研究副总裁Arun Chandrasekaran在博客中说:“尽管人们对容器技术越来越感兴趣并且快速采用,但由于技术不成熟和缺乏操作技术,因此在生产中运行它们需要陡峭的学习曲线。”
“IT专业人员需要随时准备好学习和重新思考运营、绩效、监控和基础设施。”Wright说,“容器技术的应用代表了一个令人兴奋的机会,可以将新的实践和方法引入IT运营中,并缩小应用程序和基础设施之间的差距。”
(2)提前计划应对快速变化
Wright建议说:“专业人员需要考虑在快速变化和非持续性工作负载的情况下,如何启动、停止、管理、扩展和观察其环境。”他建议IT基础设施专业人员在规划容器工作负载时需要问自己五个问题:
- 如何调整容器工作负载的大小?
- 在哪里放置容器工作负载?
- 如何确保拥有所需的资源,并在发生波动时可以修改配置?
- 当工作负载可能在典型周期之前来回运行时(例如几小时而不是几天),将如何操作?
- 如何在不影响应用性能的情况下提高弹性和灵活性?
(3)启用自助服务
容器的一个重要吸引力是开发人员可以轻松地将它们组合。并部署其应用程序及其所有依赖项。但是,将这种控制水平转移到开发团队会让一些工作人员感到紧张。他们有时会实施繁琐的流程和程序,以确保他们具备所需的可见性和可管理性。
但是专家表示,限制开发人员的自助服务能力是一个错误,会破坏采用容器相关的好处。他们建议寻找能够将自助服务和监控功能结合在一起的解决方案,这为开发人员和运营专业人员提供了他们完成工作所需的一切。
(4)重新考虑部署监控解决方案
组织用于密切关注传统工作负载或虚拟化工作负载的许多传统监视工具不支持容器化应用程序。因此,企业可能会发现他们需要部署新的监控解决方案。“因此,重要的是部署可以提供容器和服务级别监控的打包工具,以及将容器监控工具链接到容器协调器以引入其他组件的指标,以实现更好的可视化和分析。”Gartner公司的Chandrasekaran说。
(5)实现网络自动化
在严重依赖容器的数据中心中,网络管理尤其具有挑战性。传统的企业网络程序和工具无法处理容器的创建速度或可迁移性,但是容器编排平台中内置的网络功能还不够强大,无法满足企业的策略管理需求。在这种情况得到纠正之前,组织需要非常谨慎地选择他们的网络管理工具。专家建议使用软件定义的网络工具作为容器的良好补充。
Chandrasekaran建议说:“因此,基础设施和运营(I&O)必须消除容器化环境中的人工网络配置,通过网络自动化实现灵活性,并为开发人员提供适当的工具和足够的灵活性。”
(6)考虑采用混合存储方法
在容器化环境中存储也很麻烦。虚拟机和传统工作负载需要长期访问存储资源,但在处理可能仅存在几分钟或几小时的容器时,情况就会大不相同。
Wright表示,一些基础设施管理人员已经针对这种情况创建了自己的解决方案。“现在越来越普遍的是使用容器作为构造来使用类似虚拟机的工作负载,这些负载具有持久存储附件和网络附件,这为我们如何管理它们引入了一种有趣的混合方法。”Wright说,“容器纯粹主义者会说使用容器是错误的,但它被证明是一个流行的用例。”
(7)不要忘记备份
容器应用可能是短暂的,但这并不意味着它们不需要备份。但是,由于许多灾难恢复和业务连续性计划是在容器技术出现之前制定的,因此企业实施的工具和程序可能不支持容器。
专家建议重新访问现有的解决方案和流程,以确保备份容器和与之关联的数据。在某些情况下,这可能需要组织增加备份频率,以确保他们捕获的容器可能在一天内被打开和关闭。
(8)采取适当的安全预防措施
一些专家说,容器比虚拟化更安全。其他人(通常是安全供应商)却表示容器的安全性远远低于其他类型的工作负载。
实际上,IT基础设施专业人员需要与安全管理人员密切合作,以确保他们能够充分保护容器化工作负载。这可能包括部署一些新的安全和监视工具,以及仔细选择用于容器的操作系统分发。Gartner公司在其关于容器最佳实践的博客文章中指出,“共享主机操作系统内核的完整性对于运行在其上的容器的完整性和隔离性至关重要。应该使用硬化的、修补过的、最低限度的操作系统作为主机操作系统,并且应该不断监视容器中的漏洞和恶意软件,以确保可靠的服务交付。”
(9)减少一些错误
虽然Docker和Kubernetes等工具在过去几年中有了显著改进,但这仍然是一项相当新的技术。这意味着所有的错误还没有解决。
“容器编排、网络和存储在我们已经习惯于在虚拟化环境中正常工作的每一层面都带来了新的挑战。”Wright说。
然而,Wright认为,随着越来越多的供应商开始提供主导容器市场的开源工具的支持版本,这些问题将随着时间的推移而减少。他补充说:“现在引入了很多复杂性,但随着更多企业容器和容器编排平台的出现,这将变得更加容易。”