亚马逊云科技首席布道师 Jeff Barr 在推上发过一张图 (https://x.com/jeffbarr/status/892767314168365056),用一只小猪🐷讲清了 On-Prem, IaaS, PaaS 和 SaaS 的区别。
On-prem 本地部署
本地部署(on-prem, 或 on-premise)指将软件或计算基础设施部署在本地的设备或服务器上,使其能够在本地环境中运行和使用。这种部署方式与云计算(cloud computing)形成了对比。当一个系统或应用部署在本地时,其软件、服务器及必要的基础设施都安装在组织的数据中心或服务器房间,用户需要自行管理和维护这些硬件和软件,包括更新、安全保护和数据备份。本地部署使得用户能够直接控制其数据、应用和基础设施。这种模式适用于需要严格的安全性和合规性、或必须将敏感数据留在本地、亦或网络连接不稳定的情况。但是本地部署需要较大的前期投资,包括硬件、基础设施建设以及 IT 人员,这些都需得靠用户组织自行管理。之后,组织还得自行扩展这些基础设施以满足需求,并保证系统的高可用性和灾难恢复能力。
IaaS 基础设施即服务
基础设施即服务 (IaaS, Infrastructure as a service)是一种把 IT 基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。在这个模式下,第三方服务商不仅提供硬件如服务器和存储,还负责管理,而客户则可以自主管理操作系统和应用程序。使用 IaaS,用户无需大笔投资自有硬件,而是按实际使用量支付费用,从而灵活扩展或缩减资源,适应业务需求的变化。这种服务还包括硬件的采购、配置和维护等。可扩展性:快速调整计算资源,如增加或减少服务器和存储空间。
灵活性:自定义操作系统和应用配置,管理个性化的虚拟机和网络设施。
成本效益:减少前期投资,按用付费。
广泛的地理覆盖:在全球多个地点部署基础设施,优化性能和实现灾难恢复。
- 高可靠性和弹性:服务商确保基础设施的连续运作和问题处理。
最出名的 IaaS 提供商包括 AWS,Microsoft Azure 和 GCP。
PaaS 平台即服务
平台即服务 (PaaS, Platform as a Service) 是一种提供云上应用开发、部署和管理环境的商业模式。在这种模型下,底层的服务器、存储和网络设施由服务商管理,用户则可以专注于应用的开发和运行。PaaS 提供了一整套开发和部署工具,涵盖了数据库、运行环境以及构建和测试应用所需的各种服务。PaaS 的一大特点是高度抽象化,用户无需自己管理基础设施,适合需要快速开发和部署应用,同时不想涉足底层技术细节的开发团队。应用开发便捷:提供一系列开发工具和框架,以及集成开发环境,使应用开发更加高效。
自动扩展性:应用可根据实际需求自动调整规模,省去了用户自行管理基础设施的麻烦。
简化部署与管理:部署工具使应用轻松上云,同时支持应用配置和性能监控。
丰富的服务与中间件:包括数据库、消息系统等多种服务,开发者可以直接使用,专注于核心业务逻辑。
- 团队协作支持:平台支持多人协作,共享代码、进行版本控制和持续集成等。
比较有名的 PaaS 供应商有 Force/Heroku, Google App Engine 等等。
SaaS 软件即服务
软件即服务 (SaaS, Software as a Service) 是一种将软件作为服务通过互联网提供的模型。用户无需在自己的电脑或设备上安装软件,而是通过网络浏览器即可使用这些应用程序。这种模式下,所有软件都由服务提供商在远端服务器上维护和管理,负责确保软件的正常运行、更新和安全。用户只需支付订阅费用。对于希望简化软件部署并减轻维护负担的用户来说,SaaS 是理想选择。随时访问:只要有网络,用户就能在任何设备上使用软件,极大提升了灵活性和方便性。
无需手动更新:软件更新由服务提供商自动完成,用户总能使用最新版本。
灵活扩展:根据用户需求,服务商能够灵活调整资源,确保软件性能。
节约成本:用户无需自行购买软件或硬件,降低了成本,特别适合预算有限的小型和中型企业。
- 促进协作:SaaS 通常支持多用户同时使用,便于团队合作和资源共享。
大家耳熟能详的 SaaS 产品有 Salesforce CRM, Google Workspace, Slack 等等。
回到这张图
On-prem: 给你整猪,靠自己了🐖
IaaS: 煎一下,摆个盘,开吃🍳
PaaS: 摆个盘,开吃🍴
如何配置 PostgreSQL 用于集成测试
Oracle 终于在 MySQL 8.4 对 InnoDB 默认值下手了
MariaDB 高管再就业,帮助客户从 MySQL 迁移到 Postgres(附两者对比)
兜兜转转,Bytebase GitHub 星星终破万!