其他分享
首页 > 其他分享> > 干货 | Yelp是如何使用Docker的?

干货 | Yelp是如何使用Docker的?

作者:互联网

 吴飞群 分布式实验室 

图片

每天都有成千上万的人在使用Yelp的SeatMe来完成餐厅预订服务。这篇博客将会深入地讲解Yelp是如何使用Docker来开发并部署SeatMe系统的。Docker是一个非常强大的生产环境助推器,它已经大大简化了我们的部署方式。首先,我要简单介绍一下Yelp的SeatMe系统的背景,以及它的开发部署方式。

image.png

餐厅会通过我们的网站或者iPad应用来接受并管理客户预定信息。我们会保证客户所有的终端信息实时同步,同时当客户在没有联网的情况下我们也支持离线更改。

图片

我们的技术栈:

image.png

一年前,我们使用Docker容器开启了一种新的方式来让我们的测试环境、灰度环境、生产环境更加地一致,同时让我们的部署流程更加简化。

在我们使用容器之前,部署一个Web应用的逻辑是被放在Chef的配置文件里。部署流程大概像这样:

这些Chef的配置文件对于新工程师来说简直是噩梦,因为它们使用一种完全不同的语言(Ruby)的一个非常复杂的框架。

通过使用Docker,我们能够简化Chef管理的部署部分,现在的流程如下:

使用Docker的好处:

经过两个月的开发和测试,我们在2014年10月初期终于把Docker用到了生产环境,并且运行稳定。

image.png

Docker是一个相对比较新的技术,所以你使用过程中难免会遇到一些坑。我在这里总结下我们的经验。

image.png

总的来说,容器化已经取得了巨大成功。比如说,当Shellshock漏洞被公布的时候,我们的事故响应仅仅是一次容器的构建和一次Chef的执行。尽管发展步履维艰,Docker已经是一个巨大的改变,我们非常乐意继续研究它。有了一个稳定的Web基础构件后,我们已经找到更新更有效率的方法来测试、部署和管理我们的基础构件,同时也找到了更快的开发迭代的方法。我们希望能在今后的文章中分享这些方法,敬请关注吧!


标签:容器,Yelp,部署,文件系统,干货,镜像,Docker,我们
来源: https://blog.51cto.com/u_15127630/2829276