Dualtec Open Stack Meeting: Agilidade + Cloud
-
Upload
fabio-akita -
Category
Technology
-
view
519 -
download
0
description
Transcript of Dualtec Open Stack Meeting: Agilidade + Cloud
Agilidade + CloudCiclo de Trabalho para Aplicações Escaláveis
THE FOLLOWING HAS BEEN APPROVED FOR HORROR-MINDED AUDIENCES
EXPLICIT LANGUAGE, GRAPHIC VIOLENCE, GORE, SUFFERING, (BUT NO NUDITY)
The Twelve-Factor Apphttp://12factor.net/
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
production
staging
developer 1
developer 2
Codebase Deploys
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Production!Deploy
Postgresql
Sendgrid AWS S3
Twitterpostgres://auth@host/db
smtp://auth@host
postgres://[email protected]
postgres://[email protected]/bucket
Attached Resources
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Codebase
Release
Build
Config!{}
git push heroku master
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Application!(Box 1)
Application!(Box 2)
Application!(Box 3)
AWS S3 Memcachier
User Browser
Application!(Box 1)
Application!(Box 2)
Application!(Box 3)
AWS S3 Memcachier
User Browser
Application!(Box 1)
Application!(Box 2)
Application!(Box 3)
AWS S3 Memcachier
User Browser
Application!(Box 1)
Application!(Box 2)
Application!(Box 3)
AWS S3 Memcachier
User Browser
Application!(Box 1)
Application!(Box 2)
Application!(Box 3)
AWS S3 Memcachier
User Browser
Application!(Box 1)
Application!(Box 2)
Application!(Box 3)
AWS S3 Memcachier
User Browser
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
web.1 worker.1 scheduler.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.1 worker.1 scheduler.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2
web.1 worker.1 scheduler.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2 worker.2
web.1 worker.1 scheduler.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2 worker.2
worker.3
worker.4
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
web.1 worker.1 scheduler.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2 worker.2
worker.3
worker.4
worker.1 scheduler.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2
worker.4
web.3
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
Codebase in GIT Build, release, run Disposability
Explicit and Isolated Dependencies
Stateless Processes
Dev/prod Parity
Config in ENV Port Binding Log Streams
Backing Services as Attached Resources
Scale-Out Concurrency
One-off Admin Processes
web.1 worker.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2 worker.2
worker.3
worker.4
web.3
web.1 worker.1 console.6893
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2 worker.2
worker.3
worker.4
web.3
web.1 worker.1
Workload Diversity (process types)
Scal
e (r
unni
ng p
roce
sses
)
web.2 worker.2
worker.3
worker.4
web.3
3 anos (set/11 - jul/13)
3 anos (set/11 - jul/13)
72 repos (97 total)
3 anos (set/11 - jul/13)
72 repos (97 total)
432k LOC (157k LOC Ruby)
3 anos (set/11 - jul/13)
72 repos (97 total)
432k LOC (157k LOC Ruby)
+60 apps Heroku
OBRIGADO!slideshare.net/akitaonrails
@akitaonrails