Slide 1

Slide 1 text

   CloudFoundry  –  Pla.orm  as  a   Service  Open-­‐Source       Robson  Mendonça   fisl/2013  

Slide 2

Slide 2 text

Agenda   •  A  web  em  camadas   •  MaaS   •  IaaS   •  PaaS   •  CloudFoundry  por  dentro  

Slide 3

Slide 3 text

A  web  em  camadas  

Slide 4

Slide 4 text

A  web  em  camadas  

Slide 5

Slide 5 text

A  web  em  camadas   Pirâmide da Responsabilidade

Slide 6

Slide 6 text

A  web  em  camadas   }

Slide 7

Slide 7 text

Metal as a Service (MAAS) brings the language of the cloud to physical servers. http://maas.ubuntu.com

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Provisionamento Físico TFTP PXE DHCP

Slide 10

Slide 10 text

Provisionamento Físico TFTP PXE Provisionamento Configurações apt-get setup serviços

Slide 11

Slide 11 text

IaaS   •  Compute   –  Virtualização   –  Provisionamento  e  configuração  

Slide 12

Slide 12 text

IaaS   •  Compute   –  Virtualização   –  Provisionamento  e  configuração   •  Network   –  VPN   –  Security  Groups  

Slide 13

Slide 13 text

IaaS   •  Compute   –  Virtualização   –  Provisionamento  e  configuração   •  Network   –  VPN   –  Security  Groups   •  Storage   –  CDN   –  Backups   –  Snapshots   –  Drivers  de  armazenamento  

Slide 14

Slide 14 text

PaaS   Platform as a Service é um tipo de serviço que permite você fazer em escala, o que em casa seria impossível.

Slide 15

Slide 15 text

Render  Farm  =  PaaS  

Slide 16

Slide 16 text

PaaS  -­‐  Vantagens   •  Zero provisionamento •  Monitoria Integrada •  Escalabilidade sob-demanda •  Balanceamento de carga auto gerenciado •  Integração de serviços (Add-ons)

Slide 17

Slide 17 text

Soluções  existentes  

Slide 18

Slide 18 text

CloudFoundry   Solução de PaaS open-source desenvolvida pela VMWare http://cloudfoundry.org

Slide 19

Slide 19 text

CloudFoundry  -­‐  Componentes   •  Cloud Controller - Responde ao CLI •  Execution Agent (DEA) •  Gerencia o ciclo de vida de uma instância •  Monitora instâncias iniciadas •  Propaga mensagens de estado das instâncias •  Health Manager •  Monitora estado de aplicações •  Assegura-se de que as aplicações estão rodando conforme desejado. •  Messaging (NATS) •  Sistema de fila de mensagens distribuído •  publish-subscribe

Slide 20

Slide 20 text

CloudFoundry  -­‐  Componentes   •  (Go)Router •  Direciona o trafego para os componentes corretos •  Cloud Controller •  Droplet Execution Agent (DEA) •  Stacks •  Sistema de arquivos de Prebuilt •  Incluíndo sistema operacional (Vagrant) •  User Account and Authentication (UAA) Server •  Warden •  API para gerência de isolamento de ambientes. •  Substituto do LXC •  Services •  Qualquer add-on que possa ser provisionado.

Slide 21

Slide 21 text

CloudFoundry  -­‐  Componentes   •  Cloud  Controller  =  Sinatra  app   •  GoRouter  =  CloudFoundry  Router   implementado  com  a  linguagem  Go   •  Droplet  Execu2on  Agent  =  Ruby  App   •  Health  Manager  =  Ruby  App   •  MessageBus  =  NATS  

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Staging  Proccess   2 Instances 1GB RAM 1 Database 1 Worker

Slide 36

Slide 36 text

Deploy  com  o  CF   $  gem  install  cf   $  cf  target  api.run.pivotal.io   $  cf  login   email>   password>   $  cf  push  [appname]  -­‐-­‐buildpack=[git  url]  

Slide 37

Slide 37 text

Deploy  com  o  CF   $  cf  push  [appname]  -­‐-­‐buildpack=[git  url]   Name>   Instances>   Memory  limit>   Domain>   Create  services>   Bind  services>   OK  

Slide 38

Slide 38 text

Monitoria  com  o  CF   $  cf  health  appname   $  cf  stats  appname   $  cf  logs  appname   $  cf  tail  appname   $  cf  crashlogs  appname  

Slide 39

Slide 39 text

Sandbox   h\p://run.pivotal.io     Cria  uma  conta  e  manda  ver!  

Slide 40

Slide 40 text

Sandbox   •  Micro  CloudFoundry   – Ainda  não  está  disponível  para  a  V2   – VM  com  Cloud  Foundry  pronto  pra  ser  usado   •  h\p://vagrantup.com   – Baixar  o  código  e  rodar  com  VirtualBox   – Dá  um  trabalho  danado  =(  

Slide 41

Slide 41 text

Já  falei  de  mais,  estou  cansado  

Slide 42

Slide 42 text

Vou  para  o  Panorama  comer  uma   panqueca  no  maçarico  

Slide 43

Slide 43 text

Muito  Obrigado!     @robsonmwoc   Twi\er  –  Github  –  Coderwall   h\p://tet.com.br