什么是 AWS?从 0 讲清楚云计算平台
很多刚接触后端或云计算的开发者都会问一个问题:
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 的作用就是:
提供服务器
提供数据库
提供缓存
提供存储
让开发者专注于: 写程序
而不是: 运维服务器
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)