Submit Search
Upload
DAE
•
41 likes
•
5,917 views
Q
Qiangning Hong
Follow
Talk on PyCon China 2013
Read less
Read more
Technology
Report
Share
Report
Share
1 of 52
Download now
Download to read offline
Recommended
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
Monitor is all for ops
Monitor is all for ops
琛琳 饶
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
Justin Lin
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
medcl
Java Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent Queue
Min Zhou
DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
Docker進階探討
Docker進階探討
國昭 張
Recommended
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
Monitor is all for ops
Monitor is all for ops
琛琳 饶
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
Justin Lin
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
medcl
Java Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent Queue
Min Zhou
DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
Docker進階探討
Docker進階探討
國昭 張
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
Java trouble shooting
Java trouble shooting
Min Zhou
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
Java cpu
Java cpu
ykdsg
使用 Eloquent ORM
使用 Eloquent ORM
Shengyou Fan
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
Ansible 101
Ansible 101
YI-CHING WU
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
Study4.TW .NET Conf 2018 - Fp in c#
Study4.TW .NET Conf 2018 - Fp in c#
Chieh Kai Yang
Kafka in Depth
Kafka in Depth
YI-CHING WU
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
Cabin WJ
DAE 新变化介绍
DAE 新变化介绍
Tianwei Liu
前端自動化工具
前端自動化工具
國昭 張
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
scott liao
Serverless Event Streaming with Pulsar Functions-xiaolong
Serverless Event Streaming with Pulsar Functions-xiaolong
StreamNative
Docker實務
Docker實務
國昭 張
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Lei (Harry) Zhang
開發流程與工具介紹
開發流程與工具介紹
Shengyou Fan
Python高级编程(二)
Python高级编程(二)
Qiangning Hong
Python在豆瓣的应用
Python在豆瓣的应用
Qiangning Hong
More Related Content
What's hot
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
Java trouble shooting
Java trouble shooting
Min Zhou
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
Java cpu
Java cpu
ykdsg
使用 Eloquent ORM
使用 Eloquent ORM
Shengyou Fan
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
Ansible 101
Ansible 101
YI-CHING WU
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
Study4.TW .NET Conf 2018 - Fp in c#
Study4.TW .NET Conf 2018 - Fp in c#
Chieh Kai Yang
Kafka in Depth
Kafka in Depth
YI-CHING WU
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
Cabin WJ
DAE 新变化介绍
DAE 新变化介绍
Tianwei Liu
前端自動化工具
前端自動化工具
國昭 張
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
scott liao
Serverless Event Streaming with Pulsar Functions-xiaolong
Serverless Event Streaming with Pulsar Functions-xiaolong
StreamNative
Docker實務
Docker實務
國昭 張
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Lei (Harry) Zhang
開發流程與工具介紹
開發流程與工具介紹
Shengyou Fan
What's hot
(20)
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Java trouble shooting
Java trouble shooting
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Java cpu
Java cpu
使用 Eloquent ORM
使用 Eloquent ORM
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Ansible 101
Ansible 101
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Study4.TW .NET Conf 2018 - Fp in c#
Study4.TW .NET Conf 2018 - Fp in c#
Kafka in Depth
Kafka in Depth
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
DAE 新变化介绍
DAE 新变化介绍
前端自動化工具
前端自動化工具
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
Serverless Event Streaming with Pulsar Functions-xiaolong
Serverless Event Streaming with Pulsar Functions-xiaolong
Docker實務
Docker實務
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
開發流程與工具介紹
開發流程與工具介紹
Viewers also liked
Python高级编程(二)
Python高级编程(二)
Qiangning Hong
Python在豆瓣的应用
Python在豆瓣的应用
Qiangning Hong
New Design of OneRing
New Design of OneRing
Qiangning Hong
服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript
Qiangning Hong
OneRing @ OSCamp 2010
OneRing @ OSCamp 2010
Qiangning Hong
豆瓣技术架构的发展历程 @ QCon Beijing 2009
豆瓣技术架构的发展历程 @ QCon Beijing 2009
Qiangning Hong
Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010
Qiangning Hong
Erlang及其应用
Erlang及其应用
Feng Yu
Erlang高级原理和应用
Erlang高级原理和应用
Feng Yu
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务
Wensong Zhang
Inside Erlang Vm II
Inside Erlang Vm II
Feng Yu
Linux内存管理
Linux内存管理
zijia
Linux内存管理
Linux内存管理
zijia
LVS development and experience
LVS development and experience
Wensong Zhang
Overall Agricultural Extension Activities of the Department of Agricultural E...
Overall Agricultural Extension Activities of the Department of Agricultural E...
International Water Management Institute (IWMI)
Git 实战
Git 实战
Edward Lee
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
bluedavy lin
Development of dae in bangladesh
Development of dae in bangladesh
saifur rahman
Java常见问题排查
Java常见问题排查
bluedavy lin
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Feng Yu
Viewers also liked
(20)
Python高级编程(二)
Python高级编程(二)
Python在豆瓣的应用
Python在豆瓣的应用
New Design of OneRing
New Design of OneRing
服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript
OneRing @ OSCamp 2010
OneRing @ OSCamp 2010
豆瓣技术架构的发展历程 @ QCon Beijing 2009
豆瓣技术架构的发展历程 @ QCon Beijing 2009
Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010
Erlang及其应用
Erlang及其应用
Erlang高级原理和应用
Erlang高级原理和应用
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务
Inside Erlang Vm II
Inside Erlang Vm II
Linux内存管理
Linux内存管理
Linux内存管理
Linux内存管理
LVS development and experience
LVS development and experience
Overall Agricultural Extension Activities of the Department of Agricultural E...
Overall Agricultural Extension Activities of the Department of Agricultural E...
Git 实战
Git 实战
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
Development of dae in bangladesh
Development of dae in bangladesh
Java常见问题排查
Java常见问题排查
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Similar to DAE
豆瓣Paa s平台 dae - 2017
豆瓣Paa s平台 dae - 2017
Tianwei Liu
Artifacts management with CI and CD
Artifacts management with CI and CD
Chen-Tien Tsai
当当网Docker应用实践
当当网Docker应用实践
正炎 高
Weic2015 docker
Weic2015 docker
Ray Lin
Nodejs & NAE
Nodejs & NAE
q3boy
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
Yu Lung Shao
Phalcon2014 Startup
Phalcon2014 Startup
Steve Luo
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
謝 宗穎
The practice of enjoying apache
The practice of enjoying apache
jixuan1989
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
美团点评技术团队
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
Alan Tsai
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Poy Chang
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
Alan Tsai
docker intro
docker intro
koji lin
Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)
Kris Mok
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
Alan Tsai
KSDG BaaS Intro
KSDG BaaS Intro
ericpi Bi
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
84zhu
Similar to DAE
(20)
豆瓣Paa s平台 dae - 2017
豆瓣Paa s平台 dae - 2017
Artifacts management with CI and CD
Artifacts management with CI and CD
当当网Docker应用实践
当当网Docker应用实践
Weic2015 docker
Weic2015 docker
Nodejs & NAE
Nodejs & NAE
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
Phalcon2014 Startup
Phalcon2014 Startup
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
The practice of enjoying apache
The practice of enjoying apache
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
docker intro
docker intro
Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
KSDG BaaS Intro
KSDG BaaS Intro
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
DAE
1.
DAE PyCon China 2013
2.
About Me • 洪强宁 /
hongqn • 2002年开始接触Python • 2004年开始完全使⽤用Python⼯工 作 • 2006年加⼊入⾖豆瓣,现任⾸首席架 构师 • www.douban.com/people/ hongqn/ • hongqn@douban.com
3.
议程 • DAE是什么 • 为什么要开发DAE • DAE的架构 • DAE的特点 • DAE的未来
4.
DAE是什么
5.
Douban Douban Adorable App Engineers Engine
6.
PaaS
7.
Platform as a
Service (PaaS)
8.
Private Python PaaS
9.
Current State
10.
427 apps 126 对外应⽤用
11.
bubbler.labs.douban.com
12.
m.douban.com
13.
douban.fm
14.
movie.douban.com
15.
group.douban.com
16.
code
17.
up
18.
花名册
19.
精灵宝钻
20.
…等等
21.
每天处理 2.4 亿动态请求 5K
峰值 qps on 32 nodes
22.
为什么要开发DAE
23.
代码拆分 1 big svn
repo (17万提交) 4602 git repo (2881 fork)
24.
重⽤用基础设施 Proj A Proj B Proj
C Proj D MySQL, BeansDB, Memcache, MQ …
25.
简化新项⺫⽬目启动 $ dae create $
dae serve $ dae deploy
26.
最佳实践对 每个app开箱即⽤用 分级上线 故障报告 持续集成 状态收集
27.
Scale SA 4
28.
DAE的架构
29.
app.yaml
30.
PyPI 镜像 pypi.douban.com pip-req.txt $ dae
install flask
31.
Instance • web • • service • • gunicorn gunicorn + customized
worker daemon • zookeeper
32.
两级结构 Load Balancer (nginx) Gateway
(nginx) fallback unix socket App (gunicorn) Node 1 Gateway (nginx) start App Starter App (gunicorn) Node 2 App Starter
33.
资源池API • • • • • • • • • • mysql memcache doubandb, doubanfs moosefs beanstalkd cdn statsd +
graphite mail elastic search irc waylife 监控API调⽤用
34.
DAE的特点
35.
Low Overhead • 资源分配 —
进程 • 资源隔离 — UNIX帐号 • 资源限制 — 外部监控
36.
Customizable • 每个应⽤用从模板⽣生成nginx配置 • 使⽤用 hook point
定制 • 或者只使⽤用⽣生成的 nginx 配置⽚片段
37.
⾃自依赖 • 通过⼀一个应⽤用部署应⽤用 • 通过⼀一个应⽤用管理应⽤用 • ⼀一个应⽤用 scale 所有应⽤用 • ⼀一个应⽤用
serve 跨应⽤用的静态⽂文件 • DAE 的代码托管在⼀一个 DAE 应⽤用上
38.
greenify 已开源 github.com/douban/greenify gevent • 默认启⽤用 • ⽀支持⻓长连接,如 websocket • 节省内存 • 很多坑
39.
Service 是⼀一等公民 thriftclient 即将开源 • Thrift • 在线客户端⽣生成 • 依赖注册 • 升级通知
40.
收集⼤大量状态数据
41.
内置最佳实践 cfgpusher 即将开源 • 错误收集 -
sentry • Code集成 • 在线 profile ⼯工具 • 打包发布 • 预发布环境 • 服务地址实时推送 • 持续集成 • 分级上线
42.
曹娥已开源 github.com/douban/CaoE 不受限的Python环境 • 可⽤用C扩展 • 可⽤用 fork, subprocess,
multiprocessing…
43.
DAE的未来
44.
⾖豆瓣所有应⽤用的平台
45.
cgroups
46.
离线⼤大数据计算
47.
更好的 service 体系
48.
跨 IDC
49.
QoS
50.
公有云服务?
51.
开源? 开源!
52.
谢谢!
Download now