IaaS 与 PaaS 和SaaS 的区别
IaaS 是广泛认可的三个云服务模型之一(另外两个分别是平台即服务(PaaS)和软件即服务(SaaS)),它可以让用户享受到本地计算资源的所有优势,而又不会有额外的开销。在 IaaS 模型中,用户负责处理应用、数据、操作系统、中间件和运行时。
IaaS 供应商则提供虚拟化、存储、网络和服务器。如此一来,用户就无须拥有内部数据中心,也不必担心要自行更新或维护这些组件。
在大多数情况下,IaaS 用户可通过应用编程接口(API)或控制面板来完全控制基础架构。作为最灵活的即服务型云模型,IaaS 使您可以更轻松地扩展、升级和添加资源(例如云存储),而不必预测未来的需求并预先支付费用。
如何理解“即服务”型云服务产品?
"即服务"一词通常是指为您托管的云计算服务,以便让您可以专注于更重要的事务,例如代码和客户关系。这些产品的定价模式比自助管理式的本地基础架构更具成本效益,因此其定价模式越来越受欢迎。与此同时,云服务提供商提供的技术、合作伙伴和集成的生态系统也在不断扩大。
一般而言,IaaS 产品要求客户处理的管理层比 PaaS 和 SaaS 选项更多。
借助 PaaS,硬件和应用软件平台可由外部服务提供商来提供和管理,而用户将负责处理实际的应用和数据。PaaS 主要面向开发人员和编程人员,旨在为用户提供一个平台,用来开发、运行和管理自己的应用,而无需构建和维护通常与该流程相关联的基础架构。云平台就是一种 PaaS,其中包含了由 Amazon Web Services(AWS)、Microsoft Azure、Google Cloud 和 IBM Cloud 所提供的服务。
SaaS 是一项通常通过 Web 浏览器将服务提供商管理的 Web 应用交付给用户的服务。该服务会为用户完成软件更新、漏洞修复及其他常规软件维护工作,而用户将通过控制面板或 API 连接至应用。此外,SaaS 还消除了在每个用户计算机上本地安装应用的必要,从而使小组或团队可根据需要使用更多方法来访问软件。
"即服务"型产品对于工作负载会变化的客户特别有吸引力,因为服务提供商可提供处理可扩展性和负载平衡所需的专业知识和工作量。
IaaS 与虚拟化、自动化和容器化的关系
IaaS 提供商可以免除在设置管理服务器方面的开销来简化开发人员体验。这通常依赖于虚拟化、容器和自动化所支持的云计算架构。对于开发人员来说,不必再考虑服务器管理工作,可以大刀阔斧地构建和部署应用。
通过虚拟化,虚拟机(VM)来提供完整的环境,这些环境充当具有其自身 CPU、内存、网络接口和存储的虚拟计算机系统。在 IaaS 中,这些是在数据中心的物理硬件系统上创建的。通过名为虚拟机监控程序的软件,用户可以将机器的资源与硬件分开并进行适当置备,以供虚拟机使用。
IT 自动化在每个 IaaS 产品的服务下工作,使底层虚拟机和其他基础架构能够无缝部署,并根据需要进行扩展和缩减以满足需求。跨系统或计算机组的多个任务和配置的自动化称为编排。
IaaS 产品还可以支持容器化,其中软件代码及其所有必要的组件(如库、框架和其他依赖项)均打包在自己的 Linux® 容器中,可以随时部署到计算环境(可以是 VM)中。与虚拟机相比,容器不包含自己的操作系统(OS),因此规模可能要小得多。
特定的 IaaS 解决方案可以帮助开发人员使用容器。其中一种解决方案是 Kubernetes,这是一个开源容器编排平台,可帮助大规模地管理分布式、容器化的应用。Kubernetes 负责自动化部署和管理容器。一些 IaaS 提供商可提供 Kubernetes 即服务。
IaaS 与 DevOps 有什么共同点?
DevOps 描述了一种在开发和运维交叉点的工作方式。这种工作方式强调减少软件改进推进到部署所需要的时间,以便用户更快地访问新应用。DevOps 方法要求开发团队和运维团队频繁沟通并作为队友进行协作。
DevOps 时刻关注代码和动态基础架构使用的频繁变更,因此非常适合于 IaaS。DevOps 强调在应用的整个生命周期中,确保日常运维任务自动化和环境的标准化。因此 DevOps 团队经常会使用微服务架构来构建软件,并通过 API 将这些服务彼此相连。这些都有助于团队更快地交付软件,专注于创建较小的功能,然后使用敏捷方法等策略将其整合在一起。
IaaS 通过减少维护服务器基础架构的需求,同时强调更简单的自动化开发人员体验,因此有助于支持 DevOps 工作流。
IaaS 和 无服务器之间的区别
无服务器计算描述了一种云原生开发模型,其中服务器从应用开发中抽离出来,并且通常会与 IaaS 相关联。
无服务器依靠云提供商来管理基础架构和应用扩展。无服务器应用部署在容器中,这些容器在被调用时会自动按需启动。
在 IaaS 下,用户通常自行负责在需求旺盛时扩展服务器容量,并在不再需要该容量时缩减服务器容量。即使在应用闲置不用期间,运行该应用所需的云基础架构也要保持就绪。
无服务器架构则与之相反,应用仅在需要时启动。有事件触发应用代码运行时,公共云提供商才会为这一代码分配资源。该代码执行结束后,用户便不再付费。使用无服务器时,管理操作系统和文件系统、安全补丁、负载平衡、容量管理、扩展、日志和监控等例行任务都由云服务提供商分担。
在选择 IaaS 提供商时要考虑的事项
- 灵活性:仅购买用例所需的组件,然后根据业务需要进行扩展或缩减。
- 经济性:低开销、无维护成本使 IaaS 成为一种价格实惠的方案。您只需按实际用量和使用频次付费,就像支付水电费那样。
- 可控:用户可以控制其基础架构。
- 安全性:提供商是否值得信赖?是否有用于防范和管理任何安全威胁的资源?是否有记录在案的灾难恢复协议来确保业务连续性?
- 多租户系统:由于 IaaS 提供商倾向于根据需要将基础架构资源分配给多个客户端,因此提供商需要确保客户无法访问彼此的数据。让多个客户使用提供商的基础架构也会造成失衡,称之为"相邻干扰"(单个用户垄断特定资源会降低其他用户的效能),因此提供商需要谨慎规划资源分配。为此,要了解提供商将如何根据用户的负载进行扩展,这一点很重要。
- 服务:什么是服务提供商的服务级别协议(SLA)?是提供商承诺解决资源置备问题所付出的最短时间和最小精力吗?
- 可靠性:性能和速度在很大程度上要取决于提供商。任何软件或硬件问题最终都会影响到用户的运行时。
红帽 IaaS
红帽的云基础架构产品使您可以构建和管理 IaaS 云。这其中包括红帽 OpenStack® 平台、红帽卫星、红帽 Ceph 存储,以及我们的容器编排平台红帽 OpenShift。
您可以更快交付服务,提高 IT 部门对企业的价值,降低总拥有成本并改善可管理性。您可以根据自己的需求,随心部署各种组件,并能随时享受红帽卓越的支持服务。
为了简化企业软件的购买和管理,红帽市场在红帽 OpenShift 集群上提供了自动部署的认证软件。