美国金融行业的Docker实践

Capital One是美国一家银行控股公司,其主要业务集中在信用卡,住房贷款,银行贷款以及银行储蓄业务。仅从总资产以及存款而言,Capital One已经位列全美前十的银行控股公司。

Capital One公司的数据分析人员始终使用全球领先的分析工具,以推动分析领域的发展。这次他们的团队在Docker大潮下,基于Docker提出并实现了一个解决方案车库分析(Analytic garage),该方案提供一个隔离工作的环境,并集成到一个可视化的管理门户中。

作为这个话题的演讲嘉宾,Santosh Bardwaj首先提出环境隔离的重要性,他们的系统在最近数年中,经历了多次技术架构的变迁,他客观评估了三个版本的利弊。

0.1版本,基于裸机以及RHEL 6.x,然而在稳定性方面稍欠缺,并且每台物理服务器上租户以及管理工具均非常有限。

0.8版本,仍然基于裸机以及RHEL 6.x,除此之外,引入了cgroups以及LXC,收获相应的稳定性同时每台机器上的租户数得到相应的增长,不过仍然受限。该版本的不足之处还有容器化相应管理工具的欠缺。

1.0版本,几乎是颠覆性的改变。资源的划分采用目前火热的Docker,marathon以及mesos已经投入使用于容器的管理调度,底层的基础依然沿用于cgroups以及RHEL 6.x,同时在存储方面已经开始启用GlusterFS进行管理容器的数据卷存储。

为了提高analytics garage在社区的受欢迎程度,Captical One在这基础之上设计了一个独立的UI,有能力图形化的初始化容器以及数据分析服务。

看来精简美观的Portal之后,我们再来审审analytics garage的工作流,在图中我们可以看到Marathon,Mesos,RHEL以及Gluster FS的身影。

介绍完analytics garage,Santosh Bardwaj对于Docker实践过程中遇到的问题也直言不讳。

首先,如何协调服务之间的初始化依赖依旧是一个没有解决的问题,这些服务通过Gluster,Docker,Mesos-Master,Mesos-Slave,Marathon依然无法解决。

其次,如果Gluster作为容器存储的解决方案,其开源版本在可靠性方面依旧很不令人满意;RHEL系统上Gluster的依赖过多;在Gluster中Quota的支持仍然很有限。

接着,对于Capital One这种成熟的大型企业而言,Docker在Linux 2.x版本上的不稳定一直是个令人头疼的问题,从而在cgroups中存在不少bug,也会造成不确定的内核重启。

再者,Devicemapper对于Docker使用者而言门槛过高,其复杂性往往使用户望而却步。其复杂性主要体现在devicemapper变动的部分过快,且thin provision pool掌握起来不是易事。

最后,网络还是存在一些缺陷。在复杂的跨节点容器网络拓扑中,IPtable的配置较为脆弱。对于VPS环境的部署,通过marathon实现HA proxy的更新过程非常呆滞。

无独有偶,中国的招商银行也在持续创新,尝试通过Docker的技术和方案来更好地实现互联网金融时代的转型。这也从一个方面印证,Docker CEO Ben Golub在开场主题演讲中提及的企业客户对Docker项目的热捧。

Leave a Reply

Your email address will not be published. Required fields are marked *