跳到主要内容

C2-01-02-Cloud-Computing-什么是云计算?

本篇是《C2-01-云计算核心概念与全球基础设施》的第2个分篇,主要包含:Cloud-Computing-什么是云计算。

2-★★★★★-Cloud-Computing:什么是云计算?

Cloud Computing,中文为:云计算

如果只把它理解成:

“把服务器放到互联网上。”

是不够准确的。

更好的理解方式是:

**把计算、存储、数据库、网络、安全等 IT 能力,从“企业提前购买并自己维护的硬件”,变成可以通过网络按需获取、快速调整、按照实际使用情况付费的服务。

**。


2.1-从-GlobalShop-的传统机房开始

假设 GlobalShop 还没有使用 AWS。

GlobalShop 有:用户系统、商品系统、订单系统、库存系统、支付系统、物流系统、搜索系统、推荐系统、数据分析系统。

这些程序必须运行在真实机器上。

所以需要:

GlobalShop Data Center
企业数据中心

├── Web Server
├── Application Server
├── Database Server
├── Cache Server
├── File Server

├── Router
├── Switch
├── Firewall
├── Load Balancer

├── Storage
├── Backup

├── UPS
├── Cooling
├── Physical Security
└── Network Lines

这就是传统:On-Premises

简称有时写:On-Prem,中文为:本地部署 / 本地数据中心部署

这里的“本地”不是指:

放在程序员自己的电脑。

而是

基础设施运行在企业自己控制的数据中心、服务器机房或公司场所,而不是公有云厂商的数据中心中。


2.2-传统基础设施最大的难题:你必须先猜未来

假设 GlobalShop 平时需要:100 台 Application Server但是“双十一”20:00:需要 2000 台。

那么公司应该买多少?


2.2.1-方案-A:买-100-台

平时:

需求:
██████████

服务器:
██████████

刚好。

但双十一:

实际需求:
████████████████████████████████████████████

服务器:
██████████

结果:
Overload
过载

用户可能看到:

504 Gateway Timeout

Service Unavailable

页面打不开

付款失败

2.2.2-方案-B:直接买-2000-台

双十一安全了。

问题是平时:

实际使用:
██

已购买:
████████████████████████████████████████

大量服务器一年绝大多数时间闲置。

但:硬件成本、机房成本、电力、网络、维护、折旧。

仍然存在。


2.3-★★★★-Capacity-Planning:容量规划

Capacity

容量。

Planning

规划。

Capacity Planning,中文为:容量规划

也就是:

根据未来业务量预测,需要提前准备多少计算、存储、网络等资源。

传统 IT 环境必须认真做这件事情。

因为从:“发现不够用了”。

到:“真正增加100台服务器”。

中间可能经历:

需求申请

预算审批

采购

供应商发货

机房上架

网络连接

安装OS

系统配置

应用部署

可能不是几分钟,而是几周甚至几个月。


2.4-★★★★★-云计算的关键变化:On-Demand-Resource

On-Demand,中文为:按需

核心思想:

需要资源的时候再创建。

例如 GlobalShop:

平时:
100台

双十一:
需求增加

500台

1000台

2000台

双十一结束:

500台

100台

这背后就涉及后面两个非常重要的概念:

Scalability
可扩展性

Elasticity
弹性

但二者不是同一个东西。

后面详细区分。


2.5-★★★★★-Fixed-Expense-→-Variable-Expense

传统基础设施经常存在:Fixed Expense,中文为:固定支出

例如提前购买:服务器、存储、机柜、交换机、数据中心设施。

无论最终使用率是多少,投入已经产生。

云计算的重要价值之一,是让相当一部分 IT 成本转为:Variable Expense,中文为:可变支出

也就是:

用得多
→ 支出增加

用得少
→ 支出减少

2.6-★★★★-CAPEX-与-OPEX

在商业和财务题中还会出现两个词。


2.6.1-CAPEX

完整英文:Capital Expenditure,中文为:资本性支出

例如:一次购买1000台服务器。

属于典型资本投入。


2.6.2-OPEX

完整英文:Operating Expenditure,中文为:运营性支出 / 经营性支出

例如:

这个月用了多少云资源

这个月支付相应费用

更接近运营成本模型。

简单理解:

传统自建数据中心
更偏向:
CAPEX

Cloud
可以将大量支出转化为:
OPEX / Variable Expense

但不要绝对化。

现实企业财务会复杂得多。

CLF-C02 主要考概念。


2.7-★★★★★-Pay-as-you-go

Pay as you go,中文为:按使用量付费 / 随用随付

这是 AWS 最核心的经济思想之一。

但不要理解成:

AWS 所有东西都是一秒多少钱。

不同服务有不同计量方式:

EC2
→ 计算使用时间等

S3
→ 存储容量、请求、数据传输等

Lambda
→ 请求数、计算时间等

CloudFront
→ 请求、数据传输等

真正的共同思想是:

不必为了未来可能出现的需求,提前永久拥有所有容量。


2.8-★★★★-Economies-of-Scale:规模经济

完整英文:Economies of Scale,中文为:规模经济

它是什么意思?

假设 GlobalShop 自己建数据中心:

购买服务器:
500 台

采购带宽:
企业自己的规模

采购硬盘:
企业自己的规模

AWS 面向全球大量客户:

AWS
├── 大量服务器
├── 大量数据中心
├── 大量网络资源
├── 大规模电力采购
└── 大规模基础设施运营

因为采购、建设、运营规模远大于一般企业:

规模增加

单位成本可能降低

AWS 可以利用这种规模经济向客户提供云资源。

题库中也反复把:Benefit from massive economies of scale

作为 Cloud 的典型优势。


2.9-★★★★-Agility:敏捷性

Agility,中文为:敏捷性

这里不是专指:**Agile Software Development,敏捷软件开发。

**。

云计算里的 Agility 更强调:

**获得 IT 能力和尝试新业务的速度。

**


2.9.1-GlobalShop-例子

产品经理提出:

做一个 AI 商品推荐实验。

传统数据中心:

需要GPU资源

预算审批

采购

安装

配置

几周后开始实验

AWS:

申请适合的Cloud Resource

快速创建

当天开始实验

如果项目失败:关闭资源。

如果项目成功:继续扩大。

所以:

获取资源更快

实验成本降低

新业务上线速度提高

Agility提高

题库评论也直接使用:

从 weeks 到 minutes,提高组织的 agility。


2.10-★★★★★-Scalability:可扩展性

Scalability,中文为:可扩展性

核心问题:

当业务规模越来越大时,系统能不能增加能力继续处理?

比如:

今天:
每秒1000个请求

明年:
每秒10000个请求

如果系统可以通过增加资源支撑:

1000

10000

100000

说明系统具有良好的:Scalability


2.11-★★★-Vertical-Scaling:纵向扩展

Vertical Scaling,中文为:纵向扩展 / 垂直扩展

也叫:Scale Up

意思:

不增加机器数量,而是把原来的机器变强。

例如:

原服务器:

2 vCPU
8 GB RAM



更强服务器:

32 vCPU
128 GB RAM

图:

Small Server


│ Scale Up


Large Server

2.12-★★★★-Horizontal-Scaling:横向扩展

Horizontal Scaling,中文为:横向扩展 / 水平扩展

也叫:Scale Out

意思:

不只是把一台机器变强,而是增加机器数量。

原来:EC2。

变成:EC2、EC2、EC2、EC2、EC2。

GlobalShop Web 系统通常非常适合:

Load Balancer

┌──────┼──────┐
▼ ▼ ▼
EC2 EC2 EC2

流量继续增加:

Load Balancer

┌────┬─────┼─────┬────┐
▼ ▼ ▼ ▼ ▼
EC2 EC2 EC2 EC2 EC2

2.13-★★★★★-Elasticity:弹性

Elasticity,中文为:弹性

这是 CLF-C02 极其重要的概念。

它比 Scalability 多了一层意思:

**资源能够根据需求变化扩大,也能够在需求减少时缩回来。

**。


2.13.1-GlobalShop-双十一

11月10日 10:00

EC2:
20台

流量增加:

11月11日 19:00

EC2:
80台

20:00 秒杀:EC2:、300台。

凌晨:

02:00

EC2:
50台

第二天:EC2:、20台。

这就是:

Scale Out
扩大

+

Scale In
缩小

=

Elasticity
弹性

2.14-★★★★★-Scalability-与-Elasticity-的区别

这是必须真正理解的地方。

2.14.1-Scalability

回答:

**系统能不能处理越来越大的规模?

**

2.14.2-Elasticity

回答:

**系统能不能随着当前需求动态地增加和减少资源?

**。


2.14.3-举例

一家公司从:1000用户长期发展到:100万用户于是服务器从:

5台
→ 100台

这是:Scalability


另一家公司每天:

上午:
20台

晚上高峰:
100台

凌晨:
10台

每天自动变化。

这是:Elasticity


可以记成:

Scalability
关注:
“大了以后能不能撑住?”

Elasticity
关注:
“需求变了以后能不能跟着变化?”

题库第 40 题就是非常直接的 Elasticity 题:题库把“随着需求变化进行 rightsize”以及“需要时容易获得资源”作为 Elasticity 的表现,而不是 EC2 重启速度或者 RAM 上限。


2.15-★★★★★-High-Availability:高可用性

简称:HA

完整英文:High Availability,中文为:高可用性

它关注的问题不是。

流量增加怎么办?

而是

**某些组件坏掉以后,业务还能不能继续?

**


2.16-★★★★-Single-Point-of-Failure:单点故障

完整英文:Single Point of Failure

常缩写:SPOF,中文为:单点故障

例如:

Users


EC2

如果唯一的 EC2:

EC2
X

整个系统:

Users

X
Service unavailable

这台 EC2 就是:Single Point of Failure


2.17-用冗余提高-Availability

Redundancy,中文为:冗余

意思是:

不只准备一个组件,而是准备额外组件,避免一个坏掉整个系统就停止。

例如:

Load Balancer

┌──────┴──────┐
▼ ▼
EC2 EC2

坏掉一个:

EC2-A
X

EC2-B
继续服务

2.18-★★★★★-High-Availability-与-Scalability-不一样

题库特别喜欢把Agility、Elasticity、Scalability、High Availability。

放到一起。

它们分别回答:

概念核心问题
Agility能不能快速获得资源、快速变化业务
Scalability能不能承受更大的规模
Elasticity能不能随实际需求增减资源
High Availability出现故障以后还能不能尽量继续服务

题库第 77 题就是:

架构能够在发生故障时以最少 downtime 继续运行。

这里对应的是:High Availability,而不是 Elasticity 或 Scalability。

题库相关解释也明确指出:Elasticity 主要处理资源随需求变化。

Scalability 处理更大的负载。

而 High Availability 关注故障情况下减少停机。


2.19-★★★★-Fault-Tolerance:容错能力

Fault

故障。

Tolerance

容忍。

Fault Tolerance,中文为:容错 / 故障容忍能力

其目标是:

一个组件出现故障时,系统仍然能够继续完成其功能。

High Availability 和 Fault Tolerance 很接近。

可以先这样理解:

High Availability
重点:
尽可能让服务持续可用、减少Downtime

Fault Tolerance
重点:
系统能容忍部分组件失败而继续工作

2.20-★★★-Downtime

Downtime,中文为:停机时间 / 服务不可用时间

例如:20:00 系统故障、20:05 恢复Downtime:5 minutes。


2.21-★★★★-Reliability:可靠性

Reliability,中文为:可靠性

这个概念比:Availability

范围更大。

可以粗略理解为:

系统能够在一段时间内持续、正确地执行预期功能,并能在发生故障时进行恢复。

AWS Well-Architected Framework 中专门有:Reliability Pillar

即:可靠性支柱

(AWS Documentation)。

后面的 C2-16 会详细介绍。


2.22-★★★★-Resilience/Resiliency:韧性

Resilience

或:Resiliency

中文常译:韧性 / 弹性恢复能力 / 抗故障恢复能力

注意:这里不要和:Elasticity,资源弹性

混淆。

Resilience 更关心:

系统面对故障、灾害或者异常以后,能否抵抗影响并恢复。

例如:

Hardware Failure
硬件故障

AZ Failure
可用区故障

Region Failure
区域级故障

Network Failure
网络故障

Human Error
人为错误

都属于 Resilience 设计需要考虑的事件。


2.23-★★★-Durability:数据持久性

Durability,中文为:持久性 / 数据耐久性

主要关注:

**数据会不会丢?

**

不要和 Availability 混淆。

例如一个存储服务可能:数据没有丢、但是暂时访问不了。

那么:

Durability
可能仍然很好

Availability
此刻却受到影响

所以:

Availability
→ 能不能访问

Durability
→ 数据会不会长期保存下来

S3 章节会再次重点讲这个区别。


2.24-★★★★★-云计算核心概念关系图

Cloud Computing

┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
Agility Scalability Availability
敏捷性 可扩展性 可用性
│ │ │
│ │ │
快速获得资源 系统规模可扩大 故障后仍尽量可用
│ │
│ Elasticity
│ 弹性
│ │
│ 随需求增减资源

└──────────────────┬─────────────────

Reliability
可靠性

Resilience
韧性

本篇概述

  • 本篇梳理了Cloud-Computing-什么是云计算?

相关的核心知识、适用场景与判断要点。

返回本章总述查看本章概述