Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Strikingly网站集群架构纵览
Search
Linghui Gong
July 26, 2017
Technology
0
290
Strikingly网站集群架构纵览
本演讲将为各位介绍Strikingly如何基于AWS的服务和基础设施优化网站集群架构,为数以百万计的用户网站提供快速、安全、高可用的网站服务。
Linghui Gong
July 26, 2017
Tweet
Share
More Decks by Linghui Gong
See All by Linghui Gong
OpenResty在Strikingly网站集群中的应用
danielglh
0
200
打造国际化产品:Strikingly的I18n实践
danielglh
4
970
基于AWS Lambda的无服务器架构在Strikingly中的应用
danielglh
0
380
Other Decks in Technology
See All in Technology
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
630
日経電子版 x AIエージェントの可能性とAgentic RAGによって提案書生成を行う技術
masahiro_nishimi
1
200
Fin-JAWS第38回reInvent2024_全金融系セッションをライトにまとめてみた
mhrtech
1
160
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
7
880
What's New in OpenShift 4.18
redhatlivestreaming
0
750
自動と手動の両輪で開発するデータクレンジング
estie
2
170
もし今からGraphQLを採用するなら
kazukihayase
10
4.5k
まだ間に合う! エンジニアのための生成AIアプリ開発入門 on AWS
minorun365
PRO
4
490
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
130
Creative Pair
kawaguti
PRO
1
150
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
540
CNAPPから考えるAWSガバナンスの実践と最適化
yuobayashi
5
740
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
How to Ace a Technical Interview
jacobian
276
23k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
620
Git: the NoSQL Database
bkeepers
PRO
427
64k
Code Review Best Practice
trishagee
66
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
39
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Transcript
© 2017, Amazon Web Services, Inc. or its Affiliates. All
rights reserved. 龚凌晖,Strikingly首席架构师 肖凌,AWS解决方案架构师 2017.07.26 Strikingly网站集群架构纵览 支持数以百万计的快速、安全、高可用的网站
计算的演化 Amazon EC2 Amazon ECS Lambda Function
基于云端的无服务器架构 让用户集中于业务逻辑 服务器部署与利用率问题 可靠性与容错 扩展性 运维与管理
无服务架构的构建 AWS Lambda Amazon DynamoDB Amazon SNS Amazon API Gateway
Amazon SQS Amazon Kinesis Amazon S3 编排与状态管理 API网关 消息与队列 分析 管理与监控 计算 存储 数据库 AWS X-Ray AWS Step Functions 无服务器架构的构件 Amazon Athena
关于 Strikingly
我们的产品 • 第一家从 Y Combinator 孵化的中 国初创企业 • 用户来自200多个国家和地区 •
支持各种尺寸的电脑和移动设备 • 支持6种语言的产品界面和客户服务 • https://www.sxl.cn/ • 2016年4月正式推出 • 主要针对中国大陆用户 • 本土化的产品特性 • 独立于Strikingly的品牌
如何创建一个网站?
None
如何创建托管一个网站? 如何创建一个网站?
我们关心一个网站…… • 是否可以弹性扩展,快速响应? • 是否具备一定程度的高可用性? • 是否全球访问快速稳定? • 是否具备数据传输的安全性?
AWS解决方案 • EC2 + ELB + ASG • RDS +
Multi-AZ Replication + S3 Backup • Cloudfront + AWS Certificate Manager
如何托管一个数百万个网站? 如何托管一个网站?
我们关心每个网站…… • 是否可以弹性扩展,快速响应? • 是否具备一定程度的高可用性? • 是否具备数据传输的安全性? • 是否全球访问快速稳定?
初始方案
JavaScript 模板 • 代码灵活,便于设计模板 • 网页编辑器和网页重用代码 • 客户端渲染开销大 • SEO不友好
网页模板设计 用户网页数据 用户网页 JavaScript 模板渲染引擎 用户网站渲染
服务端渲染技术 网页模板设计 用户网页数据 用户网页 JavaScript 模板渲染引擎 渲染结果 网站服务器集群
待解决的问题 • 服务端渲染依赖于 JS Runtime • JS Runtime 渲染过程极其消耗 CPU
资源
20% 100% 用户网站流量波动
Serverless!
AWS Lambda 基于事件驱动的无服务器计算服务
产品特性 无需管理服务器 事件驱动 自动扩展 精确计费 节约成本
如何开始使用AWS Lambda? 将代码包装为 Lambda函数 选择合适的 运行环境 将代码打包 上传到AWS 事件驱动触发 执行Lambda函数
解决方案
新的问题 • 服务端渲染比较耗时,响应时间不理想 • 用户发布网站之后修改不频繁,反复渲染浪费资源 • 后端服务无法响应时,所有用户网站完全不可用
Cache!
缓存管理 • 缓存所有静态页面 • 网站页面 • 博客文章页面 • 产品详情页面 •
缓存部分API请求 • 密码保护网站 • 细粒度缓存刷新机制
解决方案
为什么使用S3? 简单易用 高可用性 成本优势 集成服务
集成服务:CSS样式表预处理 • CSS定义了网页的样式 • CSS加载缓慢,阻塞网页渲染 • 预处理关键区域CSS样式 • 异步延迟加载所有CSS
解决方案
网站全球加速 • CDN • 边缘节点缓存静态页面 • 用户访问最优边缘节点 • 提升网站的响应速度
新的需求 • HTTPS • 安全数据传输 • 提升SEO价值 • 浏览器安全标志
新的问题 • CDN + HTTPS? • 大量的域名接入 • 大量的HTTPS证书管理 •
主流的CDN提供商不支持这个特殊的场景
DIY (with AWS) !
如何获得HTTPS证书?
None
Let’s Encrypt • 免费的 CA(Certificate Authority) • 互联网安全研究组(ISRG)提供服务 • 标准
ACME API,提供自动化可能性 • 由 Mozilla,Akamai 等公司和机构支持
如何实现全球加速?
Amazon全球骨干网
Strikingly边缘节点 • 部署在世界各地的AWS区域 • 对终端访客提供HTTPS连接 • 提供定制的缓存机制 • 通过Amazon全球骨干网回源到主站 •
通过ECS部署边缘节点
如何引导访客访问最优节点?
None
None
总结 • 基于 AWS 造轮子 • EC2 + ELB +
ASG • RDS + Multi-AZ Replication + S3 Backup • API Gateway + Lambda • S3 + Lambda • ECS + Amazon Global Backbone • Route 53
我们在招聘! • 我们的团队:一支诞生于硅谷,扎根在中 国,快速成长的国际化创业团队 • 我们的成员:一群执着于产品,以技术和 设计为导向的年轻人 • 我们期待的:志同道合,乐观向上,保持 谦逊,不断突破,热爱创造价值的你
Thank you!