Observabilidade como o pilar de grandes arquiteturas
Este post é baseado em uma palestra que apresentei no KCD Floripa 2024. Você pode conferir os slides e o video da apresentação, caso prefira este formato.
Este post é baseado em uma palestra que apresentei no KCD Floripa 2024. Você pode conferir os slides e o video da apresentação, caso prefira este formato.
O Encore.go já está no meu “radar” tem um bom tempo, quando seu belo site e exemplos chamaram minha atenção em uma notícia no Hacker News. Mas minha empolgação realmente aumentou após este post publicado em Dezembro de 2024. Nele é anunciado que o framework, inicialmente vinculado à ferramenta Encore Cloud, iria se tornar um projeto independente. Eu acredito que essa decisão vai tornar o framework mais atrativo para empresas e desenvolvedores que queiram usá-lo em seus ambientes já existentes. Nada contra o Encore Cloud, que parece ser uma solução muito interessante e robusta, mas esta liberdade de escolha favorece a adoção em empresas de diferentes tamanhos.
Dezembro é aquela época do ano onde fazemos uma revisão de tudo que se passou nos últimos 12 meses. Confesso que sou fã das retrospectivas que passam na TV, a lista de músicas mais ouvidas (geradas pelo Apple Music no meu caso), jogos (ainda não saiu a da PSN) e livros que li durante o ano.
Em ambientes complexos é relativamente comum a adoção de uma arquitetura orientada a eventos (Event-driven architecture, ou EDA) para aumentar a escalabilidade e reduzir o acoplamento entre os componentes/serviços.
Este post faz parte de uma tradição que comecei 10 anos atrás! De tempos em tempos eu faço uma lista dos aplicativos e serviços que uso no dia a dia e compartilho na forma destes posts. Descobrir novos apps é algo que eu adoro, então posso ajudar alguém que tem o mesmo gosto por novidades.
Vou começar esse post com um pouco de história. Lá pelo começo da década de 2010, o hype do momento era o conceito de APIs e API-first. É algo que parece trivial hoje em dia, mas precisamos lembrar que a tecnologia vigente antes disso era o SOAP e seus arquivos XML gigantes. Então, APIs leves usando JSON e respeitando os conceitos REST, que tinham sido inventados alguns anos antes, eram uma evolução enorme.
Vamos começar pelo princípio… O que é resiliência? Gosto da definição deste post:
A capacidade intrínseca de um sistema de ajustar seu funcionamento antes, durante ou depois de mudanças e perturbações, de modo que ele possa sustentar as operações necessárias sob condições esperadas e inesperadas.
Quando pensamos em comunicação entre serviços/microsserviços a primeira opção que vem na nossa mente é o bom e velho JSON. E isso não é sem razão, pois o formato tem vantanges, como:
Em Maio deste ano, graças ao programa Google Developer Experts, tive a oportunidade de participar do Google I/O em Mountain View/Califórnia. Dentre as várias talks que assisti, uma das minhas preferidas foi a Boost performance of Go applications with profile guided optimization, que você pode assistir no Youtube.
Começando do começo: o que é o make? Presente em todas as distribuições Linux e derivados do Unix como o macOS, o manual da ferramenta a descreve como: