2024-06-19 17:56:04 +08:00
|
|
|
|
---
|
2024-10-13 01:52:40 +08:00
|
|
|
|
title: 2.1-基础架构即服务(IaaS)
|
|
|
|
|
description: IaaS 提供基础架构服务如存储和虚拟化,用户负责操作系统及应用,而提供商管理网络、服务器等。IaaS 提供灵活性和成本效益,适合快速构建和拆解开发环境。IaaS 与虚拟化、自动化和容器化紧密相关,支持 DevOps 工作流。与无服务器计算不同,IaaS 需要用户管理服务器扩展。选择 IaaS 提供商时需考虑灵活性、经济性、控制性、安全性、多租户问题、服务和可靠性。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
keywords:
|
|
|
|
|
- 基础架构即服务
|
|
|
|
|
- IaaS
|
2024-10-13 01:52:40 +08:00
|
|
|
|
- 虚拟化
|
|
|
|
|
- 自动化
|
|
|
|
|
- 容器化
|
2024-06-19 17:56:04 +08:00
|
|
|
|
tags:
|
2024-10-13 20:52:05 +08:00
|
|
|
|
- FormalSciences/ComputerScience
|
|
|
|
|
- CloudService/Overview
|
2024-06-19 17:56:04 +08:00
|
|
|
|
author: 仲平
|
2024-10-13 01:52:40 +08:00
|
|
|
|
date: 2024-10-13
|
2024-06-19 17:56:04 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## IaaS 概述
|
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
基础架构即服务(IaaS)让您从本地 IT 基础架构往轻松迈进了一步。这是一种即付即用的服务,由外部的第三方提供商根据您的需要,利用互联网(通过云)为您提供基础架构服务(如存储和虚拟化)。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
|
|
|
|
|
**作为用户,您只需负责操作系统以及任何数据、应用、中间件和运行时,而提供商会给您访问和管理所需网络、服务器、虚拟化和存储的权限。**
|
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
**您无需维护或更新自己的本地数据中心,因为提供商会为您代劳。** 此外,您可以通过应用编程接口(API)或控制面板来访问和控制基础架构。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
**IaaS 可以让您享受较大的灵活性:您可以仅购买所需的组件,然后根据需要进行扩展或缩减。** 这样不仅开销低,而且无维护成本,从而使 IaaS 成为一种经济实惠的方案。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
**IaaS 的一大用途就是快速、灵活地构建和拆解开发与测试环境。** 您可以仅使用创建开发环境所需的基础架构,并在需要时进行扩展或缩编,完成后,您可以立即停用,这样就只需为所使用的内容付费。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
**IaaS 的主要短板在于可能存在的提供商安全问题、多租户系统问题(提供商必须与多个客户端共享基础架构资源)以及服务可靠性。** 但选择可靠且可信赖的提供商(具有可靠的历史和声誉)就可以避免这些问题。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
|
|
|
|
|
## IaaS 与虚拟化、自动化和容器化的关系
|
|
|
|
|
|
|
|
|
|
IaaS 提供商可以免除在设置管理服务器方面的开销来简化开发人员体验。这通常依赖于虚拟化、容器和自动化所支持的云计算架构。对于开发人员来说,不必再考虑服务器管理工作,可以大刀阔斧地构建和部署应用。
|
|
|
|
|
|
|
|
|
|
通过虚拟化,虚拟机(VM)来提供完整的环境,这些环境充当具有其自身 CPU、内存、网络接口和存储的虚拟计算机系统。在 IaaS 中,这些是在数据中心的物理硬件系统上创建的。通过名为虚拟机监控程序的软件,用户可以将机器的资源与硬件分开并进行适当置备,以供虚拟机使用。
|
|
|
|
|
|
|
|
|
|
IT 自动化在每个 IaaS 产品的服务下工作,使底层虚拟机和其他基础架构能够无缝部署,并根据需要进行扩展和缩减以满足需求。跨系统或计算机组的多个任务和配置的自动化称为编排。
|
|
|
|
|
|
|
|
|
|
IaaS 产品还可以支持容器化,其中软件代码及其所有必要的组件(如库、框架和其他依赖项)均打包在自己的 Linux® 容器中,可以随时部署到计算环境(可以是 VM)中。与虚拟机相比,容器不包含自己的操作系统(OS),因此规模可能要小得多。
|
|
|
|
|
|
|
|
|
|
特定的 IaaS 解决方案可以帮助开发人员使用容器。其中一种解决方案是 Kubernetes,这是一个开源容器编排平台,可帮助大规模地管理分布式、容器化的应用。Kubernetes 负责自动化部署和管理容器。一些 IaaS 提供商可提供 Kubernetes 即服务。
|
|
|
|
|
|
|
|
|
|
## IaaS 与 DevOps 有什么共同点?
|
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
**DevOps 描述了一种在开发和运维交叉点的工作方式。** 这种工作方式强调减少软件改进推进到部署所需要的时间,以便用户更快地访问新应用。DevOps 方法要求开发团队和运维团队频繁沟通并作为队友进行协作。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
**DevOps 时刻关注代码和动态基础架构使用的频繁变更,因此非常适合于 IaaS。** DevOps 强调在应用的整个生命周期中,确保日常运维任务自动化和环境的标准化。因此 DevOps 团队经常会使用微服务架构来构建软件,并通过 API 将这些服务彼此相连。这些都有助于团队更快地交付软件,专注于创建较小的功能,然后使用敏捷方法等策略将其整合在一起。
|
2024-06-19 17:56:04 +08:00
|
|
|
|
|
|
|
|
|
IaaS 通过减少维护服务器基础架构的需求,同时强调更简单的自动化开发人员体验,因此有助于支持 DevOps 工作流。
|
|
|
|
|
|
|
|
|
|
## IaaS 和 无服务器之间的区别
|
|
|
|
|
|
|
|
|
|
无服务器计算描述了一种云原生开发模型,其中服务器从应用开发中抽离出来,并且通常会与 IaaS 相关联。
|
|
|
|
|
|
|
|
|
|
无服务器依靠云提供商来管理基础架构和应用扩展。无服务器应用部署在容器中,这些容器在被调用时会自动按需启动。
|
|
|
|
|
|
|
|
|
|
在 IaaS 下,用户通常自行负责在需求旺盛时扩展服务器容量,并在不再需要该容量时缩减服务器容量。即使在应用闲置不用期间,运行该应用所需的云基础架构也要保持就绪。
|
|
|
|
|
|
|
|
|
|
无服务器架构则与之相反,应用仅在需要时启动。有事件触发应用代码运行时,公共云提供商才会为这一代码分配资源。该代码执行结束后,用户便不再付费。使用无服务器时,管理操作系统和文件系统、安全补丁、负载平衡、容量管理、扩展、日志和监控等例行任务都由云服务提供商分担。
|
|
|
|
|
|
|
|
|
|
## 在选择 IaaS 提供商时要考虑的事项
|
|
|
|
|
|
2024-10-13 01:52:40 +08:00
|
|
|
|
- **灵活性:** 仅购买用例所需的组件,然后根据业务需要进行扩展或缩减。
|
|
|
|
|
- **经济性:** 低开销、无维护成本使 IaaS 成为一种价格实惠的方案。您只需按实际用量和使用频次付费,就像支付水电费那样。
|
|
|
|
|
- **可控:** 用户可以控制其基础架构。
|
|
|
|
|
- **安全性:** 提供商是否值得信赖?是否有用于防范和管理任何安全威胁的资源?是否有记录在案的灾难恢复协议来确保业务连续性?
|
|
|
|
|
- **多租户系统:** 由于 IaaS 提供商倾向于根据需要将基础架构资源分配给多个客户端,因此提供商需要确保客户无法访问彼此的数据。让多个客户使用提供商的基础架构也会造成失衡,称之为 " 相邻干扰 "(单个用户垄断特定资源会降低其他用户的效能),因此提供商需要谨慎规划资源分配。为此,要了解提供商将如何根据用户的负载进行扩展,这一点很重要。
|
|
|
|
|
- **服务:** 什么是服务提供商的服务级别协议(SLA)?是提供商承诺解决资源置备问题所付出的最短时间和最小精力吗?
|
|
|
|
|
- **可靠性:** 性能和速度在很大程度上要取决于提供商。任何软件或硬件问题最终都会影响到用户的运行时。
|