2011年,Gartner提出了数字化转型的理念;十多年来,企业数字化经历了移动化、云化等几次变革潮流,如今走入一个新的时代:多云。
最新统计显示,如今89%的企业选择以多云战略建设IT系统,80%的企业选择混合云架构;而在多云趋势的背后,几个技术热词频繁出现:容器、敏捷、微服务。
主流观点认为,多云与容器技术带给企业的不仅是IT系统的进一步变革,更将带来企业组织架构的进一步变革。拨开所有高大上与晦涩的语言,让我们直视多云与容器技术本身如何改变企业,并探讨企业应该如何建设面向多云的基础设施。
(相关资料图)
多云大幅增强企业弹性与韧性,容器成为最佳战略支撑点
每一个企业在使用云技术作为IT底座的时候,都会面临一个选择:公有云还是私有云?选择公有云,企业不需要建设复杂的数据中心即可快速上线业务,且采购的成本按照使用量计算,在业务起步时试错成本很低;选择私有云,在基础设施规模扩大后具有成本优势,且数据保存在本地,安全性、隐私性更好。
为了兼顾二者的优势,采用多云战略的企业IT设施中往往同时包含公有云和私有云,且公有云的选择往往包含多个厂商。
多云的魔力在哪里?一般认为,企业选择多云战略有以下四大原因:
01优势互补:
●利用公有云的弹性扩展能力满足互联网业务的需求弹性,利用私有云优化关键业务的隐私保护。此外,公有云成为数据容灾和数据长期保存的新途径。
02全球战略落地:
●对于有跨国甚至跨州业务的厂商来说,公有云可以帮助企业在全球各个地区快速部署和开展业务,而私有云则帮助企业按照地域性合规要求留存数据。
03成本最优:
●对于新技术和业务,通过公有云进行低成本快速试错;当业务成熟和规模化后,下沉至私有云承载,降低运营成本。
04提升企业韧性:
●云服务,尤其是公有云服务,往往是全栈销售,被单个厂商捆绑的可能性很高,企业将失去供应韧性和议价权,选择多云则可在一定程度上规避该问题。
总的来说,多云战略可以大幅增强企业IT系统的弹性与韧性,使其更加适应不确定性持续增长的世界。
多云战略看起来很美,但落地起来却困难重重。由于云厂商之间激烈的竞争形势,多云之间存在壁垒,往往由于运行环境不同导致应用无法相互移植,多云实际成了一个个IT孤岛。
企业想将在私有云上开发的软件移植到公有云上运行,难度可想而知;更不用说当某个公有云宕机时,将业务切换到另一朵云上做容灾了。然而,容器技术让这件事成为可能。
容器技术和风靡全球20余年的虚拟机技术一样,都是将一台设备的资源进行划分,虚拟为多台设备使用,从而使资源利用更充分;然而,容器复用宿主机操作系统以下的全部资源,使其比虚拟机更轻量,占用的资源更少。
一个简单的对比,一台服务器可以被虚拟为5-20台虚拟机,却可以被虚拟为成百上千个容器;一台虚拟机的启动时间可能是数分钟到数十分钟,而容器只需要数秒钟。正是由于容器的这种轻量化特性,它可以急速扩展,以满足随时出现的业务洪流。
以上优势仅仅是容器技术的冰山一角。事实上,容器被认为是多云战略的最佳支撑点,原因还在于以下两点:
01 容器是用户实现本地建云的最佳途径。本地建云,即私有云,可以将云的可服务性和本地数据中心的隐私性结合起来,已成为许多企业IT建设的选择。容器平台是实现本地建云的最佳途径。通过Kubernetes等容器平台搭建私有云,开发者可以专注于软件开发,无需关注业务部署细节,它们将被容器平台自动化完成。容器这一能力和云化管理软件(如OpenStack)结合起来,可以轻松打造出可服务化的私有云平台。
02 容器具有跨云可移植性。在A云容器平台上开发和运行的软件,可以打包为镜像文件,传输到B云上,B云上的容器平台就可以直接安装运行,无需开发者预先安装和调试环境。这深度解决了多云之间应用移植的问题,使多云真正为企业提升IT弹性和韧性的战略目的服务。
由于容器技术具有如此重大的意义,各行各业从边缘到核心业务,都兴起容器化改造的浪潮,迎接多云时代的到来。
万众瞩目却有致命缺陷,专业存储弥补技术空白
容器虽然有如此多的技术优势,但事实上它的能力尚未充分展现。当前业界最通用的容器平台Kubernetes,实际上是一款由开源社区运营的产品。
由于发展并非商业驱动,开源软件大都具有一个通病:无法满足企业级应用的要求,比如稳定性、可维护性等,这一点Kubernetes也无法免俗。Kubernetes虽然引起业界热议,但运行稳定性不足的致命缺陷导致其在企业IT系统落地时遇到很多困难。
容器技术的轻量化,是以大量资源隔离和环境隔离为代价换取的,这也决定了其稳定性难以媲美虚拟机。由于宿主机系统间缺少必要的资源隔离,每当大量容器同时运行,就可能出现资源相互占用的情况,导致部分容器因资源不足而停止运行;此外,宿主机的其它问题也可能影响到容器的稳定性。
遗憾的是,相比于VMWare平台推出vSphere Software Site Recovery Manager、vSphere Replication等多种容灾软件、特性增强虚拟机可靠性,Kubernetes等容器平台尚未推出相应功能优化容器稳定性问题,因此鲜有客户敢于将容器平台作为核心业务PaaS层基础设施。
虽然Kubernetes自身没有解决问题,但CNCF(Cloud Native Computing Foundation,云原生计算基金会,也是Kubernetes的主运营者)正积极将视线转向专业存储,希望通过专业存储的高可用、容灾等能力,弥补容器平台相关能力的空白。
因此,Kubernetes v1.13版本推出了重磅插件——Container Storage Interface(CSI,容器存储接口),通过CSI,容器可以便捷使用外置存储对接容器应用,将数据保存到高可靠的外置存储上,并设置快照、克隆等方式保护数据。这样一来,即使容器因为各种原因崩溃,数据也能完好无损地保存,待容器应用恢复后还可以继续访问原数据,避免因为数据丢失导致无法预料的后果。
CSI的出现,决定了存算分离架构已经成为官方认定的容器标准架构,也使得专业存储成为容器数据底座最佳选择之一。
企业核心级容器平台建设,NAS缘何成为答案
随着容器技术的逐渐成熟,越来越多的企业应用开始迈向容器化。这其中极具标志性的事件是在2016年,著名分析师机构Gartner提出,将企业业务区分为稳态和敏态“双模核心”的理论。如今,云原生改造早已从接入渠道、研发测试、办公生产走向关键交易业务;“分布式新核心”、 “敏态核心”建设已在金融、运营商等行业广泛开展。此时,建设企业核心级容器平台应被转型中的企业重点关注。
何谓核心?极致的业务连续性、高超的性能,和极强的可管理性,是核心系统的必要条件。“敏态核心”也不例外,但其能力要求中还应包括敏态业务所需的弹性和自动化能力,建设难度比传统核心更大。当前容器平台要满足核心要求,还有以下问题亟待解决:
01 故障恢复能力不足:当容器运行有状态应用时,比如数据库应用,容器平台无法自动从节点、存储或站点故障中恢复,对关键应用的可用性带来隐患;
02 数据一致性难以保障:容器部署的应用大部分是分布式架构,存在数据一致性风险,而容器平台尚未提供任何解决方案;
03 存储敏捷性不足:容器应用大都经过微服务改造,是由数十个容器承载的小型应用程序共同组建而成的。一个应用的启动就是数十个容器的同时启动,对应的存储资源需要同步发放。当前大部分存储资源批量发放能力还无法满足容器要求。此外,对于有状态应用而言,容器的扩展需要与持久化数据保持同步,但数据的同步会降低扩展的敏捷性。
在实际使用中,容器平台还面临许多挑战,需要逐个解决。作为广泛参与企业核心业务平台建设方案的厂商,华为存储经过与客户和伙伴进行广泛的项目合作,逐步摸索出核心级容器平台存储建设方案——以NAS(网络附属存储,又称文件共享存储)为底座的容器存储解决方案。
NAS作为一个已诞生40年的文件存储协议,以其接口开放性、功能易用性和广泛的平台兼容性,历久弥新,持续迸发出勃勃生机。在云原生新时代,NAS何以再次挂帅担当最佳底座?主要有以下三点原因:
使用简单,功能多样:
简单是容器平台受欢迎的主要原因之一。NAS存储资源使用简单,直接挂载即可使用;NAS具备多租户、配额、QoS等云服务必须的功能,无需重复建设,避免增加系统复杂性;此外,NAS的防勒索、防病毒以及日志审计等安全合规功能在数据安全风险剧增的今天也至关重要。NAS可以大大降低建设和维护容器平台的难度,让企业专注于功能实现,这正是企业云化改造的初衷之一。
数据共享,广泛兼容:
与SAN/块存储不同的是,NAS天然支持多个服务器之间共享访问同一份数据。同时,除数据库外,大部分容器应用都需要数据共享,比如Web类应用需要多个服务器端共享网页资源、日志分析类应用需要共享日志资源、持续集成类应用需要共享代码资源等。此外,除了Oracle和VMware等极少数主流商业软件,鲜有应用可以主动管理SAN存储资源,而NAS却可以兼容几乎所有应用类型。以上两点使得NAS可以满足绝大部分容器应用要求。
运行稳定,快速容错:
容器有一个重要的容错特性,叫做容器漂移,即在某个服务器上运行的容器应用,可以在该服务器损坏后转移到另一个健康的服务器上继续运行。漂移成功的前提是两个服务器上有相同的数据,否则容器应用漂移后会出现访问不一致的问题。当使用无法共享的存储资源时,容器的漂移特性要么无法发挥(如使用服务器本地盘时,由于两个服务器间数据难以保持一致,一般不会允许容器漂移),要么漂移很慢、恢复时间长(如使用SAN存储时,卷可以跟随容器重新连接到另一台服务器,但固定需要7分钟时间解除与原服务器的映射关系),这些都会严重影响容器平台的可靠性;而NAS由于支持共享访问,不仅无需考虑数据一致性问题,也不需要与服务器一一映射,新服务器挂载即可访问原数据,业务恢复时间只需40秒。
据统计,74%的用户使用NAS作为容器底座, NAS已经成为当前使用最多的容器存储。从上述分析的三点原因来看,这绝不会是偶然。
每一个IT负责人都曾思考业务是否上云,如今无论你是否准备好,多云时代已经来临了。幸运的是,我们无需在公有云的弹性和本地部署的隐私性之间纠结,借助容器即可二者兼顾——建一朵本地化的云。
当下,如何建设一个核心级的容器平台,正在成为IT负责人研究的主要课题。希望越来越多的厂商像华为存储一样,与客户、伙伴广泛合作,在不断实践中逐步摸索出一条可行之路,让容器建设不再是难题,让多云为更多企业带来发展机会和商业成功!