谷歌、Facebook和亚马逊这样的超大规模云计算公司无疑是现代数据中心的早期开拓者,现代数据中心专注于应用程序和数据,而不是基础设施。这种技术的转变来自于当今企业对用户体验的不断提升的关注,数字化转型中的企业越来越希望构建利用数据的类似云原生应用程序,业界正在简化这些技术,并使其可供任意规模的IT组织使用。
云原生应用程序
云原生应用程序应该是什么样的?云原生应用程序必须从头开始建立,他们使得数字服务在任何情况下都不会宕机。以前,通过为实体店的用户提供服务,企业可以在给定的任意时间段内全面控制交易时间和交易量。但现在,数字服务使消费者能够随时随地地通过智能手机轻松启动交易。
这就是为什么云原生应用程序应该使用提供新功能的版本来满足用户的需求,但是要做到这一点,需要对应用程序架构作出更改。IT组织正在将其整体应用分解为松耦合的微服务,以实现自主开发和扩展。开发团队正在使用容器来构建和打包应用程序,为了实现DevOps和持续集成/持续交付(CI/CD)工作流程,底层基础设施和IT运营工具必须经历巨大的检修。
在数字化的世界中,应用程序可能会迅速发展。以Pokemon Go为代表的应用程序要求我们能够迅速扩大规模,这些应用程序必须能够随处运行,不管是在智能手机或是笔记本电脑,还是在数据中心服务器或公有云中运行。
简而言之,云原生架构需要***的基础设施可移植性、弹性可伸缩性和软件自动化。
引进新技术
云原生应用程序开发需要一整套新的工具、方法和底层IT基础设施。过去,这些工具和方法只能供某些公司使用,但这种情况正在迅速发生变化。随着开源和商业软件的可用性,云原生架构使得企业大规模采用成为可能。
传统的IT厂商正在拥抱云原生,并在多种场景下推动这一技术趋势的发展,以帮助加速数据驱动的云原生应用程序的开发。其中有两个社区领导的开源项目REX-Ray和libStorage较为突出,这两个项目的宗旨是将两个最有价值的数字资源:应用程序和数据结合在一起。例如,REX-Ray可以使容器从私有存储云和公共存储云中无缝地使用存储。
随着组织采用现代化的应用程序架构和开发软件的方式,运行它们的基础设施也在不断发展。基础设施正在向软件定义方向演变,为软件驱动的世界提供必要的硬件抽象、弹性可伸缩性和自动化。借助软件定义存储和网络解决方案,企业能够实现敏捷性、成本效益和IT生产力。
产业的持续发展
对于企业中的云原生应用程序来说,这还处于起步阶段,还有很多工作需要做以实现这种转变,正如行业中越来越多的容器化和编排软件的应用趋势一样。随着企业开始采用云原生架构,整个生态系统逐渐开始接近企业需求。例如,在比较基于云的应用程序时,社交媒体平台上的朋友错过更新的风险不如在云原生商业平台上失去薪水或贷款支付的交易那么严重。
关于云原生生态系统状态的讨论的一个主要议题是如何处理数据。云原生应用程序最初被开发为“无状态”,这意味着云原生应用程序并不是为了执行数据保存而设计的。通过将云原生架构(如微服务和容器)限制为无状态应用程序,社区迫切需要能够更快地开发和部署软件。但是,如果不利用数据,云本机应用程序就会受到限制。
社区已经意识到,云原生架构也必须包括有状态的应用程序。构建数据驱动云原生应用程序的两个基本功能包括容器存储编排引擎和软件定义存储解决方案。
容器存储编排器使存储能够作为软件容器内的资源来使用,对于这些工具来说,支持容器存储接口(CSI)是非常重要的,容器存储接口(CSI)是一个行业规范,可确保多个容器编排器和多个存储提供商之间的互操作性。
软件定义存储提供了自动化基础设施配置所需的数据管理功能,并且安全地保存和保护企业数据。随着数据的指数级增长和业务的数字化,基于软件的基础设施解决方案承诺提供简单、高效和可扩展的部署模型,可以轻松集成到云原生生态系统中。基础设施运营团队可以继续满足硬件容错、安全性和可靠性等企业需求。
运行软件容器内的数据库等有状态服务可以让IT团队快速部署数据库,并随着技术活业务条件的变化而动态地重新安排和扩展数据库。
技术向前发展
技术诞生于个人组织的主流需求的想法并不新鲜。在过去几十年中,开源已经成为超越传统组织边界,加速技术广泛采用的成功典范。
由于云是一个已知的运营模式,组织将继续在应用程序和基础设施上采用云原生思维,而不仅仅是应用程序运行的地方。容器软件、编排器以及软件定义的基础设施解决方案正在使不同规模的企业能够采用云原生策略,将其推向几乎所有行业的主流应用。