Tsuru

Sobre

Tsuru é uma plataforma como serviço (PaaS) open source, extensível e focada em produtividade de desenvolvedores. A proposta é tirar do time de aplicação a responsabilidade de manter infraestrutura e configurações extensas, permitindo que ele se concentre no código e no negócio. É construído sobre tecnologias do ecossistema da CNCF (Kubernetes) e licenciado sob BSD de 3 cláusulas, sem código proprietário.

Usado por empresas como Globo, Hotel Urbano, Eduk, Filmow, Jumia e Stone.

Principais Recursos

  • Rode qualquer coisa — vai além de apps 12-factor; aceita qualquer linguagem ou framework (plataformas nativas para Go, Python, Node.js, React etc., ou deploy via Dockerfile).
  • Deploy rápido e seguro — deploy com um único comando, facilitando entrega contínua.
  • Autoscaling — escala dinamicamente conforme a demanda e economiza recursos em períodos de baixo uso.
  • Integração com serviços gerenciados — bancos, message brokers, object storage etc., via API de services.
  • Multi cluster/região e multi-cloud — gerencia apps distribuídos em vários clusters Kubernetes a partir de um ponto único de controle.
  • Sem vendor lock-in — todo o stack é open source.

Funcionamento

  • Instalação local com minikube ou em GKE (ver Referências).
  • Cliente de linha de comando: tsuru (guia “Install client”).
  • Configuração da aplicação por arquivos como tsuru.yaml e Procfile.
  • Administração organizada em clusters, pools, plataformas, roles e teams.
  • Serviços externos são expostos ao app pela variável de ambiente TSURU_SERVICES.

Casos de Uso

  • Criar um PaaS interno sobre Kubernetes para times de produto.
  • Padronizar o deploy de múltiplas linguagens em uma única plataforma.
  • Operar aplicações distribuídas em vários clusters ou regiões.

Público-alvo

Times de plataforma/infraestrutura que querem oferecer uma experiência estilo Heroku sobre Kubernetes próprio, e desenvolvedores que desejam deploy simples sem lidar com manifests.

Limitações

  • Nota baseada na home page e na página inicial da documentação; não foram consultados os guias detalhados, a arquitetura interna nem o repositório.

Referências