如今,Linux仍然处于开源软件开发的核心。因为所有的应用和计算都需要一个操作系统作为基础。随着Linux逐渐成为主流而且能够免费获得,提供给所有开发人员使用,它已成为技术普及的中心。因此,Linux正在推动目前企业IT的创新。
通常,非凡的创新都是迭代的。正如Linux随着时间的推移变得越来越强大,现在已经成为推动数据中心和云计算发展的主要创新引擎和操作系统一样,某些最著名的外围开源开发技术也是这样一步步走来的,例如Mozilla Firefox、Apache HTTP服务器、BIND等,它们推动了互联网骨干的进步。最近,Linux容器和Kubernetes已成为混合云架构的最前沿技术。
每个Linux发行版都由许多软件包组成,其中大多数软件包都是作为开源项目开发的,并且拥有它们自己的开发人员社区。虽然所有发行版都有许多共同的软件包,尤其是内核更是如此,但每个发行版都会自行决定它们将包含哪些软件包,以及使用哪些工具来处理各种各样的事情,例如安装、开发、管理。这就是为什么发行版(特别是像红帽公司这样运行任务关键型环境的企业所提供的商业发行版)对于开发人员和运营人员而言,往往有其自己的外观和感觉。
如果不借助开源开发过程中的创新,我们到现在都还不会处于混合云世界中。虽说如此,但企业实际上需要可获得支持的、可靠的、更安全的、可预测的软件。因为你把你的业务都押在这个平台上了。
当红帽企业版Linux首次做出承诺,表示将在部署红帽企业版Linux应用的每个平台上都提供专门硬件认证、长期生命周期支持以及安全性修复服务时,它就满足了市场对一致性和长寿命的要求,而之前这些特性都是严重缺失的,但却是企业不可或缺的。我们这样看待Linux:它从一个用于开发过程的社区现象,转变为一个用于生产负载的企业现象。
成千上万的硬件平台(例如服务器、网络、存储器)和应用已通过了红帽企业版Linux的认证,从而使得容器化的红帽企业版Linux应用成为这一现有基础的自然延伸。
数十年来,生产型Linux部署运行着数百万种现有的应用。只有在这样的基础之上,我们才可能转向新一代的应用和体系结构,而这些应用和体系结构运行着我们的业务并遍布于各种环境,例如物理机、虚拟机、公有云和私有云等。
鉴于这一基础性作用,对于公司而言,他们必须把平台选择建立在长期可支持性基础上,并且还必须能够支持快速创新。企业需要在两个方面实现平衡:一方面是快速行动的能力,另一方面则是对其平台所要求的财务、运营、安全、支持和组织机构承诺保持长期观点。
容器也不例外。在用于生产级商业环境中时,它们需要满足所有上述要求。特别是,应当考虑到如下极大潜力:多容器应用可能在更广泛的场景中蔓延,这些场景既包括各种各样基于硬件的系统,也包括多种公有云环境。
随着云计算成为企业IT架构不可或缺的一部分,Linux容器和Kubernetes正在成为构建更新型、更灵活服务过程中的许多努力的基础,同时也在推动从现有IT投资中获得更大的价值。
每个应用容器都包含Linux发行版的一部分,并且位于Linux内核之上,而Linux内核又是Linux主机操作系统的核心。因此,选择具有最广泛生态系统和最大商业可行性的适当Linux产品是转向Linux容器化应用过程中的第一步,也是最关键的一步。
如果企业打算为运行其基于容器的应用而创建和管理自己的Linux操作系统,那他们也必须为其Linux版本构建广泛的硬件和软件认证,并且还需要建立一支强大的员工队伍,负责工程、安全和支持等工作。容器平台提供商要想成为一家商业Linux提供商,他们将面临一项非常艰巨而昂贵的任务。
在决定选择哪种基于Linux容器及Kubernetes的技术时,最终客户需要对其选择的平台进行这方面的评估。企业需要评估自己的核心能力以及他们的容器技术提供商的能力,而且还需要决定成为操作系统供应商是不是这些能力之一。对大多数企业而言,最终答案往往是否定的。
现在已经成为各种Kubernetes发行版基础的Linux容器具有上述Linux OS完全相同的属性和要求。我们选择红帽企业版Linux作为我们的容器基础,为客户运营、管理和保护其基础架构提供了一个共同基础,同时也为他们带来了共同的开发环境。这使得他们能够以一致的方式开发、运行和维护容器应用,无论是在企业内部、云端或者是在多云环境中。
我们来看看这样一个例子。假设你正在利用容器在公有云上构建一套应用。默认为采用公有云提供商的Linux容器操作系统。但是,在顺利构建、部署和运行该应用之后,如果您希望将该应用迁移到另一个云中或者迁移回企业内部,或者甚至与可能运行在另一个云中的微服务进行交互,你又该怎么办呢?你现在是从一个云供应商那里获取操作系统,然后企图在另一个云供应商那里运行它。如果你应用程序崩溃了或遇到性能问题,哪家公司为您提供支持?显而易见的答案:“两不管。”你唯一的选择是,针对每个公有云的操作环境来构建、测试和开发你的应用的多个版本,或者采用一套在所有这些操作环境中都得到支持的Linux容器库。
随着公有云提供商开始随同Linux容器一起提供商业Kubernetes,在其他公有云中他们是否支持以及是否能够支持这些容器?答案是:非常可疑。
在大多数企业环境中,工作负载既运行于内部的裸机器上,也运行于虚拟机上,同时也跨越多个公有云运行。为了满足这种情况,我们现在甚至看到一些使用Kubernetes和Linux容器的企业内部公有云。
硬件购买既复杂又昂贵——Linux发行版市场中的新进入者需要多长时间才能获得各种认证,以确保它们能够顺利在该硬件上运行?他们是否能够支持并认证客户选择开箱即用地运行的任何硬件?
他们是否能够利用与他们容器和裸机发行版相同的Linux基础来构建兼容的Linux虚拟机,以便使选择了他们容器发行版的客户能够针对其应用(这些应用需要作为虚拟机来运行),为开发人员和操作人员都提供通用的东西?他们是否能够构建出与其容器Linux发行版兼容的通用裸机Linux发行版?
与前面一样,所有这些问题的答案都很可能是否定的。或者,即使能够满足这些要求,至少也需要花费相当长的时间才能满足。
当某些传统硬件供应商也试图进入新一代软件基础架构领域时,他们将遇到与我们上面讨论过的云提供商所面临的相同问题。
对于专有基础设施软件提供商而言也是如此,他们也可能试图成为Linux和Linux容器市场的新进入者。他们也将同样面临成为一家商业Linux发行版提供商所要面对的挑战和要求,因为这是一个正在迅速转向基于Linux的混合云基础架构世界。
出于所有这些原因,红帽公司在过去15年发展红帽企业版Linux过程中,一直专注于获得最大范围的硬件和云认证。如今,红帽企业版Linux能够在每个主要云端运行,同时具有业内最广泛的内部部署硬件配置。
企业在将其应用向下一代计算转移过程中需要容器和Kubernetes。对于那些可能需要在无法确定的时间到来之时,在裸机器和虚拟机上运行的工作负载而言,他们也需要这些基于容器的应用成为其现有应用基础架构的一部分。
您无法将您为其他基于Linux的应用所做的选择分离出去,因为容器就是Linux。
在该系列第二篇博文中,我们将探讨开源产品与开源项目之间的争论,因为它涉及到Kubernetes及企业需求。
好文章,需要你的鼓励
后来广为人知的“云上奥运”这一说法,正是从这一刻起走上历史舞台。云计算这一概念,也随之被越来越多的人所熟知。乘云科技CEO郝凯对此深有感受,因为在2017年春节过后不久,他的公司开始成为阿里云的合作伙伴,加入了滚滚而来的云计算大潮中。同一年,郝凯带领团队也第一次参加了阿里云的“双11”活动,实现了800万元的销售业绩。
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面