Slide 1

Slide 1 text

Saturday, March 30, 13

Slide 2

Slide 2 text

Fazendo uma App usando a metodologia dos ’12 elementos’ Saturday, March 30, 13

Slide 3

Slide 3 text

Backgroung • IaaS e PaaS • O mundo nas nuvens • Idealizados por usuários de PaaS Saturday, March 30, 13

Slide 4

Slide 4 text

Codebase Saturday, March 30, 13

Slide 5

Slide 5 text

Saturday, March 30, 13

Slide 6

Slide 6 text

Saturday, March 30, 13

Slide 7

Slide 7 text

Dependencies • Declare suas dependências no Makefile.PL • bin/bootstrap.sh • http://bit.ly/thesetup_vimeo Saturday, March 30, 13

Slide 8

Slide 8 text

Saturday, March 30, 13

Slide 9

Slide 9 text

Dependencies • local::lib • cartoon • Use versões de modulos que você testou Saturday, March 30, 13

Slide 10

Slide 10 text

Config • Guarde suas configs em variáveis de ambiente • $ENV[‘FOO’] Saturday, March 30, 13

Slide 11

Slide 11 text

Saturday, March 30, 13

Slide 12

Slide 12 text

Backing Services Saturday, March 30, 13

Slide 13

Slide 13 text

Build, Release and run Saturday, March 30, 13

Slide 14

Slide 14 text

Processes • Trate cada parte de sua aplicação como uma aplicação unica que não compartilha estado • Evite “Sticky Session” Saturday, March 30, 13

Slide 15

Slide 15 text

Port Binding • Aplicações auto-contidas • Consegue rodar em userspace • Coloque o starman no seu Makefile.PL Saturday, March 30, 13

Slide 16

Slide 16 text

Concurrency Saturday, March 30, 13

Slide 17

Slide 17 text

Disposability • Sua App precisa ter um start/restart/stop script • Inicia sozinha e bem rápido • monit Saturday, March 30, 13

Slide 18

Slide 18 text

Saturday, March 30, 13

Slide 19

Slide 19 text

Dev/Prod parity • Devops • deploy continuo Saturday, March 30, 13

Slide 20

Slide 20 text

Logs • event stream • pipeline Saturday, March 30, 13

Slide 21

Slide 21 text

Saturday, March 30, 13

Slide 22

Slide 22 text

logstash Saturday, March 30, 13

Slide 23

Slide 23 text

Saturday, March 30, 13

Slide 24

Slide 24 text

Saturday, March 30, 13

Slide 25

Slide 25 text

Logs • Metricas para eventos • https://github.com/heroku/pulse • logrouters • http://github.com/heroku/logplex • http://github.com/heroku/fluentd Saturday, March 30, 13

Slide 26

Slide 26 text

Admin Process • Processos em administrativos deve usar a mesma base de codigo da App • bin/cleanoldstuff.pl • Aproveita o seu DB::Schema Saturday, March 30, 13

Slide 27

Slide 27 text

Conclusão • Nem tudo aqui pode se aplicar para você. • ...mas algumas coisas já são mais que ‘Boas Praticas’ e já caem no “Você não faz assim?” Saturday, March 30, 13