Post on 03-Jul-2015
description
MATEUS CARUCCIO - CEO mateus.caruccio@getupcloud.com
OPENSHIFT ORIGIN INDEX
PYTHON E FLASK NA PRÁTICA
Eu sou
Mateus Caruccio, CEO @ Getup Cloud (.com) !Linux User #183552 !
Programador backend (Terra, GPARC, T&T Eng.) !
Pythonista por opção !
DevOps desde 11/2012
Cardápio do Dia
• Computação em Nuvem - IaaS/PaaS/SaaS
• OpenShift Origin
• OO-Index
Computação em Nuvem
Muito se fala
Pouco se vê... será?
Computação em Nuvem
Nuvem == Abstração == Serviço
!
Menos é mais
- preocupação com ambiente
+ foco no seu contexto
!
Oferece
API + Self Service + Pay as you go
Computação em Nuvem
Conheça seu *aaS
!
SaaS -> Software-as-a-Service
Produto final, usuário - Gmail, DropBox, GitHub
!
PaaS -> Platform-as-a-Service
Ambiente para o dev = fácil, ágil, flexível - OpenShift, Heroku, AppFog
!
IaaS -> Infrastructure-as-a-Service
VM, SO, rede, roteador, firewall - Amazon, Rackspace, Digital Ocean
OpenShift Origin
• 100% Open Source: github.com/openshift/origin-server
• No lock-in - portabilidade entre diferentes implementações
• Projeto maduro - 1º commit em 12/2010 - 15K commits
• 5º repo com + PRs aceitos em 2013
• Agnóstico a linguagens e frameworks
• Auto-escalável
• Mantido principalmente pela Red Hat
OpenShift Origin
Roda sobre (praticamente qualquer) infra-estrutura:
• EC2
• Rackspace
• Digital Ocean
• King Host
• Bare Metal
• OpenStack
• VMWare
OpenShift Origin
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
OpenShift Origin
Cartucho
• Funcionalidade adicionada ao gear
• Exemplos:
‣ PHP
‣ Ruby
‣ Python
‣ NodeJS
‣ Java (JBoss/Tomcat)
OpenShift Origin
Cartucho
• Conjunto de scripts + software opcional
• Repositório público (github está cheio de exemplos)
• Formato simples
• Tipos: web ou addon
OpenShift Origin
Cartucho - Diretórios mais importantes
metadata/ Spec do cartucho (nome, versão, url, vendor, etc)
bin/ Scripts de Instalação, configuração e atualização
hooks/ Scripts de troca de mensagem entre cartuchoes (env vars, flag, etc)
versions/ Arquivos específicos do cartridge (binários, configs, etc)
template/ Repo git inicial da aplicação (catuchos de linguagens)
OpenShift Origin
Quickstart
• Aplicação com receita pronta para criar e usar
• Exemplos:
• Wordpress (Cartucho PHP + Cartucho MySQL)
• RoR (Cartucho Ruby + Gems + Cartucho DB)
• Flaks (Cartucho Python + modulo flask)
OpenShift Origin
OO-Index
Projeto desenvolvido pela comunidade
github.com/openshift/oo-index
Indice de cartuchos e quickstarts
Baseado em Pull Requests (PRs) para inclusão de novas entradas
Escrito em Python/Flask
OO-Index
• Idéias
• Testes/code review
• Novas features
• Listagem completa
• Interface + amigável para adm
• Validação de entrada
• Comentários
• Sistema de votação
Contribuições