监视容器时,机器数据必不可少

发布于:2021-01-13 10:20:24

0

50

0

容器 机器数据 监视

容器管理和编排技术正在迅速普及,各公司正在寻求部署可快速扩展的容器化应用程序。机器数据对于监视那些应用程序有多重要?

对于开发人员来说,软件容器越来越受希望部署可快速扩展的容器化应用程序的公司欢迎。在2018年《云报告》中的第三年度年度现代应用程序和DevSecOps状态中,我们的研究表明,2018年,Amazon Web Services的生产实例中运行Docker的公司数量已增长到28%。

同样,容器管理和编排技术也在迅速普及。在过去的一年中,Kubernetes的本地部署几乎增加了一倍,从8%增至14%-这种快速增长表明Kubernetes赶上了ECS。

所有这些增长表明了什么,为什么开发人员应该关心它?

首先,它表明容器的采用并没有减慢速度。如果有的话,随着开发人员开始将其容器化应用程序从最初的测试和开发投入生产,它正在加快步伐。其次,这意味着开发人员正在拥抱分布式容器和基于无服务器的云架构的优势,以提供不间断和无缝的客户体验。

容器的固有优势之一是,与更传统的软件部署模型相比,开发人员可以更快地扩展其部署。这种方法还补充了基于微服务和无服务器技术的基于容器的应用程序的增长。

容器的另一个大优点是,它们有助于支持更多的模块化应用程序设计。容器可以用来支持相互通信的特定应用程序元素,而不是过去的大型应用程序。可以添加包含这些元素的其他图像来应对需求高峰,同样,一旦需求下降,就可以将其删除。

每套容器也可以用其他部件替换,这些部件可以通过不同的方式达到相同的目的并提供相同的结果。随着时间的流逝,开发人员拥有更多的选择自由,并且可以使用其API在不同的存储或数据库平台之间进行选择,以根据需要存储数据,而不必依赖于特定的服务。使用那些API可以避免锁定,从而解决了过去可能是一个庞大的迁移项目。

传统的本地技术和流程可能会使组织无法创新和满足客户需求。传统系统和流程已不足以在提供不间断和无缝的客户体验所需的整个应用程序堆栈中提供快速扩展,敏捷性和可见性。

但是,这种快速增长会导致更多的蔓延,更多的复杂性,并且可能掩盖许多错误,从不良的设置,安全性和操作性能不佳到无证的依赖关系。设计不佳的基于容器的应用程序远没有更具弹性,而受复杂堆栈中的更改的影响更大。同样,当应用程序代码行为异常或无法执行时,诊断和修复问题可能会更加困难。当使用第三方应用程序元素,并且必须实时考虑为这些应用程序提供的大量数据,速度,准确性和各种数据时,这可能会特别成问题。

为了解决这个问题,从一开始就采取一些最佳做法很重要。

数据,分析和文档

需要注意的第一个领域是应用程序生成的数据以及有关该数据的相关文档。此类数据对于新的容器化应用程序非常重要,因为这些元素会随着时间变化如此之快,特别是因为可以交换单个元素而不影响其他元素。由于每个服务都是通过API连接的,因此替换应用程序中的数据库或分析服务会更加简单,因为API可以彼此抽象每个元素,从而使随时间推移的迁移变得更加容易。

如果没有具体的应用程序中心历史记录(尤其是围绕这些更改的情况),则随着时间的推移很难跟踪这些决策。这会使实现业务目标更加困难。文档不足或遗失会随着时间的流逝而危害应用程序,因为这种知识可能存在于开发人员的头脑中,并且如果他们离开了团队,则与他们一起去。

除了有关应用程序设计和组件的适当文档之外,还值得研究应用程序如何创建数据。在整个应用程序中,每个元素都会创建有关您应收集的活动的数据。使用此数据可以帮助您解决所有问题,并查找有关问题的更多详细信息。

监控和故障排除

随着容器中运行更复杂的应用程序,整理和使用此数据可能会更加困难,尤其是在涉及多个云服务时。传统上,日志管理更简单-应用程序之间的耦合更紧密,集中在一个地方,并且涉及的移动部件更少。如今,情况正好相反–容器的兴起使得在多个地方托管应用程序的各个部分变得更加容易,而无服务器,微服务和云的趋势也意味着每个应用程序堆栈中涉及的元素更多。

没有适当的监视计划,就很容易错过应用程序执行中涉及的元素中的数据。其次,要实时获取整个应用程序和基础架构的完整图片可能很困难–如此多的移动部件散布在内部数据中心,混合云和/或多云部署和第三方服务中使用公共容器映像库,要在一处并实时获得真实和完整的堆栈性能更加困难。对于操作和安全提议,如果实时发生错误,则更难预测和诊断故障和问题。

在任何项目开始时,都应对容器进行应用程序监视。这样可以更轻松地保护,提取,索引,分析和关联所有容器中的数据。查看本机云基础架构服务还应使随着时间的推移从混合IT环境管理数据更加简单。

更快的应用程序,DevOps和安全性

除了更好地了解应用程序性能和问题之外,监视容器还可以帮助您提高应用程序安全性。随着时间的推移,开发人员将与IT运营团队协作,承担更多的应用程序部署和操作责任,但他们也必须与IT安全团队更有效地协作。安全性已作为DevSecOps添加到DevOps中,以代表这种协作。

使用应用程序基础结构中的数据可以为安全监控提供必要的信息。例如,查看应用程序如何存储和处理数据对于合规性很重要。过去,在诸如Amazon S3之类的服务上执行不佳的存储已导致大规模数据泄漏,因此应从一开始就检查您的实施是否遵循访问控制和加密的最佳实践。

这里的挑战是您仍然必须管理应用程序扩展。当容器实例位于不同的云上,或者某些元素位于一个云上而其他元素位于另一云上时,通过基于角色的访问控制实现一致性是必不可少的步骤。同样,随着时间的推移来管理对这些资产的访问也依赖于良好的密钥管理。应该为所有图像定期刷新密钥-但是由于响应需求而产生并自动拆下了如此多的容器,并且混合了无状态和有状态的资产,因此开发人员不能为自己做些事情,而又不会对生产率。

因此,对所有这些资产的密钥管理应该是自动化的。最佳实践的这种自动化(可帮助开发人员更高效,更高效地工作,同时满足有关安全性的要求)是数据可以提供帮助的领域。

除了访问控制,数据也可用于帮助提高应用程序的安全性。但是,如 Dimensional Research最近进行的一项调查所强调的那样,包括安全信息和事件管理平台(SIEM)在内的传统安全分析工具未能提供有效管理云中的安全性和合规性所需的洞察力。根据该调查,有93%的受访者认为当前的SIEM对云无效,而三分之二的受访者认为有必要整合和重新考虑传统工具。

容器和最佳做法

以一种易于理解的格式将日志数据收集到一个位置,可以帮助您查看应用程序和流程在哪里运行良好。同样,它可以指向需要改变思维的区域–例如,与需求水平和云资源成本相比,容器生成速度过快。通过将所有应用程序资产中的信息汇总在一起,您应该能够简化并提高整体性能。

容器对于应用程序开发人员的重要性将继续增长。性能优势和自动化支持使轻松快速地满足业务需求的应用发布变得容易,而支持更快的更改的能力使随着时间的推移运行操作变得更加容易。

但是,要围绕这些应用程序制定正确的流程,自动化和安全步骤,需要进行自己的计划。这就是为什么首先确保在基于容器的应用程序中拥有正确数据的原因,这将大大有助于使这些部署更高效,更有价值。