写点什么

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

评论

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

《我想进大厂》之Zookeeper夺命连环9问

艾小仙

zookeeper

ICE暴雪正悄悄崛起

DT极客

程序员成长第一篇:机会与趋势

石云升

28天写作 2月春节不断更 机会与趋势

数据库表数据量大读写缓慢如何优化(4)【分库分表】

我爱娃哈哈😍

数据库 架构

Linux-Lab 入门:使用开发板

贾献华

嵌入式 Linux Kenel 开发板 arm boot

anyRTC2020年 年终总结

anyRTC开发者

音视频 WebRTC RTC sdk

使用pgBackRest并行归档解决wal堆积问题

PostgreSQLChina

数据库 postgresql 开源 开源社区

托管节点池助力用户构建稳定自愈的 Kubernetes 集群

阿里巴巴云原生

Docker 容器 运维 云原生 k8s

Kafka基础简介

架构精进之路

kafka 七日更 28天写作 2月春节不断更

MySQL安装教程&问题解决

Mars

MySQL 运维

HTTPS是怎么保证数据安全传输的?

面试 HTTP

【mybatis】- MyBatis基础篇

双木之林

后疫情时代,企业如何实现数字化增长?

字节跳动 Kubernetes 容器 云原生

第三周产品经理训练营总结

产品经理训练营

玩转IDEA项目结构Project Structure,打Jar包、模块/依赖管理全搞定

YourBatman

Module IntelliJ IDEA Project Structure

最高法规范区块链证据,司法链将走向全国统一

CECBC

区块链

2021年云计算面临的5大网络安全威胁

云计算 云安全

利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?

JackTian

Python 数据分析 数据可视化 化妆品 2月春节不断更

Idea工具的各种查找快捷键

小马哥

IntelliJ IDEA 七日更 2月春节不断更

新思科技:以DevOps的速度打造安全的软件

InfoQ_434670063458

DevSecOps 新思科技

即构自研海量有序数据网络MSDN,构建全球可靠的多云通讯链路

ZEGO即构

EXCEL数据如何去重? Python:这事我比你熟

智分析

Python

极客时间产品训练营第三周作业

云随心

产品 作业 产品训练营

你的网站上还在用图片验证码来刁难用户么?一招教你彻底去除图片验证码!

香芋味的猫丶

短信验证码 短信防轰炸 短信防火墙 图片验证码 风控防火墙

SpringCloud 从入门到精通15---Sentinel搭建和服务监控

Felix

华为18A架构师共享:Netty+Redis+zookeeper+高并发技术栈

996小迁

redis zookeeper 架构 Netty 高并发

关于自己的一个梦(飞翔)

Yuchen

区块链与安全随想

CECBC

区块链

产品训练营第三周作业

朱航

即日起 Jira、Confluence 正式停售本地版,中国客户将无法购买

万事ONES

项目管理 开发者 研发管理 团队协作 CTO

产品训练营作业三

胡小湖

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