提升云上效率 UCloud用技术落实到具体场景
9659
2019-06-11 18:39    文章来源:T媒体
文章摘要:云计算技术的应用尽管越来越多,但真正能够帮助用户提效才是根本。

UCloud 一路走来的这七年并非一马平川,但是走的很稳!

从最初的白手起家,到打破“云计算公司的谎言”实现共有云市场中的盈利,再到科创板上市首个获得受理的云计算企业,UCloud 还有很长的路要走。

不过,正如 UCloud 创始人季昕华曾经强调的那样,上市是手段不是目标,UCloud 会按既定时间表走。比如,每年的用户大会就一如既往地进行着。

5月28日, 以“中立安全、赋能产业”为主题的UCloud用户大会暨Think in Cloud北京站如期举行。会上,季昕华宣布 UCloud 进行品牌升级,并启用中文名称“优刻得”,蕴含“优秀的云立刻可以得到”等意义。

在上午的主会场中,UCloud宣布针对产业升级的三个阶段,围绕CBA(Cloud、Big data、AI)战略,布局了全线云产品、安全屋可信数据流通平台、UAI人工智能赋能平台。同时,UCloud在本次大会上发布智慧城市、智能互联汽车、智慧媒体、新零售、智慧教育、智慧金融、智能制造七大行业解决方案,“快杰”新一代云主机 、“+U合作伙伴计划”等丰富内容。

在下午的分会场中,同伙伴一同探索了5G、边缘计算、工业互联等新领域,同时进行的还有两个技术分会场:技术专场A从不同角度探讨了UCloud在帮助用户“提升云上效率的方法论”以及具体实践案例;技术专场B从存储、网络、数据库、安全四个方面揭晓了分布式云计算实践的技术原理、应用场景和具体案例。

T媒体在这里为大家整理了一下技术专场A的精彩内容,看UCloud如何帮助提升云上效率。

基于Kubernetes构建容器云平台

作为当下最为火热的,基于容器的集群管理平台K8S(全称Kubernetes),UCloud技术团队又是如何利用该技术的?应用效果如何?

或许元年科技CTO杨熠的一句话可以很好地概括,“使用UK8S,开发者可以像使用普通云服务器一样迅速搭建K8S环境。在享受K8S带来的便利的同时,能够让开发人员集中注意力在业务实现的细节,而不必在基础架构搭建上浪费太多的精力。”

UCloud实验室负责人叶理灯在其演讲《基于Kubernetes构建容器云平台的实践》中提到,尽管都是基于Kubernetes,但该公司对内和对外的实践是不同的:内部的容器云平台是基于物理机来构建的,面向的是公司内部的业务人员和开发。对外的开发产品是基于公有云的IaaS平台来构建的,是为公有云的用户提供一个整合了IaaS资源的一个个K8S集群。

微信图片_20190611182126.jpg

内部容器云平台的构建是基于降本提速的需求,原因可以从三方面分析:

运行业务的虚拟机数量庞大,其初始化部署、日常的运维操作消耗大量人力;各部门的业务架构不统一,隐性成本很大;虚拟机的利用率都不高,造成资源的浪费。

基于此,UCloud 通过K8S+Docker的方法构建了内部的容器云平台,其中Docker提高了运维部署效率和运维环境的一致性,通过K8S本身跨可用区的特性来实现跨可用区容灾和Auto Scaling能力,提供弹性、分布式的应用托管服务平台,帮助开发者一站式轻松开发并部署应用程序,KUN底层基于Kubernetes,提供高可用,在线升级,自动扩缩,负载均衡,日志查看,资源监控等多种功能。

微信图片_20190611182656.png

当然,在构建内部容器平台的时候,UCloud技术团队也遇到几个问题:多租户隔离;IPv6怎么跟IPv4网络兼容;Operator来管理有状态的服务;监控。

那么,针对这些问题,UCloud是如何解决的呢?

在此,我们不做太细分的摘要,以多租户隔离问题为例简单说一下。

叶理灯表示,基于RBAC实现账号管理的方式来实现多租户之间的隔离:选择Token认证方式—;通过服务账号SA模拟普通用户User,即User与SA——对应;所有模拟账号SA放置同一个NS,统一管理;定制权限组ClusterRole;通过授予模拟账号SA的不同权限组,来控制不同User在NS中的不同权限;抽象Project对象给User使用;Project与每个集群的ES——对应;User在每个集群上都有对应模拟账号,⽤于NS授权。

外部容器云平台UK8S,UCloud Container Service for Kubernetes(UK8S)是一项基于Kubernetes的容器管理服务。用户可以在UK8S上部署、管理、扩展其容器化应用,而无需关心Kubernetes集群自身的搭建及维护等运维类工作。

微信图片_20190611182904.png

叶理灯提到,目前UK8S已能够完全兼容原生的Kubernetes API、以UCloud私有网络为基础,并整合了ULB、UDisk、EIP、VPC等云产品。并且,UCloud技术团队还现场展示了其UK8S如何为客户解决其痛点,比如元年科技、礼友科技等。

利用StepFlow快速可视化地构建新业务

UCloud技术总监蒙晓净现场分享了该公司如何利用StepFlow快速可视化地构建新业务。

微信图片_20190611182132.jpg

StepFlow 是一个通过可视化的方式去编排API和微服务的服务平台,应用开发的时候可以在不写代码的情况下完成新的功能的组装、新的服务接口的发布。

微信图片_20190611183112.png

那么,怎么用StepFlow来提升效率?以具体场景为例。

比如,一个串行流程,在传统模式下要实现数据的二次保存,开发人员要去了解怎么去使用API或SDK,整个过程还是要花不少功夫的。而使用StepFlow只需要在start和end两个基础节点间输入一些参数值,加一些变量名,就能实现参数在整个流程中的传递。

另一个场景,实现一个并行的流程。举一个UMedia产品场景的例子,UMedia媒体工厂,它的功能是对视频做各种处理。在其典型的场景中,会需要在一个视频文件上传到UFile之后,对它做多个视频处理任务,例如多种格式转换,转成高清的或者是普清的,打水印,截取某一秒的截图等等。这个场景使用StepFlow怎么样去实现?第一步去创建单个步骤,选择好对应所需要的转码模板,保存,这个步骤就很快的完成了。

还有诸如如何实现调用子工作流的应用场景等等。

以上都是有关构建新业务的场景,那么当整个业务流程已经在正常运行的时候,需要对业务进行更改,怎么样确保不会对原有的业务产生影响?

蒙晓净表示,StepFlow是通过多版本管理的方式来解决这个问题。

值得注意的是,整个的过程中(构建新业务以及实现已运行业务的流程)并没有申请任何一个物理资源,甚至也不需要关心底下的物理资源使用情况怎么样,这表明StepFlow是一个Serverless的服务,这些事情都是StepFlow服务在后端进行动态的管理和调度的。同时,在这样的前提下,用户就可以集中更多精力在自己的业务上,优化自己的产品,获得更大的价值。

总之,UCloud技术团队期望通过StepFlow能给大家带来一种新的研发路径,达到所做即所想的效果,以期未来能带来更高的效率。

微信图片_20190611183246.png

据悉,目前该产品是只有北京区域开放,之后会在别的地域去部署。海外节点也会按照计划慢慢推进。

云主机并发创建优化

除了以上所提到的技术外,关于“云上效率的提升”,不能不提到云主机创建。

在本次大会的主会场当中,UCloud推出了“快杰”新一代云主机,并且在现场和友商跑分中大获全胜,这是提升云上效率最好的证明。在该技术场中,UCloud资深研发工程师齐良进一步对云主机并发创建优化进行了详细解读。

微信图片_20190611182137.jpg

不同行业的客户对并发场景都有一些需求,主要有:电商大促、动画渲染、营销活动、教育培训。在这些场景处于高并发的情况下对于主机承受力的要求很高。

而最原始的创建云主机的过程,有一些比较明显的缺点:需要把所有的都要复制过来,耗时长,还受限于宽带速度;在镜像管理方面会比较麻烦,每更新一个镜像,上一个新的镜像,需要把该镜像发布到所有的复制机,显然耗时费力。

怎么把复制时间减少,怎么解决网络带宽的问题呢?基于并发拷贝的思想,该技术团队开发了一个Koala镜像系统,镜像分片存储、并发拷贝,解决由于复制导致开机时间长的问题,创建时间小于15秒。

微信图片_20190611183453.png

另外,怎么解决IO的问题,比如用同一个镜像创建两台云主机,他们的数据是一模一样的,他们是从同一个镜像创建的。镜像分片在UDsik内部P2P分发,同一个镜像只从Koala复制一次。

为此,团队做了进一步优化:异步返回、并发申请资源、优化IP地址申请,经过这三个优化之后,创建100台耗时约5分钟。

但是,随着平台逐渐扩大,用户也越来越多,并发超过100台的问题如何解决?扩容,当然可以。但是在非高并发的情况下,这些资源是非常浪费的。UCloud后台有大量的空闲资源可以拿来用,基于此开发镜像Cache系统,这样客户需要预约一些资源,需要并发创建多少台,就将该请求拉到镜像Cache系统里面。当客户有并发创建需求的时候,以前会从Koala系统里面,现在可以从镜像Cache系统里面拉出来,这里面资源是成千上万的。

微信图片_20190611183559.png

总结下来可以归纳为三点:

1、单台云主机优化:虚拟化Block Streaming,UDisk实现P2P分发镜像,创建时间从5分钟减少到6S。

2、批量创建接口:优化创建流程,创建100台时间从10分钟减少到2分钟。

3、软件架构设计思考:应对极端创建需求,利用空间资源池,为了系统稳定性将系统做简单。      

事实上,技术总是在推进中不断演进,我们也期待UCloud就像它的中文名所寓意的那样,提供给市场“立刻可以得到的优秀的云”。


版权声明:

凡本网内容请注明来源:T媒体(http://www.cniteyes.com)”的所有原创作品,版权均属于易信视界(北京)信息科技有限公司所有,未经本网书面授权,不得转载、摘编或以其它方式使用上述作品。

本网书面授权使用作品的,应在授权范围内使用,并按双方协议注明作品来源。违反上述声明者,易信视界(北京)信息科技有限公司将追究其相关法律责任。

评论