容器管理:如何防止容器蔓延与成本蔓延

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

当好的东西使用的越来越多时,包括云容器在内,那么公有云中成本越来越多。这里有三个选择可以防止容器蔓延——所有高价标签都来自于此。

云计算中的容器简化并加速了程序的部署,但是这种易用性也导致用户更容易过度使用它。当公有云中发生这种情况时,容器蔓延会导致成本急剧上升。

幸运的是,容器蔓延是可管理的,但是企业需要迟早进行控制,而且要长期坚持。尤其是,不是所有的容器蔓延管理实践都能应用对云成本问题。

容器蔓延挑战

虚拟机是第一个流行的虚拟化策略,但很明显,企业可能会过度采取虚拟化,导致主机管理和应用程序部署更加复杂。

容器在云计算,在数据中心,提供了一种方法创建虚拟主机共享一个系统,并共享物理服务器的一些中间件。这使得组织在服务器可以部署比虚拟机更多的容器。当然,这也意味着数据中心中的主机数量可能会成倍增长更多,同时,为容器系统更容易部署,组织也是像在虚拟中那样更容易碰到管理的复杂性问题。

容器管理:如何防止容器蔓延与成本蔓延

公有云中,容器蔓延管理是一个挑战,但成本却是一个更大的挑战。如果云计算中的容器激增,提供商的费用也会大幅增加。更糟糕的是,大多的关于克服容器蔓延的建议都是要降低管理的复杂性,同时对成本不会有影响。

如果你希望为容器化应用控制公有云的费用,那么就减少你部署的容器主机的数量。评估一下下面的三个选择,来达到减少容器数量,节省成本的目的。

选择一:组合应用组件

许多容器用户过度配置,这意味着他们将应用打散成可加载的镜像,他们比所需的更小。如果你不打算重新以不同的方式使用组件的话,就不要分离他们。理想情况下,组合的组件应该在工作流中相邻,因为这将缩短数据路径并且提高性能。更少的应用组件也意味着操作更简单,管理更便宜。

对于那些在你的数据中心中,且期望在公有云中部署的容器化应用,你要审查它们的所有组件。为了减少托管费用,确保在转向云端之前,你使用是最少的容器服务。

选择二:云端组合虚拟机与容器

第二种减少蔓延成本的选择是在公有云中组合虚拟机和容器。为了实现这一目标,请在基础架构即服务平台中托管你的容器系统,如Docker。如果因为容器服务你使用了多个公有云容器,你可能需要为每一个容器付费。但是,如果你在云中托管了一个虚拟机,并在这个虚拟机中创建你自己的容器托管镜像,那么结果就是你会在每一个容器上减少成本。然而,但这却并不同100%保证,这一模型还是存在一些待解决的问题。

例如,在容器系统和裸金属之间的额外虚拟机将会影响性能。用户报告称,这种情况与直接在云计算中运行容器,最好的情况下你可能丢失25%的机器性能,甚至可以达到 40%。你需要看到大幅的成本收益来证明这一方法,并且要仔细选择你的应用。如果托管应用组件的容器没有使用过多的资源,如I/O或CPU和内存,但却需要长时间驻留,那么这种虚拟机和容器的方法就是有效的。

选择三:无服务器道路

第三个选择是使用无服务器组件代替容器化组件。这种方法直接解决了蔓延问题,因为这让用户只对实际使用的流程付费,而不他们消费的托管点。但问题是组织需要经常重设计在无服务器上运行的应用或组件。

使用无服务器计算,应用程序被分成一系列简单的组件,当组织需要时才会加载他们。就像当你有许多作用的容器化的组件时,托管在容器系统中的虚拟可以良好运行那样,无服务器计算也做了这样的应用。你可以调用 上千个应用部件,如果调用不成功,你就不需要付费。

在应用无服务器计算之前 ,审查一下来自重要云提供商的可用框架,例如亚马逊WEB服务、谷歌云平台和微软的Azure。无服务器计算不仅只是一种不同的编程方式;它是一个全新的应用模式。你需要掌握其充分的上下文才能很好地利用它。 


本文作者:蒋红冰翻译

来源:51CTO

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
XML Java 编译器
如何使用IOC容器进行对象的管理和创建?
如何使用IOC容器进行对象的管理和创建?
106 0
如何使用IOC容器进行对象的管理和创建?
|
Cloud Native 测试技术 持续交付
Docker Compose 解析:定义和管理多容器应用,从多角度探索其优势和应用场景
Docker Compose 解析:定义和管理多容器应用,从多角度探索其优势和应用场景
414 0
|
5月前
|
Prometheus Kubernetes 监控
Kubernetes 性能调优与成本控制
【8月更文第29天】随着 Kubernetes 在企业中的广泛应用,如何有效地管理和优化 Kubernetes 集群的性能和成本成为了一个重要的课题。本篇文章将介绍 Kubernetes 性能监控的基础知识,以及一些实用的成本优化技巧,包括资源配额的设置、Pod 密度的提高和集群规模的合理调整。
391 1
|
4月前
|
运维 Kubernetes Serverless
直降算力成本!阿里云容器计算服务ACS正式商业化
阿里云容器计算服务ACS正式商业化,综合算力成本最高可降55%。容器计算服务ACS可实现算力资源的极限扩容,易用性也大幅提升50%,将有力承载未来暴涨的容器算力需求,推动用云范式更新升级。
140 9
|
6月前
|
存储 Linux 应用服务中间件
容器卷管理
容器卷管理
43 2
|
6月前
|
安全 关系型数据库 开发者
Docker Compose凭借其简单易用的特性,已经成为开发者在构建和管理多容器应用时不可或缺的工具。
Docker Compose是容器编排利器,简化多容器应用管理。通过YAML文件定义服务、网络和卷,一键启动应用环境。核心概念包括服务(组件集合)、网络(灵活通信)、卷(数据持久化)。实战中,编写docker-compose.yml,如设置Nginx和Postgres服务,用`docker-compose up -d`启动。高级特性涉及依赖、环境变量、健康检查和数据持久化。最佳实践涵盖环境隔离、CI/CD、资源管理和安全措施。案例分析展示如何构建微服务应用栈,实现一键部署。Docker Compose助力开发者高效驾驭复杂容器场景。
84 1
|
8月前
|
Java 数据库连接 Docker
【Docker 专栏】Docker 容器内环境变量的管理与使用
【5月更文挑战第9天】本文介绍了Docker容器中环境变量的管理与使用,环境变量用于传递配置信息和设置应用运行环境。设置方法包括在Dockerfile中使用`ENV`指令或在启动容器时通过`-e`参数设定。应用可直接访问环境变量或在脚本中使用。环境变量作用包括传递配置、设置运行环境和动态调整应用行为。使用时注意变量名称和值的合法性、保密性和覆盖问题。理解并熟练运用环境变量能提升Docker技术的使用效率和软件部署质量。
554 0
【Docker 专栏】Docker 容器内环境变量的管理与使用
|
8月前
|
前端开发 Java 容器
家族传承:Spring MVC中父子容器的搭建与管理指南
家族传承:Spring MVC中父子容器的搭建与管理指南
139 3
|
8月前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
173 0
|
8月前
|
弹性计算 Shell 数据安全/隐私保护
动态管理Docker容器的自动扩展与缩减
【4月更文挑战第30天】
113 0

相关产品

  • 容器服务Kubernetes版