Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PaaS - OpenShift como plataforma pública

Avatar for Getup Cloud Getup Cloud
November 30, 2013

PaaS - OpenShift como plataforma pública

OpenShift por baixo do capo, como funciona, quais os componentes, arquitetura e escalabilidade.

Avatar for Getup Cloud

Getup Cloud

November 30, 2013
Tweet

More Decks by Getup Cloud

Other Decks in Technology

Transcript

  1. Quem sou Mateus Caruccio, Master of Puppets @ Getup Cloud

    (.com) Linux User #183552 Programador backend com passagens por - Terra Networks - GPARC (PUC-RS) - T&T Engenheiros Associados (HP Brasil) Pythonista por opção DevOps desde 11/2012
  2. Nuvem pra todo lado Termo um tanto vago - mais

    falado do que o rei do camarote Meu pai adora "mandar essas fotos pra nuvem" Eu já fazia FTP em 1997! Afinal, o que é nuvem?
  3. Nuvem é... ...ninguém sabe ao certo. Usar o gmail/facebook/twitter/whatever é

    nuvem? Subir arquivo no dropbox? Contratar uma VPS (locaweb, kinghost, etc)? Comprar e montar sua infra na amazom?
  4. Menos é mais Se eu uso webmail, não quero saber

    como o software funciona Eu quero enviar e receber emails! Se eu ofereço webmail, não quero configurar firewall/balanceador/SO/etc Eu quero programar meu software! Se eu provisiono infra-estrutura, não quero manter a usina elétrica
  5. Known your *aaS SaaS - Software-as-a-Service - Produto final, usuário

    PaaS - Platform-as-a-Service - Ambiente para o dev = fácil, ágil, flexível IaaS - Infrastructure-as-a-Service - VM, SO, rede, roteador, firewal...
  6. OpenShift Origin é PaaS Roda sobre (praticamente qualquer) infra-estrutura: •

    EC2 • Rackspace • Bare Metal • OpenStack • VMWare
  7. OpenShift Origin - Projeto • 100% Open Source: github.com/openshift/origin-server •

    No lock-in - portabilidade entre diferentes implementações • Projeto maduro - 1˚ commit em 20/12/2010 - 14634 commits (29/11/2013) • 8a organização mais ativa no github* (06/2013) - 72 contribs • Agnóstico a linguagens e frameworks • Mantido principalmente pela Red Hat * twitter.com/gnurag/status/348777656004800512
  8. OpenShift Origin - Repositório e Releases Branch master - commits

    frenéticos*, desenvolvimento de features Branch openshift-origin-release-X - versão estável e ciclo definido (~3 meses) * github.com/openshift/origin-server/graphs/commit-activity
  9. OpenShift - Aplicação OpenShift entrega aplicação, não servidor Composta por

    - Gear - Cartridge Tipos - Escalável - Não Escalável
  10. OpenShift - Gear Aplicação é composta por 1 ou +

    gears Unidade básica computational: RAM + CPU + Disco Isolamento via labels SELinux Provisionamento de recursos via cgroups Cada gear é um usuário Linux
  11. OpenShift - Cartridge Funcionalidade adicionada ao gear Exemplos: Apache +

    mod_php/mod_passenger Python (wsgi) NodeJS (npm) Java (JBoss/Tomcat)
  12. OpenShift - Cartridge Fácil de escrever - conjunto de scripts

    + software opcional Repositório público (github está cheio de exemplos) Formato: metadata/manifest.yml Spec do cartridge (nome, versão, url, vendor, etc) bin/ Scripts de Instalação, configuração e atualização hooks/ Scripts de troca de mensagem entre cartridges (env vars) env/ Env vars exportadas para o gear versions/ Arquivos específicos do cartridge (binários, configs, etc) template/ Repo git inicial do da aplicação (cartridges de linguagens)
  13. OpenShift - Quickstart Aplicação com receita pronta: criar e usar

    Ex: Wordpress (Cartridge PHP + Cartidge MySql)
  14. OpenShift - Arquitetura Broker - Provisiona apps (gear, DNS, storage,

    …) - Autenticação - Bilhetagem - Interface REST para clientes (RHC, Web Console, curl, etc) MongoDB - Autenticação - Info de apps (nome, qtd gears, etc) - Usage stats Node hospeda os gears