BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

如何在生产中成功运用Docker

| 作者 Guillermo Beltri 关注 0 他的粉丝 ,译者 史臣敏 关注 0 他的粉丝 发布于 2015年12月4日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

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好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT