容器技术概览

什么是容器?

容器是轻量级应用代码包,它还包含依赖项,例如编程语言运行时的特定版本和运行软件服务所需的库。 容器支持在操作系统级别轻松共享 CPU、内存、存储空间和网络资源,并提供了一种逻辑打包机制,以这种机制打包的应用可以脱离其实际运行的环境。用户将应用软件及其依赖打包成容器,可以在任何地方运行,不管目标环境是私有数据中心、公有云,还是开发者的个人主机,无需考虑应用在目标环境的依赖问题,因为所有依赖已经自包含在容器中。容器技术简化了软件的安装、部署和迁移

Docker和Singularity是目前主要的两种容器技术,各有其特点。Achelous支持用户自由选择这两种技术打包和运行自己的软件。


Docker 容器化技术

Docker 容器化技术是目前应用最为广泛的容器化技术之一,也是目前各大云服务提供商的首选。Docker 容器可以完全模拟系统Linux 环境,用户可以自由安装Linux 下的生物信息工具软件。

对于常用的生物信息分析工具。极道科技为用户提供了镜像资源。用户可以通过Xtao的官方Docker hub 获取基础的生物信息分析工具的Docker 容器(link here)。


Singularity 容器化技术

Singularity 是一个开放源码容器平台,旨在简化、快速和安全。Singularity 是针对 EPC 和 HPC 工作负载进行优化的,允许不受信任的用户以可信的方式运行不受信任的容器。与Docker相比,Singularity声称更好的安全性和可重复性。用户可以在其桌面上构建应用程序,并在任何公共云上或在计算边缘运行数百或数千个实例,可保证这些实例运行的镜像不发生任何改变。

Singularity的详细信息可以参考https://sylabs.io/guides/3.7/user-guide/index.html


为什么Achelous推荐基于容器的生信分析?

自人类基因组计划、千人基因组计划等科研大事件的影响下,以二代测序为代表的大批量数据产出技术手段,已经得到了广泛的应用。数据产量和分析能力之间的矛盾日益突出。

大规模基因组数据分析的难度,不仅仅体现在对数据本身处理方式上。更多情况下,科研单位和测序公司也面临着数据处理环境迭代造成的分析结果不一致问题。同时,生物信息数据处理的资源弹性需求和生物信息软件安装的难度,限制了项目的处理周期。

而容器技术,从底层彻底解决了运行环境的抽象。让用户可以轻易实现从本地到云端,在同一套环境下重现数据分析的需要。

Achelous推荐用户使用容器,同时兼顾了一部分用户本地化运行程序的诉求,允许同时使用容器和主机软件方式进行分析和计算


Powered by XTAO TechnologyLast Modified On:2021 2023-03-24 09:05:14

results matching ""

    No results matching ""