写点什么

如何在生产中成功运用 Docker

  • 2015-12-03
  • 本文字数:1096 字

    阅读完需:约 4 分钟

SalesforceIQ(原名 RelateIQ)的工程总监 John Fiedler 结合自己过去两年的开发经验,在 DockerCon 欧洲大会上发表了关于“如何成功地在生产中运用 Docker”的演讲。Fiedler 建议不要一开始就全面使用 Docker 相关的所有工具,而应该循序渐进地将服务转移到相应容器中。

Fiedler 解释说,目前他们全部的网络基础服务都是在 Docker 中运行的,并且从来没有出现过停机的情况。同时,他坦言道,他们从两年前开始向 Docker 容器迁移,做过很多尝试,也失败过很多次。

最后,我们开始运用 Mesos,但当时它还没有认证……我们还尝试在 Docker 中运行 Kafka,如果 Kafka 失败了,那么我们的全部服务都将停机……其实在 Docker 中运行 Docker 并不是一个好的决定。

SalesforceIQ 超过 70% 的基础服务是在 Docker 中运行的。在决定哪些服务应该放在容器中,哪些不应该时,Fiedler 认为应该注意以下两个要点:变化率和依赖关系。相对而言,Web 服务器或 API 服务器的寿命都是短暂的(转化率)、无国界的(依赖关系),数据库或 CI/CD 服务器则寿命较长,并且是有国界的。因此,Web 服务器和 API 服务器都适合迁移到容器中。

重要通知:接下来 InfoQ 将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注 InfoQ 微信公众号第一时间阅读精品内容。

图片来源:John Fiedler

图片来源:John Fiedler

现在,在某种程度上,SalesforceIQ 的 PaaS 服务中除永久存储外,几乎所有的服务都是运行在容器中的。

图片来源:John Fiedler

演讲刚开始,Fiedler 就根据自己的理解分析了“生产”与“成功”的内涵:

“生产环境与开发 / 测试环境并不相同。生产环境中的一些特性在测试环境与开发环境中并不重要。隔离性、安全性、高效性、可监测性和可记录性是在迁移生产环境时考虑的重要因素;同时,可扩展、有模板借鉴和自动化水平也是需要考虑的重要方面……我认为,任何事情超过 99.9% 就是成功的。”

总结这次演讲,Fiedler 建议“保持简洁,从小做起,不要急于跃进 PaaS。”谈到对工具的部署,他认为“Chef,Ansible 和 SaltStack 仍然是重要的工具,并且可用于连接 Docker。”当 Docker 做好生产准备时,Fiedler 强调 “要使用其他未就绪的解决方案(alpha 和 beta)。”最后,他补充道,“使用 Docker,最大的回报就是 CI/CD。”

查看英文原文: How to be Successful Running Docker in Production


感谢张龙对本文的审校。

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

2015-12-03 18:003955

评论

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

String、StringBuiler和StringBuffer面试那些事

Java旅程

Java 并发

我们三岁啦!

鉴释

如何使用 Kind 快速创建 K8s 集群?

尔达Erda

开源 云原生 k8s PaaS kind

阿那亚:靠客户反馈驱动企业成长

石云升

商业价值 服务 7月日更

postgresql主从搭建

阿呆

postgresql

揭秘百度微服务监控:百度游戏服务监控的演进

百度开发者中心

云计算 微服务 最佳实践 方法论 云原生

RTC月度小报5月丨教育aPaaS灵动课堂升级、抢先体验VUE版 Agora Web SDK、声网Agora与HTC达成合作

声网

月度小报 行业深度

围观|解读新一代企业数字化架构的“三驾马车”

尔达Erda

开源 DevOps 云原生 数字化转型 数字化

gitlab忘记root用户的密码

阿呆

gitlab #GitLab

51CTO专访|鉴释首席架构师刘新铭:让软件开发更安全、更高效

鉴释

编译器

工程师文化落地的几点思考

baiyutang

敏捷 敏捷开发 精益开发 精益思想 敏捷管理

2021全国人工智能师资培训走进北理工,百度飞桨助力高校教师提升AI能力

百度大脑

人工智能 高校

【报名】百度EasyDL研讨会:揭秘智能化硬件AI应用的技术难点与行业落地

百度大脑

人工智能 智能化

论工作几年深陷业务代码的程序员如何实现自我提升

北游学Java

Java 程序人生

架构实战训练营模块三课后作业

Clarke

上架一夜遭全网封杀!阿里大牛熬夜半年手码的Java面试指南太强了

Java 编程 程序员 架构师

成为Linux大佬的学习之路-规划

学神来啦

Linux 运维 linux运维 linux学习

上架一夜遭全网封杀!阿里大牛熬夜半年手码的Java面试指南太强了

白亦杨

没想到专科的我,仅凭阿里这份JDK源码笔记居然拿到了年薪30W的offer

Java架构师迁哥

并发问题的源头

Java旅程

Java 并发编程

百度前端三面面试题全部公开,三面的最后一个问题令我窒息

前端依依

百度 面试 大前端 经验总结

创业邦专访丨兼容国内外市场的代码分析软件,鉴释科技帮助企业减少bug发生率

鉴释

创业公司

VSCode 断点调试 electron-vue 主进程

admin

Vue 调试 Electron

性能测试误差对比研究(四)

FunTester

性能测试 接口测试 测试框架 测试开发 误差分析

直播回顾丨鉴释首席架构师刘新铭为您解读“第一性原则”

鉴释

软件开发 代码质量 软件质量与安全

六种主要服务器管理协议简单概述-行云管家

行云管家

行云管家 服务器协议 服务器管理

BoCloud博云:ESB老旧力不能支,微服务独立自治强势替代

BoCloud博云

微服务

性能测试误差对比研究(三)

FunTester

性能测试 接口测试 测试框架 误差分析

鉴释课堂丨编译器技术入门知识一网打尽

鉴释

编译器 编译器原理

hbase运维故障案例分析

GrowingIO技术专栏

大数据 运维 HBase

敏捷教练的困境与出路:一个管理者的视角

蔡建斌

管理 技术管理 敏捷教练 引航计划 内容合集

如何在生产中成功运用Docker_DevOps & 平台工程_Guillermo Beltri_InfoQ精选文章