25
tsuru O PaaS open source Francisco Souza @franciscosouza

tsuru: o PaaS open source

Embed Size (px)

DESCRIPTION

Palestra sobre o tsuru apresentada durante o DevDay 2014, em Belo Horizonte, no dia 01 de Novembro de 2014

Citation preview

Page 1: tsuru: o PaaS open source

tsuruO PaaS open source

Francisco Souza @franciscosouza

Page 2: tsuru: o PaaS open source

what the f**rancisco?!

• Desenvolvedor @ Globo.com

• Open source fanboy

Page 3: tsuru: o PaaS open source

tsuru?

Page 4: tsuru: o PaaS open source

Premissas

• Boas práticas

• Simplicidade

• Extensibilidade

• Escalabilidade

• Multiplataforma

• Open source

• No vendor lock-in

Page 5: tsuru: o PaaS open source

Demo

Page 6: tsuru: o PaaS open source

O que aconteceu?• app-create

Page 7: tsuru: o PaaS open source

O que aconteceu?• git push tsuru master

Page 8: tsuru: o PaaS open source

O que aconteceu?• Acessar http://hello.devday.souza.cc

Page 9: tsuru: o PaaS open source
Page 10: tsuru: o PaaS open source

Arquitetura

• Alta disponibilidade

• Segregação

• Segurança

• Escalabilidade

Page 11: tsuru: o PaaS open source

Arquitetura

Page 12: tsuru: o PaaS open source

Contribuindo

Page 13: tsuru: o PaaS open source

github.com/tsuru

Page 14: tsuru: o PaaS open source

tsuru• Coração do PaaS

• API

• Comunicação com Docker, EC2 e CloudStack

• Configuração do Hipache

• Integração com Gandalf

• Go

Page 15: tsuru: o PaaS open source

Gandalf

• Gerenciamento de repositórios Git

• Criação, remoção e autorização via HTTP

• Controle de acesso por SSH

• Go

Page 16: tsuru: o PaaS open source

basebuilder

• Plataformas utilizadas no tsuru

• Adicione sua linguagem favorita aqui :)

• Dockerfile + Shell

Page 17: tsuru: o PaaS open source

tsuru-dashboard• Dashboard web para o tsuru

• Visualização de métricas

• Gerenciamento de apps

• Administração da cloud

• Python (Django) + JavaScript

Page 18: tsuru: o PaaS open source

tsuru-circus

• Plugins do tsuru para coleta de logs, injeção de variáveis de ambiente e notificação de status dos processos da aplicação

• Python

Page 19: tsuru: o PaaS open source

tsuru-unit-agent• Agente que roda dentro das unidades da

aplicação

• Injeção de variáveis de ambiente

• Execução de hooks de deploy

• Registro de units na API do tsuru

• Python

Page 20: tsuru: o PaaS open source

docker-cluster

• Lib de clusterização de containers no Docker

• Lógica personalizável de scheduling

• Detecção e correção automática de falhas em nós do cluster

• Go

Page 21: tsuru: o PaaS open source

config

• Lib de gerenciamento de configuração utilizando YAML

• Go

Page 22: tsuru: o PaaS open source

Page 23: tsuru: o PaaS open source

Menção honrosa

github.com/fsouza/go-dockerclient

Page 24: tsuru: o PaaS open source

Dig it!

• Passo a passo: docs.tsuru.io/en/latest/installing

• tsuru-bootstrap: github.com/tsuru/tsuru-bootstrap

Page 25: tsuru: o PaaS open source

tsuru: o PaaS open source

Francisco Souza @franciscosouza slideshare.net/franciscosouza [email protected]

tsuru.io

globo .com