很多刚接触后端或云计算的开发者都会问一个问题:

AWS 到底是什么?

有人说:

  • AWS 是云服务器
  • AWS 是云平台
  • AWS 是亚马逊的机房

这些说法 都有一点对,但都不完整

这篇文章我们从 程序员视角,一步一步讲清楚 AWS 的本质是什么

一、先从最传统的服务器开始

在云计算出现之前,网站通常这样部署。

例如你写了一个 Web 系统:

SpringBoot
MySQL
Redis
Nginx

部署流程通常是:

购买服务器
安装 Linux
安装 MySQL
安装 Redis
配置 Nginx
部署程序

服务器结构可能是:

一台 Linux 服务器
 ├─ Nginx
 ├─ SpringBoot
 ├─ MySQL
 └─ Redis

问题也很明显:

  • 服务器需要自己购买
  • 需要机房托管
  • 运维成本高
  • 扩容困难

如果系统访问量突然增加,你还要:

再买服务器
重新部署系统

非常麻烦。

二、云计算解决了什么问题

云计算的核心思想是:

服务器不需要自己购买,而是租用。

云厂商会建设 大型数据中心(机房),里面有大量服务器。

开发者可以通过互联网:

按需租用服务器资源

这就是 云计算(Cloud Computing)

三、什么是 AWS

AWS 全称:

Amazon Web Services

是由
Amazon
提供的一套 云计算平台

简单理解:

AWS 就是亚马逊提供的一整套云基础设施服务。

开发者可以在 AWS 上:

  • 租服务器
  • 使用数据库
  • 使用缓存
  • 使用存储
  • 部署应用

而不需要自己维护机房。

四、AWS 最核心的服务

AWS 提供了 200 多种服务,但核心服务其实只有几个。

1 EC2(云服务器)

EC2 全称:

Elastic Compute Cloud

本质就是:云服务器

你可以在 EC2 上:

  • 运行 Linux
  • 部署 SpringBoot
  • 部署 Docker
  • 部署网站

例如:

EC2
└─ SpringBoot

很多公司其实只是把 EC2 当作:远程服务器   来使用。

2 RDS(云数据库)

RDS 是: 托管数据库服务

支持:

  • MySQL
  • PostgreSQL
  • Oracle

传统方式:

自己安装 MySQL
做备份
做主从
做监控

RDS 方式:

创建数据库实例
直接连接

AWS 会自动处理:

  • 备份
  • 高可用
  • 故障恢复

3 ElastiCache(云 Redis)

ElastiCache 是: 托管 Redis 服务

你的代码:

RedisTemplate

只是 Redis 客户端。

真正的 Redis 服务器可以在:ElastiCache

AWS 会负责:

  • Redis 集群
  • 故障切换
  • 监控

4 S3(对象存储)

S3 是 AWS 的: 文件存储服务

常用于:

  • 图片
  • 视频
  • 文件
  • 备份

例如:

APP 上传图片

存储在 S3

五、真实互联网系统的架构

一个典型系统可能是:

用户
 ↓
CDN
 ↓
负载均衡
 ↓
EC2(运行程序)
 ↓
Redis(ElastiCache)
 ↓
MySQL(RDS)

开发者只需要:

编写程序
部署应用

基础设施由 AWS 提供。

六、AWS 和普通服务器的区别

传统服务器:

自己买服务器
自己安装数据库
自己配置 Redis
自己做备份

AWS:

创建服务器
创建数据库
创建缓存
部署程序

几分钟即可完成。

所以 AWS 本质是:

把整个机房能力做成服务提供给开发者。

七、国内类似的云平台

除了 AWS,还有很多云厂商。

例如:

  • Alibaba Cloud(阿里云)
  • Tencent Cloud(腾讯云)
  • Huawei Cloud(华为云)

它们提供的服务与 AWS 非常类似。

例如:

AWS 阿里云
EC2 ECS
RDS RDS
S3 OSS
ElastiCache Redis

八、用一句话总结 AWS

最简单的理解是:

AWS 是亚马逊提供的云计算平台,开发者可以租用服务器和各种基础设施服务,在云上运行自己的应用程序。

或者更直白一点:

AWS = 云机房
EC2 = 云服务器

九、程序员视角理解 AWS

从开发者角度看:

代码
 ↓
部署在服务器
 ↓
连接数据库
 ↓
连接缓存

AWS 的作用就是:

提供服务器
提供数据库
提供缓存
提供存储

让开发者专注于: 写程序

而不是: 运维服务器

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐