Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
tsuru para quem sabe tsuru
Search
Andrews Medina
September 08, 2016
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
tsuru para quem sabe tsuru
apresentação feita sobre tsuru para quem já tem experiência com tsuru
Andrews Medina
September 08, 2016
More Decks by Andrews Medina
See All by Andrews Medina
Organizando dados juŕidicos em grafos
andrewsmedina
0
130
Clean Code - princípios e práticas para um código sustentável
andrewsmedina
0
740
Pytfalls
andrewsmedina
1
230
globo.com s2 python
andrewsmedina
5
410
tsuru and docker
andrewsmedina
6
3.6k
pypy - o interpretador mais rapido do velho oeste
andrewsmedina
0
440
fazendo deploys de forma simples e divertida com tsuru
andrewsmedina
3
170
let's go
andrewsmedina
2
330
TDD for Dummies
andrewsmedina
3
400
Other Decks in Technology
See All in Technology
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
0
430
シンプルな設定ファイルで実現する AWS IAM Identity Center の ユーザー管理Terraformフレームワークを公開しました / Simplifying AWS IAM Identity Center User Management: An Open-Source Terraform Framework
yamaguchitk333
0
320
200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜
katayamatg
0
170
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
270
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
160
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
310
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
160
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
mhlyc
0
120
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
200
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
1
1.4k
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
300
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
13k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
540
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Chasing Engaging Ingredients in Design
codingconduct
0
370
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
ラッコキーワード サービス紹介資料
rakko
4
5.5M
Tell your own story through comics
letsgokoyo
1
1.1k
Navigating Team Friction
lara
192
16k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
850
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
440
Transcript
tsuru para quem sabe tsuru
whoami
Objetivo Diminuir o tempo que uma aplicação entra em produção
Premissas • Boas práticas • Simplicidade • Extensibilidade • Escalabilidade
• Multilinguagem • Open source • No vendor lock-in
Premissas
tsuru na globo.com • 767 apps • 1,760 units •
~300 deploys por dia
tsuru na globo.com • globoplay.globo.com • cartolafc.globo.com • ...
Deploy
Deploy docker node tsuru api router
Deploy • Envio do código (push/app-deploy/tsuru-dashboard) • Build (instalação de
dependências, criação imagem, etc) • Start (adiciona units, verifica healthcheck, adiciona rotas) • Remove units antigas
E se algo falhar no processo de deploy? •
Deploy • Envio do código (push/app-deploy/tsuru-dashboard) • Build (instalação de
dependências, criação imagem, etc) • Start (adiciona units, verifica healthcheck, adiciona rotas) • Remove units antigas
E se algo falhar no processo de deploy? • o
deploy é interrompido automaticamente • A aplicação continua no estado em que estava antes do deploy
Deploy • Envio do código (push/app-deploy/tsuru-dashboard) • Build (instalação de
dependências, criação imagem, etc) • Start (adiciona units, verifica healthcheck, adiciona rotas) • Remove units antigas
Deploy • https://docs.tsuru.io/master/using/tsuru.yaml.html#healthcheck
Deploy healthcheck: path: /healthcheck method: GET status: 200 match: .*OKAY.*
allowed_failures: 0 use_in_router: false
Algo errado em produção?
Algo errado em produção? $ tsuru app-deploy-rollback
Algo errado em produção? $ tsuru app-deploy-rollback
Algo errado em produção? $ tsuru app-deploy-rollback
Instabilidades na aplicação?
Acessando uma app docker node router request
Instabilidades na aplicação? healthcheck: path: /healthcheck method: GET status: 200
match: .*OKAY.* allowed_failures: 0 use_in_router: true
Unit = Container Node = VM (com Docker)
Container Scheduling • Lib em Go para clusterização de nós
de Docker • https://github.com/tsuru/docker-cluster • Managed vs Unmanaged Nodes
Container Scheduling • Distribuição de containers • Disponibilidade • Otimização
de recursos
Container Scheduling App1 - 8 units
Container Scheduling App1 - 8 units
Container Scheduling App1 - 8 units App2 - 1 unit
Container Scheduling App1 - 8 units App2 - 1 unit
Managed nodes • Nodes criados com integração com IaaS (aws
/ Cloudstack)
Node auto scaling • Detecta sobrecarga de recursos (units/memoria)
Unit auto scaling • Serviço externo • Baseado em métricas
• Regras definidas pelo usuário
Healing • Managed nodes • Detecta que um nó caiu
e substitui
Healing
Healing
Healing
Healing
• Multi provisioner • Integração com Docker Swarm e Kubernetes
• Suporte a units com file system persistente Futuro
Perguntas?