迪士尼用OpenShift建IT自助服务,应用程序部署工作数分钟就搞定
2017-09-03 07:08:17 | 来源:ithome | 投稿:乐乐 | 编辑:dations

原标题:迪士尼用OpenShift建IT自助服务,应用程序部署工作数分钟就搞定

图片来源:

iThome

提到迪士尼,许多人在脑中浮现的画面,想必少不了脍炙人口的米老鼠、高飞狗或唐老鸭等角色,这些卡通人物是不少人都有的童年回忆。这家由华特?迪士尼在1923年创办,起初资本额为3,200美元的动画工作室,现在已经演变成年营业额超过550亿美元的大型娱乐集团,除了原本的动画事业外,还跨足经营电影、有线电视以及游乐园事业等。

早期的迪士尼名作,像是《幻想曲》、《白雪公主》及《木偶奇遇记》等,都是靠着动画师用铅笔一张一张手绘,再转印到赛璐璐片上。光是1秒的动画,至少就得画上24幀,才能在大荧幕上赋予卡通人物如人般活灵活现的姿态。

但是现今经营电影、动画事业,要成功,不单只是靠好剧本、演员及动画师,IT在其中的参与更是越来越有份量,像是近年的《无敌破坏王》、《冰雪奇缘》、《动物方城市》等作品,动画制作的媒介已经以电脑为主力,不只如此,絢丽的电影特效,也必须依赖电脑后制。如何让动画师、应用程序开发者无须为IT服务操心,可以专心地投入影视创作及开发工作,靠的就是背后稳健的基础架构服务。

华特迪士尼影业集团首席系统工程师Leonard△Arul表示,其团队主要任务为管理迪士尼影业制作所需的IT基础架构,目前总共管理的储存容量多达20至30PB,每天要搬迁多达15TB的数据,“光是拍摄一部动作片,背后所要使用的应用程序就超过200个。”而该团队的挑战,又可以分为网络管理、储存管理,快速进入市场及企业资源管理这四大任务。

第一个挑战是维护串起迪士尼影视制作所需要的网络架构,“支撑这些任务的伺服器,散落在迪士尼各处的建筑物及分部设施”,Leonard△Arul解释,一部电影的拍摄场景不会在单一地点就能完成,而是横跨全世界的不同国家,IT团队的难题在于统整这些散落在全世界各处的视频资料,让导演、制作人可以检视每日拍摄的工作镜头,并思考如何改善它的视觉效果。

Leonard△Arul表示,视频档案所需要执行的后制,不像单张照片那么简单,“一个镜头拍摄需要数台摄影机”,如果要拍摄3D视频,需要的摄影器材更是加倍成长。也因此,每部电影所产生的毛片资料都相当可观,像是近年《神鬼奇航:死无对证》这部电影,Leonard△Arul表示,光是视频Raw档就占据了1PB的储存空间,“如何在不同工作场域搬移这些档案相当困难。”

第二个挑战则是管理PB等级的储存架构。随着后制技术一日千里的进步,支撑迪士尼运作背后所需要储存架构规模,自然水涨船高。Leonard△Arul表示,从90年代开始,迪士尼影视制作开始引入数位技术,以1990年推出的《救难小英雄:澳洲历险记》而言,当时一部视频制作约需要1TB的视频原始档,到了2000年的动画片《恐龙》,原始档容量剧烈成长至50TB,更甚,2010年的《魔发奇缘》,原始档已经成长到400TB。

第三个挑战则是在一定时间内,提供多种发布形式。早期动画上映时,除了提供各大电影院拨放,也只需要提供录影带、VCD等视频媒介而已。但是现在上映前,迪士尼除了提供各平台多国语言、字幕的预告片之外,电影发布形式也更加多元,如DVD、蓝光,以及线上串流等。

“现今视频交付的压力也变得越来越大”,Leonard△Arul表示,以前电影在美国与海外上映日的时间间隔较大,但是现在全球各地上映日的差距不仅缩短,其他视频媒介如DVD,视频上映几周内也得推出。“快速进入市场永远都是事业的重要推力。”他表示。

最后的挑战则是企业内部资源管理。迪士尼旗下不只拥有一家电影公司,同一时间内有多部电影、动画都在进行制作,“我们得要确保各应用程序、硬件设备资源都能妥善隔离。”Leonard△Arul表示。

Leonard△Arul表示,最早在裸机架构的时期,应用程序部署的工作得花上数周,演进到PaaS架构后,只要数分钟就可以完成部署工作。他举例,原本内部总共8个资产管理应用程序,以前得要2周的前置作业才能开始运作,“利用PaaS,可让老旧应用程序继续运作”,在打造出不需更动的基础架构(Immutable△Infrastructure)的同时,也可以继续开发新兴应用程序。但是,基础架构的演进,“除了带来方便,也会带来新的挑战。”

首先是系统监控的挑战。IT团队要能及时侦测系统的错误,一旦发现系统故障,还要能马上进行故障排除。由于电影、动画制作不会只在单一地点完成,同时,每部视频所需要的应用程序也不同。Leonard△Arul表示,举例,像是某次海外电影取景时,网络频宽突然下降至5Mb至10Mb,但当地没有工程师可以即时协助剧组排除故障,“这类事件我们都得马上收到通知。”因此,IT团队必须提供单一的系统除错介面,“不能只提供资料中心使用,其他地方也可用”,此外,还必须架设监控系统,追踪系统、伺服器的运作情形。

再者是资料转移的考验,迪士尼会将视频相关的资料,随着时间迁移至不同的基础架构上储存。Leonard△Arul解释,电影从制作到封存,中间还会经过上映、DVD及蓝光释出、线上推出等阶段。随时间,影视资料会从高速储存逐渐搬移至低速储存,“同时还要确保哪些人有浏览的权限。”

最后则是要打造出自助式IT服务,“让开发者的工作更加轻松”,Leonard△Arul举例,像是建立统一的持续整合、持续交付流程,即使不同的开发专案也可使用。或是开发者如碰上增加专案储存空间的需求,不须通过维运团队也可以自行扩充空间。

摄影/王立恒

利用PaaS平台,可以让老旧应用程序继续运作。打造不需变更基础架构(Immutable△Infrastructure)的同时,也能继续开发新兴应用程序。——华特迪士尼影业集团首席系统工程师Leonard△Arul

资产管理系统运作靠OpenShift

因此,目前迪士尼影业集团除了4座私有资料中心之外,更导入Google及AWS的公有云服务。基础架构也从过去的裸机、伺服器虚拟化、IaaS,逐渐将工作负载搬迁PaaS平台OpenShift上运作。

华特迪士尼影业集团系统工程师Thomas△Haynes表示, IT团队已经将资产管理系统都转移至OpenShift上运作,“从传统的Tomcat应用程序,转型成Spirng△Boot组成的微服务应用程序。”他表示,目前资管理系统共有1,000个使用者,随着未来使用规模增加,IT团队也计划提高应用程序集中化的程度。其中一个导入OpenShift的因素,“要让开发人员不通过系统工程师,也能取得基础架构资源”,就如公有云厂商提供的服务般,开发团队只要按几个按键,就可以建置所需要的基础架构资源。

Thomas△Haynes也揭露了这套OpenShift的使用架构。以迪士尼影业集团的内部资料中心而言,现阶段架设了3个开源虚拟化平台KVM丛集作为基础架构。而在KVM平台上,总共有12个节点支援OpenShift平台的运作。

而这12个节点,又可细分成3类节点:3个主节点、3个基础架构节点,及6个应用程序节点。Thomas△Haynes表示,主节点的任务是维持API运作顺畅,让开发人员可以自由存取OpenShift。再者,容器储存库、Log系统或监控系统,则是建置在基础架构节点上运作。其余的节点则是应用程序节点,“确保应用程序正常运作,让终端使用者可以存取应用程序。”

但是,将基础架构翻新的同时,也会受到过去包袱的箝制。Thomas△Haynes举例,像过去使用VM时,系统管理员可以设立白名单,允许特定IP位址的VM挂载硬盘。但转为使用OpenShift之后,一个节点上同时会有许多Pod同时运作,“如果全部的Pod都在白名单之上,就无法确保彼此有足够的隔离度。”

而IT团队想到的办法,就是在网络流量的出入口,部署一个控制节点中Pod存取权限的Egrass△Pod。Thomas△Haynes解释,当节点中某个Pod想要存取NFS伺服器,必须先与Egrass△Pod界接。再者,IT团队也可以利用防火墙,限定Pod可以存取的网络,加强资安防护并提高存取控制的精密度。

另外,Thomas△Haynes也预想到,随着基础架构扩张,系统复杂度、资源调度难易度也逐步提升,“因此我们将中控中心独立于OpenShift节点外。”他表示,如此一来,在使用OpenShift时,“开发者不需要厘清Pod在何处运作,只要理解如何使用中控中心就好。”未来本地资料中心执行维护工作时,IT团队也能够利用中控中心,将应用程序、工作负载搬移至外部公有云运作。

Thomas△Haynes表示,目前在OpenShift平台上运作的Pod总共有1,000个,计划在年底将Pod数量提升至超过1万个。现阶段迪士尼其他事业部也陆续开始导入OpenShift。

VM组态管理不易

而迪士尼影视集团旗下另一个将OpenShift导入正式环境的子公司,就是皮克斯动画工作室,在2006年时被迪士尼所并购。在这家具有传奇色彩的工作室,一手推出了《玩具总动员》、《超人特攻队》等知名动画。对皮克斯而言,OpenShift可用于打造自助式IT服务,同时,皮克斯也导入了Docker及Ansible,解决基础架构组态设定的难题。

皮克斯动画工作室资深Unix系统管理员Charles△Sochin笑着说:“我们是网络及伺服器管理(Network△and△Server△Admin)团队,简称NSA。”目前该团队的编制为6人团队,主要任务是提供皮克斯动画制作所需要的基础架构。除了管理路由器、防火墙、及网络交换器之外,正式环境的VM、容器、老旧应用程序及邮件伺服器等,都属于该团队的管辖范围,“皮克斯永远都在寻找新技术,试图简化这些IT管理工作。”

当下皮克斯IT团队碰上的难题就是VM管理,Charles△Sochin表示,开发团队会不断提出新增VM的需求,作为新应用程序的开发环境,“系统管理员得清楚VM如何被部署,当中执行了哪些应用程序”,而导入容器技术Docker后,更让MIS管理工作雪上加霜,“因为任何人都可以随意开启、部署Docker容器”,同时,IT团队也要确保容器映像档是来自安全的储存库。再者,更新VM也是相当繁瑣的工作,“规模小的时候还好,但当规模达到数千台时就非常困难。”

Charles△Sochin表示,皮克斯内部有许多老旧应用程序,各自都有独特的系统相依性设定,导致更新工作变得非常复杂。他举例,当Rails发布新版本时,维运团队得要重新建立VM,部署完整新版Rails后,再请开发人员将应用程序搬迁至新VM中运作,“我们需要一个工具,可以集中管理应用程序、组态设定跟部署工作”,提高工作流程透明度。

解决这些难题,皮克斯选择导入组态管理工具Ansible,利用YAML撰写组态设定文件Playbook,简化管理部署工作及组态设定,也能让更新工作自动化,“让VM、容器的建置变得更有弹性。”

不仅Ansible,皮克斯也使用OpenShift加速应用程序部署、建置的自动化,同时,还能打造自助式IT开发环境。皮克斯动画工作室技术总监Dale△Bewley表示,自助式IT服务的好处在于,开发者不需要向维运团队提交开启VM的需求,不用担心理会DNS、负载平衡等组态设定改变。

摄影/王立恒

打造自助式IT服务的好处在于,应用程序开发者不需要向维运团队提交开启VM的需求,也不用担心DNS、负载平衡的组态设定改变带来的影响。——皮克斯动画工作室科技总监Dale△Bewley

容器技术容易解决流量问题

除了VM,皮克斯也在正式环境导入了容器技术,利用Openshift作为Docker容器的运作平台。Dale△Bewley表示,容器技术的好处在于易于水平扩充,“可以很轻松地增加节点数量。”

为简化容器的使用流程,Dale△Bewley指出,当中是使用OpenShift所提供的S2I框架(Source-to-Image),从映像档来源开始,建立可复制的Docker映像档,“不仅可以用于映像档建置,S2I也可用于容器建置程序”,他表示,S2I可让开发者专注在应用程序开发,不用介入Dockerfile或是Ansible△Playbook的运作。

在使用容器技术时,其中要注意的要点,就是映像档来源是否安全,一旦映像档储存库有遭受污染的容器,当使用者不慎下载安装后,也会使正式环境的其他容器遭受感染,“红帽提供的映像档内容的安全性较高,但是当映像档来自第三方储存库时,便无法确保它的安全性。”

但是,皮克斯打造自助式服务的目的,就是希望开发者不需要介入底层基础架构的运作。利用S2I,开发者可以建置可复制的容器映像档,“当映像档来源有所变更时,我们也想让应用程序、映像档的更新自动化。”Dale△Bewley表示。

映像档建置、部署都自动化

在红帽OpenShift的设计中,当映像档有更新时,系统可以自动触发,从映像档储存库中下载新版本的映像档,并且自动部署,这样的功能称为Image△Streams。而皮克斯的容器映像档更新步骤,可以被切分为2个阶段。第一个阶段是建置阶段。Dale△Bewley表示,每当侦测到版本控制系统的主干、分支版本合并成功后,就会自动驱动建置过程。

他举例,像是红帽官方映像档储存库中有Python△2.7版的映像档,而皮克斯内部开发的专案叫做Cool△App。下载至使用者本地环境的映像档,使用者可以给予它一个标签(Tag),“这个标签会指向该映像档来源的储存库。”他表示。

当来源储存库的Python映像档有更新时,Image△Streams会自动比对储存库及映像档标签,观察其Hash值是否有变更,如果有异动,OpenShift便会自行驱动更新流程,下载最新版本的映像档。

而与Python映像档有相依性的内部专案Cool△App,此时正处于暂存阶段(Stage)尚未进入正式环境。在OpenShift的流程设计中,还有提供了一个BuildConfig配置档,储存许多系统中介资料,包含应用程序原始码及基础映像档(Base△Image),并且定义映像档的建置过程以及储存位置。

当建置过程开始时,OpenShift会下载Python映像档,并且开启一个Build△Pod让它运作。接着,系统检查Build△Pod中的运作Python映像档,发现有新版本后,便会自动更新。更新后的映像档,除了上传至本地的丛集储存库外,也会自动写入处在暂存阶段的Cool△App。

第二阶段则是部署阶段。当暂存阶段的Cool△App更新之后,接着就是必须部署到正式环境。在OpenShift的设计中,除了靠BuildConfig配置档完成建置阶段,还要靠Deployment△Config配置档,让映像档变成在Pod内执行的容器。

Deployment△Config配置档是由使用者自行定义的模板,描述部署过程外,还有过程中所需映像档、环境变数,并且通过Replication△Controller,管理Pod的生命周期。

导入OpenShift之后,Dale△Bewley表示,无论是维运团队、开发者都相当满意它的自动化功能。过去新进人员需要3个月才学会如何将程式码提交至正式环境,在使用OpenShift之后,只需要1周就可以开始提交程式码,“未来想要让更多工作负载都靠OpenShift执行。”

tags:

上一篇  下一篇

相关:

Android装置遭病毒入侵 数百个Google Play应用程序下架

电子商务时报记者/吴宸乐去年底,DDoS借由物联网装置攻击美国DynDNS公司,造成大规模网络瘫痪。今年DDoS阻断服务攻击转向行动装置,名为WireX的僵尸网络病毒大举入侵Android系统,Google Play商店中约有300个应用程

猫貍文化工作室“北管乱弹戏” 入围传艺金曲

【林君蓉徐荣骏苗栗】这礼拜六26日,就是第28届传艺金曲奖的颁奖典礼,客家电视台特别制作传艺金曲奖系列专题,今天首先介绍,猫貍文化工作室所制作的“北管乱弹戏”,入围了“最佳传统音乐专辑奖”,这张专辑呈现苗

对付间谍软件Google出招 下架500应用程序

我酷新闻网记者黄有容/综合报道网络资安问题层出不穷,网络安全公司Lookout今年在GooglePlay的应用程序中发现间谍软件,会在没有使用者允许的情况下,存取照片、录音和通话纪录等。为防止类似恶意软件继续侵犯用户隐

LinkedIn加入视频功能 描述工作内容、自我介绍更生动

我酷新闻网记者蓝立晴/综合报道身为职场人脉社交龙头,LinkedIn在去(2016)年被微软(Miceosoft)之后时常更新其功能,近日又加入视频上传与分享功能,平台越来越丰富。今年稍早LinkedIn从头到脚翻新了网站,拥有了

逃脱者换工作 [游戏攻略]

在逃脱者2游戏中,很多玩家不想重复的做一份工作,想要和别人更换,不知道该如何调换工作,下面小编就为大家带来逃脱者2更换工作方法,希望能够帮助到各位玩家。玩家先看好这个工作之前的人是谁,然后工作时间的时候

站长推荐: