什么是“容器即服务”(CaaS)?

IBM Services

容器即服务 (CaaS) 是一种云服务模型,支持用户上传、组织、启动、停止、扩展以及管理容器、应用和集群。它通过使用基于容器的虚拟化、应用编程接口 (API) 或 Web 门户界面来启用这些流程。CaaS 可帮助用户通过本地数据中心或云构建高度安全且可扩展的容器化应用。容器和集群以服务形式用于此模型,并部署在云或现场数据中心内。 

CaaS 为何十分重要?

CaaS 是一种具有广泛应用的模型,可帮助开发人员简化可扩展容器和应用的全面部署流程。该模型是 IT 部门的一大福音,它可在高度安全的环境中提供具备监管控制能力的已启用容器部署服务。CaaS 模型可帮助企业简化其软件定义基础架构中的容器管理。

与其他云计算服务类似,用户可以选择所需的 CaaS 资源,并仅为这些资源付费。一些 CaaS 资源示例包括计算实例、调度功能和负载均衡。

在云计算服务的不断扩展中, CaaS 被视为基础架构即服务 (IaaS) 的一个子集,并且介于 IaaS 与平台即服务 (PaaS) 之间。CaaS 包含容器作为其基本资源,这与 IaaS 环境中通常使用的虚拟机 (VM) 和裸机硬件主机系统正好相反。

CaaS 技术的本质在于实现关键 IT 功能自动化的编排能力。Google Kubernetes 和 Docker Spwart 是 CaaS 编排平台的两个示例。IBM、Amazon Web Services (AWS) 和 Google 则是公共云 CaaS 提供商中的几个例子。

容器为何十分重要?

各行各业的企业客户都已目睹了 CaaS 和容器技术带来的丰富收益。使用容器可提高效率,使这些客户能够快速部署创新解决方案,通过微服务实现应用现代化和云原生开发。容器化可帮助这些客户更快地发布软件,促进混合环境和多云环境之间的可移植性,并降低基础架构、软件许可和运营成本。 

以下是使用容器可为客户带来的几项收益:

  • 可移植性:在容器中创建应用时,完成的应用包含了有效运行所需的一切内容,包括依赖项和配置文件。具有可移植性使得最终用户能够在不同环境以及公共云或私有云中可靠地启动应用。这种可移植性还为企业提供了大量的灵活性,加速了开发流程,使其更易于切换到不同的供应商或云环境。
  • 高效率和成本削减:由于容器不需要单独的操作系统,因此它们需要的资源少于虚拟机。容器通常只需要几十兆字节便可运行,这使您能够在原本用于运行虚拟机的单个服务器上运行多个容器。这种高效率可帮助您降低数据中心成本。容器还可以降低裸机成本,这是因为它们对底层硬件的利用率更高,需要的硬件也就更少。

容器不会与同一服务器上的其他容器交互,并且在某种程度上相互隔离,尽管它们仍共享相同的资源。如果某个容器的应用崩溃,那么其他容器仍可以继续使用该应用,而不会遭遇任何技术问题。

  • 安全性:容器间的相互隔离,使原本风险就最低的安全功能加上了双重保险。如果一个应用遭到破坏,它的负面影响不会波及其他容器。

此外,因为容器独立于操作系统运行应用进程,并且不需要特定软件来运行应用,所以主机系统的管理也就更加简单。这项收益使您能够快速启动更新和安全补丁。    

  • 速度:由于容器不需要运行整个操作系统,因而只需短短几秒便可启动容器以及创建、复制或销毁容器。这一优势还支持快速开发流程,加快了产品上市时间和运营速度,简化了新版本或新软件的发布流程,便捷程度前所未有。这种速度还有助于完善客户体验,使企业和开发人员能够更快地响应错误,并在客户解决这些错误之时立即融入新功能。
  • 随意扩展:容器具有水平扩展功能,支持最终用户合并同一集群中的多个相同的容器,进而实现向外扩展。通过使用智能扩展并仅在需要时运行所需的容器,可以显著降低成本并提升投资收益率。 
  • 简化的开发流程:拥有高效的开发管道是基于容器的基础架构的一大优势。因为容器允许应用像在本地构建一样工作和运行,完全消除了环境不一致性。这改善了测试和调试流程,既降低了复杂程度,也节省了时间。这项功能也为更新应用带来了极大的便利:开发者只需要修改配置文件,然后生成新容器并删除先前的容器;这个过程只需要花费一点时间。 

托管容器服务和云容器堆栈

寻求使用容器促进业务发展的企业客户必须在以下两个选项之间做出选择:

  1. CaaS 平台,并且在公共云或现场基础架构平台中部署

  2. 由 Google、Amazon 或 Microsoft Azure 这三个主要的采用公共云的提供商提供的托管容器服务

这两个选项中的任何一个都不需要锁定企业。自从 Google 和 Linux 基金会建立了伙伴关系,由此成立了云原生计算基金会 (CNCF),同时启动了 Kubernetes 认证计划以来,CNCF 就一直在确保所有供应商都维护统一的容器可移植性和跨平台一致性标准。  

在企业客户选择托管容器平台或现场部署之前,他们应回答以下问题:

  • 容器是否需要现场部署,还是也可以部署在公共云中?
  • 您的 IT 部门是否具备设计、部署和管理 Kubernetes 环境的必要技能?怎样才能培训这些人员或留住他们?
  • 需要在哪个公共云平台上部署容器?例如 Google、AWS 或 Azure。
  • 使用多租户的共享 Kubernetes 控制平台是否会产生任何影响?

如果您的企业仍在试用容器,那么托管容器服务可能就是您的最佳选择。托管容器服务是一个良好的起点,无需集群管理器、资源配置,也不必部署最低要求的平台。托管容器服务的一大好处在于,它们非常适用于初始容器部署测试,随后就可以定制开发和运作流程。

如果您的企业已开始在 Kubernettes、AWS 或现场平台上较为成熟地部署容器,那么您可以选择自己的 CaaS 解决方案。自带 CaaS 可以为您的企业提供一个功能更强的平台,其中涵盖了生产级系统所需的必要框架和服务。

Kubernetes 的兴起

不同于 Betamax 和 VHS 之战,容器编排技术主导地位之争据于 2017 年第四季度掀起,并于 2018 年第 2 季度落下帷幕。现简称为 Kubernetes 的 Google Kubernetes 引擎最终赢得了胜利。在分清了胜负之后,提供商和采用者都加倍努力,集中精力进行 Kubernetes 部署,并使之不断走向成熟。

托管 Kubernetes 服务和混合容器堆栈的发布,促进了 Kubernetes 的采用。由于 GKE 帮助开创了托管容器服务这一理念,与竞争对手 AWS 和 Azure 的容器服务相比,Kubernetes 的需求始终更大。2018 年年中发布的 Amazon Elastic Container Service for Kubernetes (Amazon EKS) 和 Azure Kubernetes Service (AKS) 巩固了 GKE 的主导地位。

观看Kubernetes视频简介

Kubernetes 和容器编排

Kubernetes (K8s) 是用于自动执行应用部署、管理和扩展的容器编排系统。Kubernetes 最初由 Google 设计,于 2014 年开源,现由 CNCF 进行维护。Kubernetes 网站将 Kubernetes 描述为一种“可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,促进声明式配置和自动化”。

Kubernetes 主要用作为以下三个平台:

  • 容器
  • 微服务
  • 可移植的云

作为一个以容器为中心的管理环境, Kubernetes 负责协调用户工作负载的计算、网络和存储基础架构。Kubernetes 具有与 PaaS 相同的易用性,以及 IaaS 的可塑性和跨基础架构提供商的可移植性。 

Kubernetes、IBM 和 Red Hat 开放之旅

在长达 20 年的协作过程中,IBM 和 Red Hat 一直在共同探索。作为 Linux 的早期支持者,IBM 与 Red Hat 密切合作,帮助开发和支持企业级 Linux。最近,通过这种协作,为广泛的客户带来了 Kubernetes 和混合云解决方案。Kubernetes 也是 IBM 和 Red Hat 联合推出的混合云战略的基础之一。

这些创新已成为 IBM 价值 USD 190 亿美元的混合云业务的核心技术。在预计于 2019 年末完成收购之后,Red Hat 将成为 IBM 混合云团队的最新成员和独特的单位。 

Kubernetes、IBM 和赫兹

赫茨公司简称为赫兹,曾于 2018 年庆祝其百年诞辰。在设法解决遗留技术问题时,该公司亟需帮助来简化其业务架构和技术。赫兹与 IBM Cloud Garage™ 合作,开发了一个 Kubernetes 架构,帮助企业构建基于微服务的应用,并将其部署到 IBM Cloud™ Private 和 IBM Cloud Container Service 中。

通过与 IBM 协作,赫兹使用灵活的容器和微服务架构,在数字渠道、预订、费率等方面实现了核心系统的现代化。面对遍及全球的业务,赫兹可确保其应用在整个企业范围内高度可用,并且一旦应用处于生产状态,预计每天将收到 15 亿次点击和 3000 万次更新。

Kubernetes 和开源软件

开源软件将继续扩大其影响力,进一步巩固其在信息技术领域的重要性。面向开源软件环境的 IBM Services™ 白皮书支持解决方案指出,“96% 的商业应用都具有某种开源组件”(PDF, 3.9 MB)。1

在开源软件的世界里,Arturo Suarez 具有极大的影响力。Suarez 为面向云计算的免费开源软件平台 OpenStack 创建了首个商业版本。在 2019 年 IT Biz Advisor 的一次采访(英文)中,Suarez 讲述了他的 Kubernetes 使用体验:“Kubernetes 赢得了容器编排比赛”,“Kubernetes 的进化速度甚至比 OpenStack 更快,每三个月发布一次,并且有着更好的治理模型和采用曲线。”2

IBM Cloud Kubernetes Service

在 2018 年 5 月中旬,IBM 对 Kubernetes 进行战略投资后,IBM Cloud Container Service 更名为 IBM Cloud Kubernetes Service,该服务自 2017 年 5 月就已经开始提供。

作为一种用于快速应用交付的托管容器服务,IBM Cloud Kubernetes Service 可与 IBM Watson®、区块链和其他高级服务相集成。IBM Cloud Kubernetes Service 的一些功能包括:

  • 智能调度
  • 自我修复
  • 水平扩展
  • 服务发现
  • 负载均衡
  • 自动推出和回滚
  • 机密和配置管理

利用围绕用户友好型集群管理的高级功能以及设计自身集群的能力,这一 IBM Cloud Kubernetes Service 还提供了容器安全和隔离策略,以及集成的操作工具,用于实现一致的部署。

IBM Cloud Kubernetes Service 目前拥有超过 1 万个托管付费生产集群,诸如 Think Research、Eurofits Technologies 和 The Weather Company, an IBM Company 之类的客户都在使用该项服务。广大企业使用 IBM Cloud Kubernetes Service 来执行以下任务:

  • 创建集群。
  • 在 Kubernetes 上部署可扩展的 Web 应用。
  • 分析日志并监控 Kubernettes 应用的运行状况。
  • 提供对 Kubernetes 的持续部署。

若想了解有关容器服务、云服务和 Kubernetes 如何帮助您企业的更多信息,可免费安排一次与 IBM 专家的一对一交流。您还可以注册 IBM Cloud Kubernetes Service,免费在 IBM Cloud 环境中进行构建和开发。IBM 可随时帮助您自信地推动企业向前发展。

更深入地了解容器和 Kubernetes

来源

  1. IBM Services,“Support solutions for your open source software environment”,IBM,2019。https://www.ibm.com/downloads/cas/AEQXYVK1 (PDF, 3,9 MB)
  2. Camilla Sharpe,“Q&A: How open source technology is shaking up the IT landscape”,IBM,2019 年 5 月 16 日https://itbizadvisor.com/2019/05/qa-how-open-source-technology-is-shaking-up-the-it-landscape (英文)