Autenticação de usuários com OAuth 2.0 e OpenID Connect

Para muitos desenvolvedores a arquitetura microservices é uma realidade e faz parte do dia a dia. Desde o surgimento do termo, meados de 2014 (Figura 1), o assunto vem ganhando força e notoriedade. Figura 1 - Google trends do termo microservices Essa arquitetura traz diversos benefícios, mas estes vêm com um preço. Talvez o mais … Continue lendo Autenticação de usuários com OAuth 2.0 e OpenID Connect

Pipenv e a gestão do ambiente Python

An old book store from the city of Bilbao.

O dito popular "sobre os ombros de gigantes" pode ser entendido como o ato de obter vantagens através de experiências anteriores. No mundo do software, o que produzimos sempre se beneficia de algo já disponível. Cada trecho de código gerado depende de funcionalidades existentes, sejam na biblioteca nativa ou em módulos externos. No ambiente Python, … Continue lendo Pipenv e a gestão do ambiente Python

Escutando os quatro sinais de ouro do SRE: usando Nginx + Prometheus + Grafana

Nós últimos anos muito vem se falando sobre o termo SRE (Site Reability Engineering). Várias empresas criaram o papel do Engenheiro de Resiliência em seu organograma, é um papel fundamental para que grandes sistemas atinjam um nível alto de confiabilidade e tenham um nível de frustração baixo mesmo durante momentos de mudanças e lançamento de … Continue lendo Escutando os quatro sinais de ouro do SRE: usando Nginx + Prometheus + Grafana

Lidando com profissionais em formação

Estagiários e juniores costumam ser novos entrantes no mercado de trabalho, como eu fui. Comecei minha carreira aqui, na Globo.com, como um estagiário de desenvolvimento de software. Durante meu estágio aprendi - tanto por exemplos e contraexemplos - algumas características importantíssimas ao processo de aprendizado para uma função. Creio que esse conhecimento adquirido possa fomentar … Continue lendo Lidando com profissionais em formação

Machinery – Asyncronous tasks em Go

Atualmente, devido à performance dos servidores, as aplicações web e seus sistemas subjacentes estão cada vez mais rápidos e responsivos. No entanto, ainda há muitos casos no qual é necessário fazer a execução de uma tarefa pesada em outras partes de toda a arquitetura do sistema, ao invés de executa-las na thread principal. Abaixo listo … Continue lendo Machinery – Asyncronous tasks em Go

Hoverfly – Simulando suas dependências

Atualmente, com o advento dos microservices, é muito comum que aplicações dependam de serviços internos ou de terceiros. Por exemplo, um e-commerce pode depender de um serviço de terceiros para processar pagamentos com cartão ou de uma rede social para fornecer autenticação. Esses tipos de aplicações normalmente são desafiadores para serem testados isoladamente, visto que suas dependências podem … Continue lendo Hoverfly – Simulando suas dependências

Como implementar um sistema distribuído de throttling com Nginx + Lua + Redis

Gráfico dos experimentos sobre o sistema de throttling

  No último Hackaton da Globo.com, nós implementamos uma biblioteca Lua bastante simples para prover um sistema distribuído (baseado em Redis) para medição de taxas no Nginx. Mas antes de explicarmos o que fizemos, vamos começar entendendo o problema que um sistema de throttling tenta resolver e algumas implementações possíveis. Suponha que acabamos de construir … Continue lendo Como implementar um sistema distribuído de throttling com Nginx + Lua + Redis

Containers na Globo.com – O início

Este é o primeiro de uma série de artigos contando como foi a adoção de containers pela Globo.com. O conteúdo da série é baseada em uma palestra realizada na QCon São Paulo 2018. https://www.youtube.com/watch?v=K1qV_BcD5oU A globo.com possui mais de 1800 aplicações utilizando um total de 4600 containers em mais de 600 máquinas virtuais e mais … Continue lendo Containers na Globo.com – O início

Usando os dados para transformar a Globo.com

Nós da Globo.com lidamos com os dados de nossos usuários com muito cuidado e segurança. Todo o processo de captura e processamento precisa ser cuidadosamente anonimizado para garantir que nossos usuários não sejam identificados. Atualmente temos aproximadamente 100 milhões de usuários acessando nossos portais e precisamos dar uma experiência única para cada um deles. Vamos … Continue lendo Usando os dados para transformar a Globo.com

Android Library - Modularizando seus apps

Em algum momento, como desenvolvedor, você vai considerar escrever uma biblioteca. Talvez porque você tenha criado uma maneira interessante para realizar algo específico e quer compartilhar com o mundo, ou talvez por simplesmente querer reutilizar seu código de forma elegante. Qualquer que seja a motivação, quando falamos de Android, escrever uma biblioteca não é nada … Continue lendo Android Library - Modularizando seus apps