Slide 1

Slide 1 text

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 龚凌晖,Strikingly首席架构师 肖凌,AWS解决方案架构师 2017.07.26 Strikingly网站集群架构纵览 支持数以百万计的快速、安全、高可用的网站

Slide 2

Slide 2 text

计算的演化 Amazon EC2 Amazon ECS Lambda Function

Slide 3

Slide 3 text

基于云端的无服务器架构 让用户集中于业务逻辑 服务器部署与利用率问题 可靠性与容错 扩展性 运维与管理

Slide 4

Slide 4 text

无服务架构的构建 AWS Lambda Amazon DynamoDB Amazon SNS Amazon API Gateway Amazon SQS Amazon Kinesis Amazon S3 编排与状态管理 API网关 消息与队列 分析 管理与监控 计算 存储 数据库 AWS X-Ray AWS Step Functions 无服务器架构的构件 Amazon Athena

Slide 5

Slide 5 text

关于 Strikingly

Slide 6

Slide 6 text

我们的产品 • 第一家从 Y Combinator 孵化的中 国初创企业 • 用户来自200多个国家和地区 • 支持各种尺寸的电脑和移动设备 • 支持6种语言的产品界面和客户服务 • https://www.sxl.cn/ • 2016年4月正式推出 • 主要针对中国大陆用户 • 本土化的产品特性 • 独立于Strikingly的品牌

Slide 7

Slide 7 text

如何创建一个网站?

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

如何创建托管一个网站? 如何创建一个网站?

Slide 10

Slide 10 text

我们关心一个网站…… • 是否可以弹性扩展,快速响应? • 是否具备一定程度的高可用性? • 是否全球访问快速稳定? • 是否具备数据传输的安全性?

Slide 11

Slide 11 text

AWS解决方案 • EC2 + ELB + ASG • RDS + Multi-AZ Replication + S3 Backup • Cloudfront + AWS Certificate Manager

Slide 12

Slide 12 text

如何托管一个数百万个网站? 如何托管一个网站?

Slide 13

Slide 13 text

我们关心每个网站…… • 是否可以弹性扩展,快速响应? • 是否具备一定程度的高可用性? • 是否具备数据传输的安全性? • 是否全球访问快速稳定?

Slide 14

Slide 14 text

初始方案

Slide 15

Slide 15 text

JavaScript 模板 • 代码灵活,便于设计模板 • 网页编辑器和网页重用代码 • 客户端渲染开销大 • SEO不友好 网页模板设计 用户网页数据 用户网页 JavaScript 模板渲染引擎 用户网站渲染

Slide 16

Slide 16 text

服务端渲染技术 网页模板设计 用户网页数据 用户网页 JavaScript 模板渲染引擎 渲染结果 网站服务器集群

Slide 17

Slide 17 text

待解决的问题 • 服务端渲染依赖于 JS Runtime • JS Runtime 渲染过程极其消耗 CPU 资源

Slide 18

Slide 18 text

20% 100% 用户网站流量波动

Slide 19

Slide 19 text

Serverless!

Slide 20

Slide 20 text

AWS Lambda 基于事件驱动的无服务器计算服务

Slide 21

Slide 21 text

产品特性 无需管理服务器 事件驱动 自动扩展 精确计费 节约成本

Slide 22

Slide 22 text

如何开始使用AWS Lambda? 将代码包装为 Lambda函数 选择合适的 运行环境 将代码打包 上传到AWS 事件驱动触发 执行Lambda函数

Slide 23

Slide 23 text

解决方案

Slide 24

Slide 24 text

新的问题 • 服务端渲染比较耗时,响应时间不理想 • 用户发布网站之后修改不频繁,反复渲染浪费资源 • 后端服务无法响应时,所有用户网站完全不可用

Slide 25

Slide 25 text

Cache!

Slide 26

Slide 26 text

缓存管理 • 缓存所有静态页面 • 网站页面 • 博客文章页面 • 产品详情页面 • 缓存部分API请求 • 密码保护网站 • 细粒度缓存刷新机制

Slide 27

Slide 27 text

解决方案

Slide 28

Slide 28 text

为什么使用S3? 简单易用 高可用性 成本优势 集成服务

Slide 29

Slide 29 text

集成服务:CSS样式表预处理 • CSS定义了网页的样式 • CSS加载缓慢,阻塞网页渲染 • 预处理关键区域CSS样式 • 异步延迟加载所有CSS

Slide 30

Slide 30 text

解决方案

Slide 31

Slide 31 text

网站全球加速 • CDN • 边缘节点缓存静态页面 • 用户访问最优边缘节点 • 提升网站的响应速度

Slide 32

Slide 32 text

新的需求 • HTTPS • 安全数据传输 • 提升SEO价值 • 浏览器安全标志

Slide 33

Slide 33 text

新的问题 • CDN + HTTPS? • 大量的域名接入 • 大量的HTTPS证书管理 • 主流的CDN提供商不支持这个特殊的场景

Slide 34

Slide 34 text

DIY (with AWS) !

Slide 35

Slide 35 text

如何获得HTTPS证书?

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

Let’s Encrypt • 免费的 CA(Certificate Authority) • 互联网安全研究组(ISRG)提供服务 • 标准 ACME API,提供自动化可能性 • 由 Mozilla,Akamai 等公司和机构支持

Slide 38

Slide 38 text

如何实现全球加速?

Slide 39

Slide 39 text

Amazon全球骨干网

Slide 40

Slide 40 text

Strikingly边缘节点 • 部署在世界各地的AWS区域 • 对终端访客提供HTTPS连接 • 提供定制的缓存机制 • 通过Amazon全球骨干网回源到主站 • 通过ECS部署边缘节点

Slide 41

Slide 41 text

如何引导访客访问最优节点?

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

总结 • 基于 AWS 造轮子 • EC2 + ELB + ASG • RDS + Multi-AZ Replication + S3 Backup • API Gateway + Lambda • S3 + Lambda • ECS + Amazon Global Backbone • Route 53

Slide 45

Slide 45 text

我们在招聘! • 我们的团队:一支诞生于硅谷,扎根在中 国,快速成长的国际化创业团队 • 我们的成员:一群执着于产品,以技术和 设计为导向的年轻人 • 我们期待的:志同道合,乐观向上,保持 谦逊,不断突破,热爱创造价值的你

Slide 46

Slide 46 text

Thank you!