银行用户眼中的Docker容器技术

简介:

近期,DaoCloud团队受邀做客招行银行,与招行信息技术部高层及架构办公室负责人就Docker容器技术、银行基础架构转型进行了一次研讨会。本文摘录了这次研讨会的一些观点想法,并分享DaoCloud对新一代企业云计算基础架构、容器化应用交付的最佳实践。

 “传统金融行业的IT系统首重质量和稳定,与之匹配的IT架构有集群化程度低、集约化水平高、应用架构耦合度紧密、Scale-UP垂直扩展等特点,业务需求对IT系统的影响是牵一发而动全身,为此研发流程是非常注重过程,瀑布模型很切合我们的管理体系。互联网金融给传统金融带来了巨大的冲击,对直接面向客户、内部流程类的IT系统,我们需要为业务部门提供更快的交付能力,这就需要现有IT能力能够演进,融合先进的互联网企业的IT最佳实践。在这个大命题下,如何能够稳中求变?逐步融合新能力提升现有的运作模式为高效模式? Docker可以很好地降低这件事情的难度。”

——招商银行总行信息技术部架构办 罗文江

互联网金融、IT能力变革、快速交付......这些关键词很好地总结了当前银行IT所面临的现状。作为国内最具品牌影响力的商业银行之一,招商银行不仅在业务层面层不断创新,在IT方面,招行也在持续创新,尝试通过新的技术和方案来更好地实现互联网金融时代的转型。招行提出的问题,也印射了国内银行业的现状。

互联网金融时代银行IT变革之殇

用户就是最好的产品经理,这是互联网领域非常时髦的一句话。互联网金融的冲击让银行业不得不开始重视用户体验和用户需求,如此才能在互联网+的浪潮中更好地生存。从IT的角度来看,就要求银行IT快速响应业务的需求。这是一个关乎银行业生存和发展的问题,因此,这场变革不是一个选择题,而是必然的过程。然而,任何一场变革都不是一个容易的过程,在这场互联网金融引发的银行业变革中,银行的IT也面临着诸多的挑战:

传统瀑布模型的低效:传统的金融行业的开发流程是典型的瀑布模型,也就是开发、测试、运维分为独立的几个阶段和部门,长此以往,各个部门之间必然会导致隔阂,从而导致部门之间的沟通成本过高、协作效率低下,并且容易出错。更严重的是,很多企业的运维部门和开发部门甚至成为死敌,运维出现了问题,经常会指责开发部门。

IT架构转型“阵痛”明显:变革是必然的,而变革的方式确实可以选择的。银行传统的“烟囱式”系统架构要向分层的云架构转型,传统的虚拟化解决方案往往需要将整套系统推到重建,还需要对应用软件进行修改,这种“伤经动骨”的方式给银行IT带来的“阵痛”让他们难以接受,是否有更缓和的解决方案?

复杂系统的运维压力增大:高可用性和可靠性是银行IT系统的基本需求,据业内人士透露,银行业务出问题超过1个小时,银行行长可能就要下台。因此,整个银行的运帷部门也是压力最大的部门,经常晚上被叫醒处理各种事故。然而,随着系统复杂度的增加,运维部门的压力越来越大。

IT资源浪费严重:为了应对互联网金融的挑战,银行非常愿意花大价钱投资新的技术和方案,比如虚拟化、云计算等等。然而,这些投资有多少能够真正帮助他们分忧解难?还是最终沦为“样子工程”?

Docker标准化应用交付件 助力银行IT渐进式变革

这是一个最坏的时代,这是一个最好的时代。如果说互联网金融的出现是金融IT的梦魇,那么Docker容器的出现就是金融IT的曙光。正如文章开头招行罗文江提到的,“Docker很好地降低了这件事情的难度。”

为什么银行的IT管理人员会对Docker抱有如此大的希望?Docker究竟有什么能耐,可以让让这一切变得简单呢?国内领先的容器云平台和企业解决方案提供商DaoCloud联合创始人兼CEO陈齐彦认为,Docker最大的法宝在于——将所有的应用交付件统一为容器。

标准化意味着高效,比如螺丝钉的标准化极大地提升了制造业的生产效率,应用交付件的标准化于计算领域而言,也必将是一次效率的飞跃。这也是为什么Google认为——容器是计算的未来。

如果把企业IT分为两个阶段——应用交付前和交付后,这两个阶段的分界线是应用开始上线部署的那一刻,之前的开发、测试等工作都视之为交付前,此后的过程视之为交付后。然后,再回头看一下前面提到的银行业IT变革的痛点,无非就是体现在两个方面:一个是交付前如何快速地进行软件交付,另一个是交付后如何更好地进行系统的管理和运维。针对不同的阶段,DaoCloud都提供了相应的解决方案,帮助企业用户应对不同场景的挑战。

首先,我们看看DaoCloud解决方案如何改变交付前的痛点。过去,开发、测试和运维分别交付不同的内容,比如软件代码、软件测试包等,每个阶段的交付件都不同,这就导致沟通成本高,协作效率低。这样的软件生产和交付方式当然已经不能适应这个追求“快”感的时代。Docker定义了一个软件交付的标准件 ——无论是开发、测试还是运维,交付的都是容器。通过镜像仓库进行协作,无论是开发测试还是生产都是基于镜像仓库进行操作,交付出来的容器镜像进入了仓库,根据业务需求不断从里面去拿新的版本,进行测试、上线等等。在这个过程中,通过tag来区分镜像的版本。另外,开发人员还可以选择在代码调整之后,自动进行用例测试、生成镜像、部署上线,极大地提升了迭代的效率

再看看交付后DaoCloud解决方案能做什么。前面提到的IT架构转型“阵痛”,复杂系统的运维、IT资源浪费都可以说是交付后的痛点。

由于Docker是通过容器的方式来交付应用,企业可以根据需要对应用进行逐步容器化,然后像搭积木的方式一样,一个一个搭起来。这样循序渐进的方式相比伤筋动骨的大跃进方式,更适合银行IT的架构转型,也可以帮助银行很好地保护既有投资。

对于复杂系统的运维问题,Docker容器是非常轻量级的,应用的启动是秒级,所以当一个容器镜像挂了,可以秒起另一个容器镜像,几乎没有downtime,这极大地提升了系统的可用性。也正是因为这个原因,容器被称之为“魂器”,意味着永不死机。

此外,对于虚拟机和物理机共存的IT环境,容器还有一个好处是,既可以在虚拟机上运行,又可以在物理机上运行,因为容器是基于Linux内核的代码集,进一步保护了企业的投资。

作为国内领先的容器云平台和企业解决方案提供商,DaoCloud提供了公有的一站式容器化应用云平台,在经过大量的测试、运营和迭代之后,DaoCloud面向企业用户推出了私有的容器云平台解决方案,帮助企业用户应对互联网+给IT带来的挑战,并获得了金融、政府等行业用户的高度认可。

DaoCloud联合创始人]联合创始人陈齐彦的一句话来结束本文,“容器云平台将会迎来在企业市场的爆发式增长,因为它给企业带来了巨大的价值,又不像其他的新技术那样给企业IT带来变革的“阵痛”。”


本文作者:唐蓉

来源:51CTO

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
503 5
|
2月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
237 6
|
2月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
384 2
|
2月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
528 4
|
4月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
840 108
|
5月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
457 57