Docker如何助力3D动画技术颠覆者

今天我们就来看看一家3D动画公司是如何在生产环境中使用Docker的。Allegorithmic是一家总部在法国的3D动画公司,Unity3D插件Substance就是他们家开发的,包括了SubstanceDesigner,Substance Painter和Substance B2M等一整套的3D渲染工具。全球有50,000多位3D艺术家都在使用Allegorithmic的应用,并且大部分用于游戏制作。
‌‌

Allegorithmic_black
Allegorithmic也是Docker的重度用户,来自Allegorithmic的软件工程师Clement Jacob分享了他们是如何在生产环境中使用Docker的。

Before Docker

在Docker之前,Clement说他们使用脚本来部署和配置机器。曾尝试用Vagrant来实现『开发环境尽可能接近生产环境』,但是这种做法太重了,实际上他们想要的只是由开发者来驱动最终服务器端。

Blogpost_v1

他们也尝试过虚拟化环境,由于大多数web应用是用Python和Django写的(最近的服务是Node.JS和Express.JS),他们使用物理机或KVM虚拟机作为后端服务器,但是需要手动安装各种依赖。

Using Docker

Allegorithmic在Docker刚刚发布的时候就开始采用了,一开始他们在AWS上使用Docker,没有用任何管理接口。尽管文件和教程比较少,一开始学习起来稍微有点困难,并且要改变整个工作流,但是Docker正是他们需要的。

Advanced Docker

但是Docker是一个很好的工具,却不是一个很好的面向企业的产品。渐渐地,Clement发现自己的角色越来越像服务器管理员,他不得不维护一套Python脚本,来管理Docker服务,而且这变得越来越困难。镜像构建,容器编排,日志和容器监控的部分都需要他们自己来完成。

Docker解决方案工程师Chad Metcaft曾说『Use Docker to support your core business, not to become one!』

Clement完全同意上面的说法,他认为Docker并不是他们的核心业务,他想要将更多的精力放在公司的业务上,于是尝试使用CaaS服务。

Happy CaaS

CaaS帮助Allegorithmic在生产环境解决的主要问题:

  • 用于连接服务,包括license服务,故障采集服务,和license分析服务;
  • 用于开发技术原型,比如一个网页版的Substance渲染引擎。

在部署方面,他们使用私有的registry服务,开发者可以将生产环境中将要用到的镜像push过去,只要镜像build成功了,就能在最终环境中运行起来。而且,他们在生产环境前还有一个预生产环境,这里Docker也提供了很大的帮助。而CaaS可以帮助其部署和维护在线的服务,它简化了部署过程,新成员能够很快上手,新想法也能够很快被实现出来。

发表评论

电子邮件地址不会被公开。 必填项已用*标注