Postagens

Mostrando postagens de maio, 2019

Leading The Transformation - Applying Agile and DevOps Principles at Scale

Imagem
Meu principal "take away" deste livro: A principal mensagem que eu tirei deste livro foi com relação à abordagem de como se implantar "Agile e princípios de DevOps" em uma empresa de grande porte (time de desenvolvimento > 100 pessoas).  Em uma abordagem mais tradicional de implantação, a implantação começaria no nível de "time" de desenvolvimento, iniciando em um pequeno time, usando um projeto como "piloto" e a partir das experiências e aprendizados deste time, ir expandindo para toda a corporação. O livro defende uma abordagem diferente, mais holística. Ele defende que a implantação deve iniciar em um nível mais alto dentro da organização, tendo os executivos/gerentes liderando a transformação. Estes caras deveriam estabelecer os " business objectives " e rodar um processo de melhoria contínua. O foco deveria ser no planejamento , criando um framework de priorização do trabalho entre os times de acordo com...

Distributed Tracing - Uber

Imagem
Participei de um meetup no Uber, sobre "Distributed Tracing" usando a ferramenta Jaeger, desenvolvida pelo próprio time  do Uber e que virou open source em 2017.  Para quem não conhece, distributed tracing é o antigo conceito de tracing, porém agora dentro da realidade de microservices, onde vc pode ter diferentes serviços implementados em diferentes linguagens e frameworks e você precisa fazer o tracking de um request por exemplo. No caso do Uber, eles tem mais de 3000 microservices (pelo menos eles dizem que tem :)).  Segue um dos links compartilhados, para aqueles que tiverem interesse: https://eng.uber.com/distributed-tracing/ https://www.jaegertracing.io/

Entendendo o conceito de Error Budget: como o Google lida com o downtime

Imagem
Um dos tópicos que chama a atenção no livro "SRE - How Google Runs Production Systems” é o conceito de Error Budget, que, de forma resumida, é a maneira como os times do Google lidam com o downtime dos seus serviços. O downtime está relacionado ao tempo em que um serviço fica indisponível, seja por falha no serviço, na infra-estrutura ou pelo lançamento de uma nova versão. Antes de entender melhor o conceito, vamos entender o que está por trás dele. Mas aqui vai um “disclaimer”: este artigo não tem a intenção de ir fundo no tema, mesmo por que este é um tema complexo e existem toneladas de informação na internet. A intenção aqui é explicar o conceito de forma simples e lógica, algo que eu percebi que não é fácil encontrar sobre o assunto. “Abraçando o Risco” A disponibilidade de um serviço é tradicionalmente medida pelo tempo em que o sistema fica disponível em um determinado período. Tradicionalmente utilizamos valores como 99.9% (significa que o servi...