System Design, CQRS, Hashing, GenIA em Databases e SQS
E VEM VER O CURSO DO PAI COMO TA FICANDO FI
Mais uma newsletter duvidosa, de baixo custo e com conteúdo suspeito pra falar sobre tecnologia e coisas aleatórias pra você fi. Vai passar o final de semana com bastante coisa pra ler agora.
Artigo de System Design sobre CQRS
Antes de qualquer coisa, já vou logo deixar mais um post da séria de system design que eu publiquei essa semana.
Esse capítulo tem o objetivo de adicionar mais algumas estratégias para lidar com dados em sistemas modernos à sua caixa de ferramentas, sendo esses sistemas distribuídos ou não. A necessidade de aumentar o repertório de padrões de projeto para lidar com dados de domínios em larga escala tem se tornado cada vez mais presente no dia a dia de engenheiros e arquitetos de software, e representa um importante recorte de senioridade. A longo prazo e em escala, considero os dados como a parte mais crítica e difícil de se lidar dentre todas as disciplinas de Engenharia de Software, e a seguir vamos abordar o padrão CQRS e algumas possibilidades de implementação que podem ser adaptadas, combinadas e estendidas conforme a experiência dos times e conhecimento dos domínios de negócio ganham maturidade.
Da uma moral pro pai lendo o artiguinho
Hashing Consistente e Sistemas Distribuídos
A hashing consistente é uma técnica utilizada em sistemas distribuídos para distribuir dados de maneira eficiente entre diferentes nós. Essa é uma abordagem que pode ser adaptada pra vários cenários, para distribuir clientes entre cargas de trabalho, utilizar várias bases de dados de forma maneira e etc. O artigo abaixo mostra diversos tipos de implementações conceituais de Hashing Consistente e de como distribuir diversos tipos de recurso através desse tipo de implementação.
Leia o Artigo Completo
GenSQL - Análises Estatísticas em Bancos de Dados SQL
O GenSQL é um novo sistema de IA generativa para bancos de dados, projetado para simplificar análises estatísticas complexas utilizando os dados existentes no database. Ele permite previsões, detecção de anomalias, correção de valores ausentes, correção de erros e geração de dados sintéticos e coisas do gênero. A proposta desse cara surgiu de papers publicados por pesquisadores do MIT e além de ir numa abordagem “black box", a intenção desse projeto é fornecer suporte a analises estatísticas e deixando tudo claro todos os passos e processos de forma que todos os modelos são explicáveis e auditáveis, permitindo que os usuários entendam e ajustem caso necessidade.
Leia o Artigo na Integra
Lab do Ponciano sobre EKS e Cilium
O Paulo Ponciano documentou um lab bem legal onde ele otimizou o deployment do Cilium para o Amazon EKS, integrando serviços como Tetragon, Loki e Hubble. O legal é que ele disponibilizou todo o lab open source pra galera entender no detalhe como utilizar a solução e adaptar pra algum cenário hipotético ou real. Me senti lisonjeado pois ele usou um projeto pra exemplificar que é o nutrition-overengineering que já apareceu aqui antes. Dêem uma moral pro cara que ficou dahora pra caralho.
Leia o Artigo AGORA
Como você mede a qualidade de um software?
Durante o desenvolvimento de um sistema, monitorar a qualidade é essencial para entregar o melhor produto possível. As vezes entendemos que “prioridades e prazos são inimigos da engenharia”, porém definir critérios, realizar testes e estabelecer indicadores de desempenho (KPIs) são essenciais para acompanhar se estamos indo pro lugar certo ou não nos requisitos de qualidade. Definir notas de corte “do que é bom, e do que não é bom” e estar alinhado entre todos os envolvidos é uma tarefa BEM difícil normalmente, e O QUE MEDIR pode se tornar uma discussão infinita e muito cansativa.
Visto isso, esse artigo do David Pedra propõe 8 indicadores chaves como KPI para facilitar a evolução dessas conversas. Total de defeitos detectados, total de defeitos detectados PELO CLIENTE, MTTR, MTBF, são métricas bem comuns em outras disciplinas como DevOps por exemplo, e estão presentes entre as recomendações do David.
Leia o Texto Sobre Indicadores
Agora o SQS está usando esteróides
O Amazon Simple Queue Service (SQS), lançado em 2006, é um serviço maneiro demais para serviços de mensageria na AWS, atendendo microserviços, monolitos, sistemas distribuídos e aplicações serverless, processando mais de 100 milhões de mensagens por segundo em horários de pico. Tenho um carinho especial por ele. Recentemente, foram realizadas melhorias significativas para reduzir a latência, aumentar a capacidade e evitar gargalos de escalabilidade. Essas melhorias focaram principalmente na introdução de um novo protocolo de enquadramento binário proprietário que multiplexa várias solicitações e respostas em uma única conexão, utilizando IDs de 128 bits e soma de verificação para evitar interferências, além de criptografia no servidor para segurança adicional. Então tiveram otimizações a nível de formato e na conexão.
A implementação do novo protocolo resultou em uma redução média de 11% na latência do dataplane e 17,4% no percentil 90. Além disso, a frota de hosts do SQS agora pode lidar com 17,8% mais solicitações, aumentando a eficiência e a capacidade geral do serviço. Este avanço também beneficiou outros serviços dependentes, como o Amazon Simple Notification Service (SNS), que agora tem suas mensagens processadas 10% mais rapidamente antes da entrega.
Leia o post no Blog do Jeff
Mitos sobre Engenharia de Plataforma
A engenharia de plataforma é uma abordagem relativamente nova para a entrega de software, mas há muita discordância sobre o que ela realmente é e como deve ser aplicada. Como o assunto é novo, todo mundo quer dar a definição definitiva sobre o que é o rolê. Já vimos isso antes com o DevOps e numa escala bem menor, com o SRE. Essa série de dois artigos da GCP propõe uma “desmistificação” do que a Platform Engineering se propõe ou não a resolver. Ele está divido em duas partes, e vou deixar ambas aqui pra você perder um tempinho de qualidade lendo.
Leia a primeira parte do post
Leia a segunda parte do post também
O PAI DE DE CURSO NA LINUXTIPS FI
É com muita emoção que venho divulgar que meu primeiro curso na LinuxTips está saindo. Nele iremos falar sobre arquitetura de containers na AWS. Daremos um foco produtivo para o ECS (Elastic Container Service), EKS (Elastic Kubernetes Service), AWS Batch e AWS Lambda. A ideia é dar bastante insight, case prático e muito mão na massa ali pra firmar os conceitos.
Infelizmente, esse curso não é introdutório e iremos dar uma abordagem intermediária-avançada sobre os conteúdos. Precisa de um conhecimento prévio sim tá. To bem feliz de poder estar trabalhando nisso, e com muita ansiedade de começar a falar sobre.
Nesse primeiro momento será aberta uma turma para acompanhamento do curso. Então registre seu interesse e vem falar groselha com o pai sobre essas tecnologias coloridas com nome engraçado.