SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Launching a Public PaaS on Open Source
Getup & OpenShift Origin
Mateus Caruccio - CEO
mateus.caruccio@getupcloud.com
@mateuscaruccio
First things first
3 gears grátis durante o FISL - para sempre o/
http://getupcloud.com | promo code: FISL14
perguntas e respostas no final
#getupfisl
ou no microfone como de costume
A Getup
Plataforma para desenvolvimento e hospedagem de aplicações na nuvem,
baseado em OpenShift Origin e com infraestrutura Amazon.
E por que entramos nessa?
Nós gostamos de programar
Programação e infraestrutura não se misturam
Queremos os desenvolvedores longe da infraestrutura
Trazer para o Brasil um serviço verdadeiramente self-service e "pay as you go"
chega de falsos cloud!
Por que escolhemos o OpenShift Origin?
Open Source - mandatório
No lock-in - portabilidade
Maturidade
Forte senso de comunidade - 8a
organização mais ativa no github*
Agnóstico à linguagens e frameworks
Confiança - projeto mantido por uma empresa com tradição OSS
*twitter.com/gnurag/status/348777656004800512
Repositório do OpenShift Origin
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
*github.com/openshift/origin-server/graphs/commit-activity
Repositório OpenShift Getup
Criamos o branch getup-openshift-origin-release-X
Desenvolvimento local
Componentes (broker/console/node/auth) rodam no host do programador
Adicionamos nossos bits (identidade visual, autenticação, billing)
Deploy em ambiente dev para teste / homologação
Deploy em produção
github.com/getupcloud/origin-server
Contribuição
Reportamos bugs para upstream via PR
Ajudamos com docs (migração cartridges v1 -> v2)
Artigos em português
Feedback
Nossa implementação na AWS
presença global / múltiplas zonas / vários produtos
EC2 - poder computacional
EBS - persistência
RDS -multi zona / escalável
Route53 - SLA 100% / plugin OpenShift
VPC - rede privada
CloudFormation - deploy automático
CloudWatch - monitoramento
CloudFormation + Puppet
Também precisamos de escalabilidade e para isso não podemos confiar em
humanos.
Buscar "zero intervenção manual"
CloudFormation atua na infraestrutura
Puppet atua nas instâncias
github.com/getupcloud/getup-cloudformation
github.com/getupcloud/getup-utils
CloudWatch - Monitoramento
Métricas padrão
CPU, memória, disco
Métricas OpenShift
No
global de apps, global de gears, gears por node
Alarmes
Email + SMS (Zenvia)
E como todo mundo sabe...
O disaster recovery não pode ser assim
Disaster Recovery
EBS everywhere!
Snapshot a cada 3 horas / ciclo 7 dias
MongoDB redundante - replicaset
Indisponibilidade de zona - nodes para outras zonas
RDS redundante - master / slave
Restauração mais rápida com cloudformation
OpenShift Origin - Prós e contras
Bom
Comunidade ativa
Amplos canais de suporte (irc, blog, fórum, mail-list, g+ e hangout)
Resposta rápida de suporte
Flexibilidade - cartridges customizados
Nem tão bom
Sem console web/usuário admin
Futuro
Abrir nosso script puppet
Gears maiores (1GB)
Novos cartridges
Integração com outros serviços (S3, CloudFront, Mailgun...)
Deploy de app em múltiplas regiões
Tradução do Console WEB
Novos gatilhos de auto-scale (atualmente apenas tráfego web)
Maior flexibilidade para equipes de desenvolvimento
Comunidade Getup
Como fazer parte da comunidade Getup
GitHub - github.com/getupcloud
Zendesk - getup.zendesk.com
Fizemos uma Megafoto
Entre lá para se marcar
http://megafoto-fisl.getup.io
Contatos
Getup Cloud
http://getupcloud.com
@getupcloud
http://www.slideshare.net/getupcloud
Mateus Caruccio - CEO
mateus.caruccio@getupcloud.com
@mateuscaruccio

Mais conteúdo relacionado

Destaque

Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftGetup Cloud
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao DockerGeorge Moura
 
PaaS na terra: Cloud Computing ao alcance de todos - QCON2014
PaaS na terra: Cloud Computing ao alcance de todos -  QCON2014PaaS na terra: Cloud Computing ao alcance de todos -  QCON2014
PaaS na terra: Cloud Computing ao alcance de todos - QCON2014Getup Cloud
 
Meetup OpenShift São Paulo
Meetup OpenShift São PauloMeetup OpenShift São Paulo
Meetup OpenShift São PauloGetup Cloud
 
Getup Gen2 - Nuvem para Negócios Digitais
Getup Gen2 - Nuvem para Negócios DigitaisGetup Gen2 - Nuvem para Negócios Digitais
Getup Gen2 - Nuvem para Negócios DigitaisGetup Cloud
 
Desenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaSDesenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaSGetup Cloud
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebMatheus Fidelis
 
Esclabilidade para Campanhas Digitais
Esclabilidade para Campanhas DigitaisEsclabilidade para Campanhas Digitais
Esclabilidade para Campanhas DigitaisGetup Cloud
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoTobias Sette
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerStefan Teixeira
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoSérgio Lima
 
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Giovanni Bassi
 

Destaque (20)

Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShift
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao Docker
 
PaaS na terra: Cloud Computing ao alcance de todos - QCON2014
PaaS na terra: Cloud Computing ao alcance de todos -  QCON2014PaaS na terra: Cloud Computing ao alcance de todos -  QCON2014
PaaS na terra: Cloud Computing ao alcance de todos - QCON2014
 
Meetup OpenShift São Paulo
Meetup OpenShift São PauloMeetup OpenShift São Paulo
Meetup OpenShift São Paulo
 
Getup Gen2 - Nuvem para Negócios Digitais
Getup Gen2 - Nuvem para Negócios DigitaisGetup Gen2 - Nuvem para Negócios Digitais
Getup Gen2 - Nuvem para Negócios Digitais
 
Desenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaSDesenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaS
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 
Esclabilidade para Campanhas Digitais
Esclabilidade para Campanhas DigitaisEsclabilidade para Campanhas Digitais
Esclabilidade para Campanhas Digitais
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
 

Semelhante a Launching Public PaaS OpenShift

Docker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na KonkerDocker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na KonkerAndré Rocha
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveispugpe
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestVictor Hugo Bilouro
 
Sim, existe vida além do FTP!
Sim, existe vida além do FTP!Sim, existe vida além do FTP!
Sim, existe vida além do FTP!Gustavo Pereira
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2Maurício Linhares
 
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFacebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFulvio Mascara
 
Introdução ao Testbed FIBRE e visão de futuro
Introdução ao Testbed FIBRE e visão de futuroIntrodução ao Testbed FIBRE e visão de futuro
Introdução ao Testbed FIBRE e visão de futuroFIBRE Testbed
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Jonathan Prates
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLJose Augusto Carvalho
 
Introdução a Microservices com Node.JS
Introdução  a Microservices com Node.JSIntrodução  a Microservices com Node.JS
Introdução a Microservices com Node.JSEduardo Nunes Pereira
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 
TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
TDCSP2019  - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...TDCSP2019  - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...Fulvio Mascara
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google CloudAlvaro Viebrantz
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOLAécio Pires
 

Semelhante a Launching Public PaaS OpenShift (20)

Docker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na KonkerDocker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na Konker
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveis
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression Test
 
Sim, existe vida além do FTP!
Sim, existe vida além do FTP!Sim, existe vida além do FTP!
Sim, existe vida além do FTP!
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
 
Migracao gae-openshift
Migracao gae-openshiftMigracao gae-openshift
Migracao gae-openshift
 
RHQ 4 Gerenciamento efetivo de servidores JBoss
RHQ 4 Gerenciamento efetivo de servidores JBossRHQ 4 Gerenciamento efetivo de servidores JBoss
RHQ 4 Gerenciamento efetivo de servidores JBoss
 
Estratégias de migração para cloud
Estratégias de migração para cloudEstratégias de migração para cloud
Estratégias de migração para cloud
 
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFacebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
 
Introdução ao Testbed FIBRE e visão de futuro
Introdução ao Testbed FIBRE e visão de futuroIntrodução ao Testbed FIBRE e visão de futuro
Introdução ao Testbed FIBRE e visão de futuro
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
Puppet webcast 4linux
Puppet webcast 4linuxPuppet webcast 4linux
Puppet webcast 4linux
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISL
 
Introdução a Microservices com Node.JS
Introdução  a Microservices com Node.JSIntrodução  a Microservices com Node.JS
Introdução a Microservices com Node.JS
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Quem e dev ops
Quem e dev opsQuem e dev ops
Quem e dev ops
 
TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
TDCSP2019  - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...TDCSP2019  - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google Cloud
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOL
 

Launching Public PaaS OpenShift

  • 1. Launching a Public PaaS on Open Source Getup & OpenShift Origin Mateus Caruccio - CEO mateus.caruccio@getupcloud.com @mateuscaruccio
  • 2. First things first 3 gears grátis durante o FISL - para sempre o/ http://getupcloud.com | promo code: FISL14 perguntas e respostas no final #getupfisl ou no microfone como de costume
  • 3. A Getup Plataforma para desenvolvimento e hospedagem de aplicações na nuvem, baseado em OpenShift Origin e com infraestrutura Amazon. E por que entramos nessa? Nós gostamos de programar Programação e infraestrutura não se misturam Queremos os desenvolvedores longe da infraestrutura Trazer para o Brasil um serviço verdadeiramente self-service e "pay as you go" chega de falsos cloud!
  • 4. Por que escolhemos o OpenShift Origin? Open Source - mandatório No lock-in - portabilidade Maturidade Forte senso de comunidade - 8a organização mais ativa no github* Agnóstico à linguagens e frameworks Confiança - projeto mantido por uma empresa com tradição OSS *twitter.com/gnurag/status/348777656004800512
  • 5. Repositório do OpenShift Origin 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 *github.com/openshift/origin-server/graphs/commit-activity
  • 6. Repositório OpenShift Getup Criamos o branch getup-openshift-origin-release-X Desenvolvimento local Componentes (broker/console/node/auth) rodam no host do programador Adicionamos nossos bits (identidade visual, autenticação, billing) Deploy em ambiente dev para teste / homologação Deploy em produção github.com/getupcloud/origin-server
  • 7. Contribuição Reportamos bugs para upstream via PR Ajudamos com docs (migração cartridges v1 -> v2) Artigos em português Feedback
  • 8. Nossa implementação na AWS presença global / múltiplas zonas / vários produtos EC2 - poder computacional EBS - persistência RDS -multi zona / escalável Route53 - SLA 100% / plugin OpenShift VPC - rede privada CloudFormation - deploy automático CloudWatch - monitoramento
  • 9. CloudFormation + Puppet Também precisamos de escalabilidade e para isso não podemos confiar em humanos. Buscar "zero intervenção manual" CloudFormation atua na infraestrutura Puppet atua nas instâncias github.com/getupcloud/getup-cloudformation github.com/getupcloud/getup-utils
  • 10. CloudWatch - Monitoramento Métricas padrão CPU, memória, disco Métricas OpenShift No global de apps, global de gears, gears por node Alarmes Email + SMS (Zenvia)
  • 11. E como todo mundo sabe...
  • 12. O disaster recovery não pode ser assim
  • 13. Disaster Recovery EBS everywhere! Snapshot a cada 3 horas / ciclo 7 dias MongoDB redundante - replicaset Indisponibilidade de zona - nodes para outras zonas RDS redundante - master / slave Restauração mais rápida com cloudformation
  • 14. OpenShift Origin - Prós e contras Bom Comunidade ativa Amplos canais de suporte (irc, blog, fórum, mail-list, g+ e hangout) Resposta rápida de suporte Flexibilidade - cartridges customizados Nem tão bom Sem console web/usuário admin
  • 15. Futuro Abrir nosso script puppet Gears maiores (1GB) Novos cartridges Integração com outros serviços (S3, CloudFront, Mailgun...) Deploy de app em múltiplas regiões Tradução do Console WEB Novos gatilhos de auto-scale (atualmente apenas tráfego web) Maior flexibilidade para equipes de desenvolvimento
  • 16. Comunidade Getup Como fazer parte da comunidade Getup GitHub - github.com/getupcloud Zendesk - getup.zendesk.com
  • 17. Fizemos uma Megafoto Entre lá para se marcar http://megafoto-fisl.getup.io