容器可以毫无问题地从一个平台移动到另一个平台,因为它带来了执行所需的所有依赖项。
事实上,它可以编写一次并在不同的环境中运行,而无需重新配置它,这会产生许多其他积极的后果。例如,它允许在笔记本电脑上拥有相同的开发环境,并在云集群中执行。这也确保了在本地开发环境中运行的应用程序的行为在发布环境中也相同。
另一个优势是供应商锁定不太强,因为所实现的可移植性允许您更换云基础设施供应商并移动工作负载,而无需重写应用程序。
一般来说,随着容器灵活性的提高,部署阶段变得更加简单,应用程序和软件产品的发布和更新也变得更快。因此,可以最大限度地利用软件投资,无论是现有资源还是市场提供的新可能性。
2 .亮度
容器的第二个好处是重量轻,特别是与传统虚拟机相比。
与包含自己的操作系统且具有所有复杂的维护和执行负 黎巴嫩电报数据 担的虚拟机不同,容器使用基于共享同一主机操作系统(通常是 Linux)的操作系统内核的方法。因此,它只能包含应用程序及其执行环境。
因此,虽然虚拟机用于整体式和传统 IT 架构并且具有以 GB 为单位计算的尺寸,但容器(往往要小得多)的使用方式有所不同。它们实际上与 DevOps、云和 CI/CD 技术兼容。这个概念直接给我们带来了第三个好处。
3.现代性和可扩展性
容器不仅轻便、便携,而且还代表了对DevOps 领域的现代应用程序开发范例的充分响应,适用于无服务器系统和微服务。
启动时间更短。您可以提高物理机上的内存和处理器使用率。开发环境与生产环境保持一致。对云原生应用程序的支持更好。所有这一切也转化为更大的水平可扩展性。
一般来说,容器是构建微服务架构的理想选择。这是因为微服务架构可以比传统的单体应用程序以更大的粒度来实现和扩展。
采用 K8s 之前:阅读最佳实践和要避免的错误!
下载 Kubernetes 采用指南白皮书
容器化:关键问题是什么?
容器的主要缺点来自于该技术相对较新,而且还在不断发展。
尽管自 2013 年以来容器的采用速度显着加快,并且开发人员可以在不同平台上的不同工具之间进行选择,但经常会出现持续的变化和版本,这些变化和版本不如其他版本稳定。