写点什么

如何在生产中成功运用 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:003944

评论

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

心态炸了!我的join查询多加了个过滤条件性能就崩了

林一

MySQL 查询优化 多表join

Vue进阶(四十七):面试必备:2021 Vue经典面试题总结(含答案)

No Silver Bullet

面试 Vue 8月日更

sql task2 基础查询与排序

橙橙橙橙汁丶

微博评论高性能高可用架构设计

tjudream

高可用架构 微博评论 高性能计算架构 多级负载均衡 多级缓存

GrowingIO Design 组件库搭建之单元测试

GrowingIO技术专栏

单元测试 Jest Storybook

Windows Server 2019 安装提要 (及 VS 2019 Build Tool) - 续

hedzr

DevOps vscode windows server 2019 server core visual studio 2019

【设计模式】模板方法模式

Andy阿辉

C# 后端 设计模式 8月日更

MySQL中FROM_UNIXTIME与UNIX_TIMESTAMP

一个大红包

8月日更

Vue进阶(四十八):Vue.js 2.0 移动端拍照压缩图片预览及上传

No Silver Bullet

Vue 8月日更

vue入门:element组件与动画使用

小鲍侃java

8月日更

三分钟了解大数据技术发展史

张浩_house

人工智能 机器学习 大数据

北鲲云计算:为药企研发的飞速发展提供助力

北鲲云

基金这么赚钱!!编程实现基金从采集到分析通用模板!(白酒为例)

Python研究者

8月日更

Flink 和流式应用运维(十-下)

Databri_AI

flink 监控 Web UI

网络攻防学习笔记 Day110

穿过生命散发芬芳

网络安全 8月日更

快手处罚恶意炒作、审丑卖惨类账号,不良自媒体违背公序良俗

石头IT视角

数字化为企业带来哪些价值?

boshi

数字化转型

从 0 到 1 ,不能忽略的「道」

非著名程序员

产品 产品经理 认知提升 8月日更

[灵魂拷问]MySQL面试高频100问(工程师方向)

编程菌

Java 编程 程序员 面试 计算机

【前端 · 面试 】TCP 总结(一)—— 概述

编程三昧

8月日更

数据传输过程的序列化,你了解吗

卢卡多多

序列化 8月日更

Linux之alias命令

入门小站

Linux

埋土灰

箭上有毒

8月日更

Python开发篇——RSA加密算法和SHA1计算文件校验码

吴脑的键客

Python

获取自己的公网 IP 地址

耳东@Erdong

IP地址 8月日更

【微积分的力量】芝诺悖论

LeifChen

8月日更 微积分 芝诺悖论

ASCII对照表

入门小站

工具

前端之算法(九)回溯算法

Augus

算法 8月日更

Springboot+quartz源码探索

4ye

Java 后端 springboot quartz 8月日更

fil挖矿的规则是什么?fil挖矿收益如何?

区块链 分布式存储 IPFS fil收益 fil挖矿

手撸二叉树之二叉树的层平均值

HelloWorld杰少

数据结构与算法 8月日更

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