直击痛点!“云原生”应用助力云渲染行业发展
当我们在为看哪部电影而搜索影评时,往往决定就是一瞬间,而对于TA背后制作过程中的无数个日夜,这份辛劳与努力却鲜为人知。
据统计,目前国内影视制作时间和渲染时间的比例甚至超过了3:1,也就是说,一部电影的制作有25%的时间是在“等”——等待渲染的完成。
可能很多人想不到,即使到了现在,CGI(电脑三维动画)设计师们有时仍可能需要等待近1个月的时间完成一秒钟视频的渲染,或者用24小时来等一张静态图片的渲染。
虽然CGI渲染在工业设计、电脑游戏、建筑和电影等各个方面地位重要,CGI设计师们仍然面临严重的延迟问题,这主要是因为渲染实在太耗费计算资源了。
1、渲染与云渲染
渲染是指建筑设计、动画制作等利用3DS MAX、MAYA等软件制作好模型和动画帧之后,将所设计内容利用软件本身或者辅助软件(lightscape、vray等)制作成最终效果图或者动画的过程。
它实质上是对大量数据的处理,所以渲染这项工作对电脑硬件的要求非常高。随着影视、游戏、动画等产业的发展,无论是观众还是制作者,对图形质量的要求也越来越高,其发展速度对设计行业来说并不友好,个人要承受频繁更新硬件的成本,企业也需要更多的更新和维护开支。
近几年,越来越热的云计算技术所产生的“云渲染”为这个行业开辟出了一条新路。简单来说,就是用户可以从手机、pad、PC等各种终端上传资源,在云端做好渲染,然后获得渲染结果。
有的渲染公司选择自己搭建超大私有云集群来提供超大计算力。这样做会有几个明显的缺点:
- 硬件投入成本大,还需要承担硬件损耗的费用。
- 会产生资源浪费,如果不能保证一直有大量的渲染工作排期就会出现机器静置进而产生浪费。
- 当出现突发性的短暂但海量的业务需求,导致超过本身集群规模能提供的算力支持时,只能选择购入新的GPU硬件来扩大集群。
- 需要承担超大集群的运维工作。这里不只包含GPU集群的调度运维,还包含与之配套的文件服务系统运维。
- 有地域和设备的依赖。
有的渲染公司选择将自己的部分,甚至全部计算集群移至公有云。长期来看,将计算集群移至公有云会是渲染行业未来的发展趋势。因为除了避免了以上的种种缺陷之外,还具有如下的好处:
优点
- 可以享受弹性服务,按需购买GPU集群,减少资源浪费。
- 可以享受公有云平台提供的高性能高可用运维解决方案,享受到公有云供应商的百人以上专业技术团队提供的24小时不间断技术服务。
- 可以享受公有云平台提供的额外配套服务。例如文件服务,安全防护等等,无需担心兼容性的问题。
- 可以跟随公有云平台技术解决方案的升级而不断得到服务升级,甚至能享受到云平台新技术的加持。
2、渲染行业需要什么样的云?
日前,2019云渲未来·CG产业峰会在常州举行,该峰会由江苏赞奇科技股份有限公司主办,联合全球两大游戏引擎商Unreal、Unity 3D,全平台云计算综合服务提供商京东云、网宿科技,视觉计算专家NVIDIA,渠道合作伙伴英迈国际(Ingram Micro),中国数字艺术教育高端门户火星网等国内外知名企业,展开了一轮云生态CG对话。
京东云在此次大会上发表了《云原生应用助力云渲染》的主题演讲,分析了当前渲染行业面临的主要问题 ,创新地将CloudNative理念带入到渲染行业,帮助解决渲染行业的核心问题。
渲染行业需要什么样的云呢?如果未来会有渲染云,这种云应该具备何种特性呢?
要回答这个问题,需要首先分析出渲染行业面临的主要问题:
- 算力不足,需要超大GPU集群来满足其不断增长的业务需求。
- 普通的文件服务系统难以支撑其高频的文件读写和多节点资源共享的需求。
- 成本高,弹性服务的粒度不够细,不能做到细粒度的用多少买多少,还会有一定的浪费现象存在。
- 单个计算节点的启动速度过慢,在分钟级别。
- 还是需要有自己的运维团队来维护整个工作集群。
当前的公有云服务是能部分解决以上的问题的。比如京东云的GPU集群服务,硬件加速计算提供卓越的计算性能。通过配置本地临时SSD盘,可以将访问时延降到极低的水平。提供OpenAPI及控制台两种方式管理GPU云主机,同时支持控制台VNC及远程SSH两种方式登录GPU云主机进行环境配置。同时支持弹性服务,即用即买,计费可以精确到秒,最大化的节省了企业成本。
在高性能文件服务器的需求上,京东云推出了CFS高性能云存储服务:
CFS是一种高可靠、可扩展、可共享访问的全托管分布式文件系统。它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并按照实际用量计费。采用NFS 协议,支持POSIX文件接口,可为linux系统下的云主机提供共享访问服务。
其产品特点为:
- 文件系统:使用文件和树形目录存储和组织计算机数据的方法。
- 高可靠:文件数据三副本。
- 可扩展:不需预设存储空间大小,空间随写入、删除文件而增减。
- 共享访问:多台云主机可以“同时”读写同一文件系统中的数据。
3、渲染行业的未来 Cloud Native
不难发现,渲染行业还是有两个明显的遗留问题——单节点启动速度慢和系统运维团队庞大。单节点启动速度慢是因为当前渲染行业使用的还是物理机节点或者虚拟机节点,节点还需要安装Windows操作系统(主流的渲染工具都是跑在Windows系统上的)。如果使用了容器技术,相信可以将损耗降到最低,而且启动速度可以达到秒级别。
而运维团队的存在也是历史遗留问题——这就好像有人想做很多苹果派,但是他需要从种苹果树开始做起。为了支持不断增多的苹果需求,他需要维护的苹果树也多来越多,最后他不得不雇佣了一个果树种植团、杀虫、运输团队等等。随着需求的增大,这些团队的规模也不断增大,团队之间的管理问题也越来越多,让人不得不抽出越来越多的做苹果派的精力来处理各种团队管理问题……
在此,我们提出了云原生的理念,借助云原生应用可以完美解决以上问题。
什么是云原生?
CNCF在2018年对云原生进行了重新定位:云原生技术帮助公司和机构在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网络、微服务、不可变基础设施和声明式API。
这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术可以使开发者轻松地对系统进行频繁并可预测的重大变更。
Cloud Native不是一个软件,也不是一种框架,而是理念的集合,以及围绕这些理念所产生的最佳实践工具。
云原生涉及的主要技术领域
京东云云原生产品规划及路线
云原生容器服务助力云渲染
渲染行业当前无法使用容器技术的主要原因是主流的渲染工具都是工作在Windows平台上的,而当前还没有支持Windows的容器。但可以看到,业内已经有一系列的渲染工具逐渐转移到Linux平台了,相信这会是未来的发展方向。到时,渲染工作就可以转移到容器上运行,可以弹性伸缩应对高峰需求,占用资源减半,节约开发和测试的成本,提高运维效率。不论是在管理上还是在运行调配上都会带来飞速的提升。
京东云原生容器充分融合了虚拟化和容器的有点,在保留了虚拟化的安全性高,生态完整和成熟度高等的特点上,还兼具了启动速度快、体积轻巧、应用便捷发布等特点。
如上表可知,相较于普通容器,京东云原生容器不论在虚拟化技术上、软硬件配置上以及易用性等方面都具有较大优势。
Kubernetes集群服务助力云渲染
Kubernetes提供了面向应用的容器集群部署和管理系统,旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,也提供稳定、兼容的基础(平台),用于构建定制化的workflows 和更高级的自动化任务。
Kubernetes 具备完善的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度机制、多粒度的资源配额管理能力。与此同时,Kubernetes 还提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。
京东云Kubernetes集群服务采用管理节点全托管的方式,为用户提供简单易用、高可靠、功能强大的容器管理服务。该产品完全兼容标准Kubernetes API ,集成京东云网络、存储等插件。Kubernetes集群服务简化了Kubernetes部署、管理,降低了Kubernetes使用门槛,增强应用的可靠性,提升开发的效率,减少资源投入成本。
1.京东云Kubernetes集群服务使用场景—容器化应用
Kubernetes是容器编排系统的事实标准,提供容器化集群管理,最大程度发挥了容器的隔离性、资源分配和编排管理优势;网络、存储、运行时支持自定义插件,与平台解耦,让Kubernetes适用于不同的应用场景和跨云平台。
2. 京东云Kubernetes集群服务使用场景—CI/CD
云原生生态体系为Kubernetes提供了自动化发布、自动化部署、持续交付等各个流程的工具,更好的适应微服务应用场景。
未来Cloud Native生态下的渲染行业
如果Cloud Native理念能在渲染行业实现,那么:
- 不再有服务器的概念
- 不再有系统管理员的概念
- 实现完美的自动扩容和缩容,平滑的升级回滚。享受基于统一日志检索、调用链分析的故障分析流程。
- 不再需要运维团队