详解华为云基因容器服务GCS

基因测序,作为“下一个能够改变世界”的技术,已经由实验室研究演变到临床使用,为人类预测罹患多种疾病的可能性,提前预防和治疗疾病提供了一套可靠的方法和手段。而基于基因测序在预防和治疗疾病方面的准确和可靠,基因测序也因此成为了精准医疗的基础。据预测,基因测序市场未来五年复合增长率在35%左右,2022年有望突破300亿美元。

 

 

基因测序的难题

然而,虽然基因测序市场火爆异常,但实际上,对于基因测序厂商来说,目前面临着很多的困难和挑战,具体而言,最主要的就是成本高、效率低、门槛高。

 

成本高

所谓成本高,是指基因测序的基础设施成本和运营成本高。不同于传统的常规计算,基因计算,需要对海量的数据进行非常复杂的计算。测算一个人的基因,就需要对30亿对的DNA进行测算,涉及的算法包括映射、过滤、去重、排列、索引、压缩、重校验等等,以HiSeq X10测序仪产生的数据为例,一个人30x全基因组样本数据FASTQ文件就会达到200GB ,中间数据sam文件大小将超过600GB。这无论对于服务器的计算还是存储能力都提出了很高的要求,从而导致IT基础设施成本居高不下。同时,对这些IT基础设施的维护,也会带来大量的运维成本。

 

效率低

效率低首先是指计算的效率低,基因测序将会耗费大量的时间,据悉,人类历史上的第一次的基因测序耗费了6个国家,10年的时间才最终完成,而即使在科技已经日新月异的今天,如果采用传统的IT架构和计算框架,在基因数据的分析和解读方面平均也会需要30+小时,这是一个很低的计算效率。其次,是指资源利用率低。基因测序业务有明显淡旺季之分,通常旺季业务是淡季的数倍,这种业务的极度不平衡性,也造成了IT基础设施的平均利用率的低下。

 

门槛高

基因测序没有统一标准,生物信息数据处理流程复杂,软件选择多,流程差异大,此外,针对不同测序诉求,需要构建不同的测序环境和流程,搭建过程复杂。因此,仅仅是软件的部署和分发,对于基因测序厂商中的IT部门就是一个不小的困难和挑战,更不用说基因测序流程的设计和编排了。

 

针对基因测序领域的这些困难和挑战,华为云创造性的推出了以Kubernetes为基础的基因容器服务GCS(Gene Container Service)。GCS将基因测序和容器技术完美地结合在了一起,为广大基因测序厂商提供了“更省、更快、更轻松”的云科学计算平台。GCS是一个三层架构,第一层是Docker层,这层主要解决基因测序相关软件的安装升级问题,中间层是Kubernetes层,主要解决在多台节点上安装Docker,运行Docker的问题,最上层是流程管理层,主要负责基因测序的流程控制。

 

 

为什么会是容器

 

那么,为什么是Docker容器成为了华为云基因测序解决方案的首选呢?这是因为,首先,在基因测序领域,数据处理流程复杂,单步骤就存在多种软件可选,单软件也有多版本可选。而在传统虚机中运行基因测序相关软件,不仅需要安装多种软件,还需要考虑软件间版本兼容性,同一软件多实例间竞争影响等因素。这对于缺乏专业IT人才的基因测序企业来说,是一大痛苦。而容器技术具有使得不同软件间运行无感知的特性,同一个软件任意多实例运行也不会相互影响。而且Docker镜像以软件为单位, 独立制作和更新都非常便捷,可以较好的克服多软件多版本的安装和配置问题。

 

其次,在基因测序的过程中,如果前期调试流程出现错误,将会导致软件配置改变或者环境异常,这样就必须重新搭建和恢复环境,同时,软件的分发和更新成本也很高。而通过Docker镜像便捷分发,一次构建,随处可运行的机制,使得本地验证调试非常简便。环境的切换对Docker程序无影响,从而可以保证运行环境的一致性以及数据处理结果的可重复性,而这对于解决基因测序的调试问题有非常大的帮助。

 

最后,按照传统的基因测序方法,单样本数据处理一般在单机上完成,所以目前普遍使用高规格机器来执行pipeline流程。但这样的话,多机并发能力就会不足,如单独开发任务调度框架,门槛成本和收益也不明显。同时单机上多任务并发能力也受限,无法很好的满载利用计算资源。但如果采用容器技术,单虚机上就可以同时运行多个Docker容器,这使得多个任务可以同时在一个VM上执行。再加上Kubernetes的资源调度能力,可以使得多任务按资源需求平均地在多VM上混合执行,这样,就会最大化利用计算资源。

 

因此,有人说基因测序与容器是注定天生的一对,绝对不是夸大其词。

 

基因测序利器

除了具有容器所带来的天然优势之外,GCS还具有诸多适合基因测序领域的特点,堪称基因测序领域不可多得的利器。

 

便捷依赖定义

GCS的流程描述语言非常灵活,结合容器的特点,可以轻松执行基因测序流程的迁移、拷贝,同时,GCS还支持直接Shell方式的命令,因而,可以非常便捷的进行基因测序流程的控制。

 

迭代式并发

针对基因测序领域高并发的要求,GCS通过便捷的迭代组合式并发,可以轻松处理并发任务场景。例如,通过执行变量迭代,一条“echo $(1) $(2)"命令可以迭代出3*2=6个并发操作。同时,GCS的Shell语法,支持已有流程迁移,还支持用多种迭代描述方式,控制并发行为。

 

 

 

跨租户共享存储

GCS还支持跨租户共享存储,平台可以为用户提供参考组,数据库等公共数据,并且这些数据还可以实现在各个租户之间的共享,以便于不同用户之间的协作。

 

亲和性调度

通过GCS的亲和调度功能,GCS可以把新任务优先投递到可容纳的节点,配合自动扩缩容,以达成最小的资源消耗。

 

集群自动扩缩容

GCS还具有集群自动扩缩容的能力,当集群无法容纳更多的新任务时,系统会自动新增节点,当节点长期空闲时,也会相应的删除节点,从而既能使系统可以达到最小的资源消耗,又能轻松应对业务峰值。同时,由于容器运行密度高,因此可以充分利用其计算能力,做到运维零成本。

 

动态并发

GCS具有动态并发的功能,针对基因测序这样复杂的任务,可以根据实际情况,动态的将复杂的任务切割成若干个简单的小任务,分配到不同容器中去执行,最后再进行合并,从而大大提升了系统应对复杂业务流程的能力。

专业镜像仓库

在基因测序领域,涉及的工具超过5000多个,皆分布在DockerHub上,为此,GCS支持直接对接全球最大的镜像仓库DockerHub,还为用户提供了华为SWR镜像仓库,并支持对接私有仓库,这将大大方便基因测序领域的用户使用这些工具。

 

GPU

特别的,GCS还支持GPU混合集群,除了支持GPU任务之外,还支持普通任务+GPU任务的混合调度,据了解,这是华为云GCS特有的功能,而且这项功能也会在华为CCE、CCI中得到应用。

 

流程设计器

前面已经说过,基因测序流程的设计复杂而枯燥,为此,GCS为用户提供了图形化的流程设计器,仅需通过鼠标的拖拽就可以轻松完成基因测序流程的设计,将基因测序人员从痛苦的流程设计过程中拉了出来。

 

多集群管理

GCS还具有强大的多集群管理功能,支持任务间资源隔离,可以轻松实现开发环境和生产环境的隔离,同时,在费用管理上也更便捷。

除此之外,GCS还支持单群集多用户的隔离,从集群到节点到任务的多维度监控,并具有丰富的接口,很方便的就可以进行集成。

而基于这些特点,GCS可以确保最小资源消耗、充分利用计算能力,实现零成本运维,并提供秒级扩容,万级并发专属集群,零排队等待时间,可以使全基因组测序(WGS)耗时降低3-5倍,从而实现软件免安装,环境一键式重建、标准流程(WDL/SJM/Snakemake)快速迁移、千节点计算集群搭建由多天降低至半小时等。

 

不仅仅是

而基于GCS,华为云还推出了KubeGene开源项目,把基因容器最核心的部分开源给广大基因科学领域的企业和用户。不仅仅希望通过这种方式能够直接帮助广大基因科学的用户,也希望通过社区协作的方式来加速这个项目的发展,更好的促进基因科学领域的厂商能够更好的聚焦在自己的业务创新上。更希望广大厂商和用户能够将基因测试的流程互相分享,互相借鉴、共同进步,一起共建基因科学的容器生态。据华为云介绍,KubeGene项目自从11月中旬在上海KubeCon宣布以来,在GitHub上已经吸引到接近80多颗Star,接近20个Fork。

 

GCS仅仅是华为云在容器开源领域贡献的一个小小缩影,实际上,在容器开源领域,华为一直是重要的贡献者和容器生态的领导者,在Kubernetes社区,华为贡献国内第一,全球第三,在CNCF&Kubenetes社区,华为贡献位列全球前四、国内第一,拥有Maintainer 12席,华为还是CNCF技术监督委员会九位委员之一,K8S社区技术指导委员会十三位委员之一,也是首批KSCP认证厂商。在OCI&Docker&其他社区,华为贡献全球前三、国内第一,拥有Maintainer 7席。华为还是OCI初创成员,容器镜像格式的规范和实现的主导者,Kata Container项目发起者之一,架构委员会5席位之一以及CNCF基金会的初创会员、白金会员和CNCF/Kubernetes TOC的成员。

 

华为云“有技术、有未来、值得信赖”致力于做智能世界的黑土地,基于华为30年技术积累,华为云在容器和开源领域持续深耕,也许就是其能够成为重要贡献者和领导者的重要原因之一。 

posted on 2018-12-19 17:26  云容器大师  阅读(1447)  评论(0编辑  收藏  举报