写点什么

配置管理在容器化世界中的角色

  • 2015-12-10
  • 本文字数:1587 字

    阅读完需:约 5 分钟

Docker 已经作为基础自动化工具被广泛使用,越来越多的开发者开始争论 Docker 是否将最终替代配置管理工具这一问题。随着多数配置管理工具为 Docker提供支持,以上争论的结论似乎是二者将在使用中共存,而不是其中一个代替另一个。

配置管理工具需要确保一组服务器全部成员的初始状态与其所发生的结构变化都是一致的。配置管理所解决的问题还包括结构变化,即运行中的服务器结构变得与初始状态不一致。但前提条件是,每一项变化都必须通过配置管理工具实现。现代应用拥有成百上千的服务器,配置管理工具使得批量管理变得更便捷。

然而,在最近几年,开发者的工作变得更加灵活,应用结构中也引入了 API 主导服务导向架构。服务配置从整体到局部转化、及时发现实时的服务需求、规模变化速度加快等特性,使得开发者开始面对一个新问题,即配置管理的边界问题

容器技术使得根据配置需求建立稳定服务器的过程更加快捷,同时使得每次更改中放弃旧版本、重建一个新版本的过程更加方便。对比配置管理,容器看上去更贴近工作实际需求

——只需要将镜像与需求中的依赖关系相结合,输出服务节点。Netflix 早在其Amazon EC2 系统的AMI 中就应用了这个模型,其中, AMI 系统(Amazon 机器镜像)是一个可以启动服务器的镜像,通常被称作“金色镜像”。

容器技术使得子服务的体系架构工作更为便捷。任何服务导向的应用架构都将包含内部的服务依赖关系——多服务的复杂依赖关系。在这些服务的业务流程的设计中,拓扑结构与依赖关系同样重要。Docker 就能够很方便地对这种服务进行建模 Ernest Mueller ,DevOps 运动的长期成员、敏捷管理博客的合著者,说:

在服务依赖关系建立完成后,随之出现的是对子服务进行调整的需求。一些工具,如 Etcd Docker ,是通过将子服务紧密整合在容器环境中,来实现对其动态性的调整。在这些工具中,你可以定义一个多服务的环境,进而注册并通过编程来控制那些正在运行中的服务。

这是与纯配置管理相比较而言的,他还补充道:

你只需要改变软件程序,其余大部分工作就可以通过推动完成了,不需要直接建模。

那么金色镜像是否是一种“万金油”?容器是否将最终代替配置管理?

Ben Schwartz ,BancVue 的设计师、博客主,并没有认为这是个值得争辩的问题。他认为配置管理与容器所解决的根本问题是不同的。

对“容器与配置管理”的不休争论本质上就是错误的。我们从没有试图只通过使用一种技术就能解决全部的问题(你不会为了使用 Puppet 而放弃全部的 Java 库,也不会将负载平衡器设置在 Maven Central 中)。那么为什么我们要讨论容器与配置管理的问题呢?我建议我们应该集中精力去做我们经常做的事:选择正确的工具去做正确的事。

配置管理的目的是部署和变化管理。容器是虚拟机的轻量版,相比虚拟机,容器能更容易地连接现代应用中松散的子服务结构。这是容器的一个很明确的优势,但那并不意味着配置管理在这样的架构中没有价值。

配置管理能够用于集成环境下的很多工作:

Diego Zamboni 2014 年 UNIX 用户协会配置管理峰会发言中总结了二者的共存性:

在容器的时代,配置管理未来将是在那些小碎片中进行配置管理。

这里的“小碎片”指的是在容器化的系统中所构建的模块——应用、容器镜像与容器本身。他也提出警示,我们应该跳出“不变的基础服务”这个思维定式。他希望容器中配置管理系统的属性列表包括轻量化、分布式和弹性化,并牢记容器生命的短暂性。

查看英文原文: The Role of Configuration Management in a Containerized World


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2015-12-10 18:002613

评论

发布
暂无评论
发现更多内容

Istio 实践手册 |服务网格框架对比

xcbeyond

istio 28天写作 12月日更 Istio 实践手册

EasyRecovery如何恢复游戏——英雄联盟

淋雨

数据恢复 EasyRecovery

元宇宙赛道以百万年薪“抢人”未来五大类人才最紧俏

CECBC

Python Qt GUI设计:QPrinter打印图片类(基础篇—21)

不脱发的程序猿

Python PyQt GUI设计

创业研发团队的组织建设-人才培养

wood

创业 人才培养 28天写作

声网发布教育新品:灵动课堂全球覆盖学生超400万,互动白板首创H5课件

声网

人工智能 代码

Android C++系列:Linux守护进程

轻口味

c++ android 28天写作 12月日更

云编辑 | 使用 Cloud Studio 在线撰写预览并发布 Hugo 博客

宋天伦

CloudIDE Hugo Cloud Studio

基于云的技术架构设计实践-第2篇

hackstoic

监控系统 签约计划第二季

MySQL探秘(三):InnoDB的内存结构和特性

程序员历小冰

MySQL 28天写作 12月日更

【LeetCode】亲密字符串Java题解

Albert

算法 LeetCode 12月日更

单例模式

卢卡多多

单例模式 28天写作 12月日更

实用机器学习笔记二:数据获取

打工人!

机器学习 学习笔记 12月日更 实用机器学习

DC EP要统一“ 世界度量衡”,数字货币打开财富大门

CECBC

智慧社区管理系统,智慧社区一体化平台

电微13828808271

工作不喜欢,但不得不暂时干着,很痛苦,怎么办?

石云升

学习笔记 28天写作 12月日更

Linux常用命令-如何操作文件?

Java个体户

Linux

自定义View:使用二阶贝塞尔曲线绘制正弦函数

Changing Lin

12月日更

【Promise 源码学习】第十篇 - Promise.prototype.catch 和 Promise.prototype.finally 的实现

Brave

源码 Promise 12月日更

区块链电子合同签署平台,区块链智能合同优势

电微13828808271

随笔—写作

圣迪

在Linux系统发行版(以CentOS7为例)上部署ElasticSearch集群并启动Kibana和Logstash

为自己带盐

Centos 7 28天写作 Elastic Search 签约计划第二季 12月日更

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起实践RocketMQ的服务搭建及配置操作

码界西柚

消息队列 Apache RocketMQ 12月日更

让每块火腿都留下“数字痕迹”!西媒:区块链将用于保护食品安全

CECBC

33 K8S之访问控制

穿过生命散发芬芳

k8s 28天写作 12月日更

一个基于HTML的可定制轮盘——帮你告别选择困难症

海拥(haiyong.site)

html 大前端 28天写作 签约计划第二季 12月日更

ONES 与极狐(GitLab)战略合作,强强联手推动 DevOps 发展

万事ONES

DevOps SaaS ONES #GitLab

云原生:K8s控制器汇总(附视频教程+PDF)

息之

k8s Node Deployment statefulset cronjob

低代码发展正当时,中国将取代美国成为低代码开发的全球领导者

金小K

RPA 低代码 低代码开发 低代码平台

质量服务“一站式”平台搭建,NQI一站式云服务平台

电微13828808271

中年人的沉重3

张老蔫

28天写作

配置管理在容器化世界中的角色_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章