星云星云完成1100万美元A+轮融资,由华泰创新等领投
06-18
近日,云原生实践峰会在上海举行。
余位云原生实际上派出了企业代表参加会议,讨论云原生的实施路径、挑战和创新实践。
峰会上,作业邦基建的负责人·董晓聪受邀分享了云原生的实践历程,并展望了云原生明年的发展趋势。
2018云原生实战峰会由阿里云主办。
本次峰会的主题是:原生创造,云上创新。
云原生不仅重塑了IT生态系统,也改变了企业组织和开发者的能力。
本次峰会还举行了云原生第一批MVP颁奖典礼,董晓聪成为获奖者之一。
云原生的转型追求——降低成本而不降低质量。
作业帮成立于2007年,是一家致力于用科技手段助力普惠教育的公司。
董晓聪介绍认为,目前作业帮技术的现状有两个主要特点。
一是规模。
目前,作业帮拥有数千个应用服务,对应数万个服务实例,这些实例部署在数十万个计算核心上。
另一个特点是复杂性。
作业帮的技术栈极其丰富。
最常用的语言是PHP和Golang,占比超过60%。
此外,还有大量的系统使用NodeJs、Java、C++、lua、Python编写等。
董晓聪表示,作业邦从创立之初就基于云,充分享受了云计算的红利。
经过多年的高可用建设,已经实现了多云架构。
高可用、快速迭代、极致性能也是作业邦一贯的技术要求。
为什么要降低成本、提高效率?董晓聪表示,这项工作以前已经做过,但今天的要求会更高。
首先,随着互联网红利逐渐褪去,企业的每一分钱都需要产生更大的价值,实现成本效益最大化。
其次,控制成本,节省不必要的开支。
最后,也是技术从业者的一种追求。
作为程序员,我们仍然希望编写出更好、更高性能的代码。
“在追求降低成本的同时,我们也要明确,降低成本不降低质量,稳定性、研发/运维效率、安全性等不能受到损害。
”董晓聪表示,最终,作业邦选择了走云原生的路。
与云厂商合作,充分释放云的潜力。
在云原生的帮助下降低成本——我们在应用层这样做,以帮助专注于典型场景。

优化模块数量最多的PHP业务运行状态,优化占用资源最多的检索服务架构。
依托K8S进行部署和调度,实现了CPU、GPU、任务的自定义调度器。
同时采用离线主机托管解决空间不均问题,采用弹性伸缩+Serverless解决时间不均问题。
在资源方面,K8S通过CRI、CSI、CNI等实现应用透明,更容易选择更好的模型。
对于应用层云表单的优化,第一步就是要更好地编译运行程序。
例如,PHP 编译出非线程安全版本。
在服务注册方面,整体从客户端名称服务过渡到云原生的coreDNS+ipvs。
为了减少DNS网络请求,构建了一层localDNS,并在内核层面使用了更高的4.1x内核。
最后,依靠terway的容器网络和mesh的网络连接持久性进一步提升性能。
董晓聪表示,经过这一系列的优化,压力测试下单核可以支持QPS,相比之前是一个倍数的提升。
应用于特定线上业务,资源占用降低43%。
流体成为关键环节——具有相当大的实际效益。
检索系统是一个复杂的系统。
存储和计算作为最底层、对性能要求较高的服务,通常是耦合的。
随着数据量的增加,需要对数据进行分片,每个节点只存储一部分数据。
由于高并发、高可用的要求,单片机数据节点也需要有多副本。
这样就形成了一个二维矩阵。
面临数据更新周期长、运维效率低、性能无法提升等一系列问题。
“作为容器改造中最难解决的难题,为了解决这些问题,我们决定将计算和存储分离,因为只有引入计算和存储分离的架构,才能从根本上解决系统复杂度的问题。
” 董晓聪表示,经过多方考察比较,作业帮最终选择了Fluid作为整个新架构的关键环节,并选择JindoRuntime作为缓存加速引擎。
这种做法的好处是相当大的。
董晓聪表示,改造后,数据同步周期已从小时级别降低到分钟级别,一般可以在8分钟内完成。
运维成本也大幅降低,交付周期从几天缩短到几小时。
性能提升30%,万核级别资源节省。
让更大规模的在线业务在无服务器和异地运行是工程界的一个经典话题。
线上资源有明显的波峰和波谷,波谷有大量剩余计算资源。
大数据离线使用大量资源,但大多数任务对实时计算没有那么强烈的要求。
并没有说必须在几分钟内得到结果。
几个小时内就可以完成。
“如果能在线上集群低谷的时候运行大数据离线计算,就可以节省大数据离线资源,从而达到双赢的效果。
”董晓聪表示,但会面临很多挑战,资源很难完全隔离,会影响线上资源的稳定性和延迟。
为此,作业帮采用了云厂商修改的CFS,进而实现了CPU回避。
在加大音量的过程中,我们也控制着整体的节奏。
我们首先在晚上在线服务量不大的时候进行离线计算。
然后,等运行相对稳定后,我们在白天的低谷时间离线运行大数据。
为了弹性伸缩和Serverless,董晓聪介绍和作业帮的CPU服务运行在三个池上:主机组的CPU资源、GPU上的CPU资源和Serverless。
“我们通过手动、定时HPA、自动HPA的方式来增减Pod数量,实现弹性伸缩。
”弹性的主要挑战是大规模的业务自动扩展,这可能会导致资源短缺。
在这种情况下,引入了Serverless来弥补资源的不足。
但作为一项新兴技术,Serverless 的稳定性仍需验证。
这也是一个逐渐加大量的过程,最终的结果还不错。
董晓聪表示,目前公司整体服务运行比较顺利,在Serverless上也有万级应用。
“未来,我们希望更大规模的线上业务也能跑在Serverless上,实现真正的业务调峰。
”董晓聪表示,未来作业邦还将探索更多更好的机型,以及一些特定场景下的AMD机器。
应用程序类型。
另外,运营过程首先依赖于人,然后依赖于运维平台,其中涉及大量的数据分析工作。
未来将基于BI和AI,实现成本问题的自动发现。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-17
06-06
06-17
最新文章
Android旗舰之王的过去与未来
智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折
为什么Cybertruck是特斯拉史上最难造的车?
更新鸿蒙3后,文杰允许你在车里做PPT了
新起亚K3试驾体验:追求“性价比”,韩系汽车仍不想放弃
阿维塔15登场!汽车配备了增程动力,理想情况下会迎来新的对手吗?
马斯克宣布创建 ChatGPT 竞争对手! OpenAI的CEO给他泼了冷水, GPT-5可能会发生巨大变化
骁龙无处不在,是平台也是生态