![Como gerenciar 45 bilhões de registros de clientes com Aerospike](https://optimuscloud.com.br/wp-content/uploads/2024/07/1719850924_Como-gerenciar-45-bilhoes-de-registros-de-clientes-com-Aerospike-150x150.png)
Como gerenciar 45 bilhões de registros de clientes com Aerospike
1 de julho de 2024![5 maneiras criativas de os desenvolvedores usarem IA](https://optimuscloud.com.br/wp-content/uploads/2024/07/1719863045_5-maneiras-criativas-de-os-desenvolvedores-usarem-IA-150x150.jpg)
5 maneiras criativas de os desenvolvedores usarem IA
1 de julho de 2024A antiga demarcação de “desenvolvedores escrevem código e operadores executam código” simplesmente não existe mais. Se você escreve, projeta ou contribui para um aplicativo, você tem alguma responsabilidade pela execução do aplicativo em produção. Em algum momento, você será chamado para diagnosticar e consertar.
Ao criar aplicativos, os desenvolvedores precisam começar pensando que o verdadeiro trabalho começa após a implantação do código. É quando os desenvolvedores veem o desempenho de seus aplicativos no mundo real e garantem que eles proporcionem experiências positivas ao cliente.
Ao capturar antecipadamente informações detalhadas sobre códigos e processos de negócios com ferramentas de gerenciamento de desempenho de aplicativos (APM), os operadores herdam todo o trabalho excelente e cuidadoso que os desenvolvedores fazem. Os operadores economizam tempo e energia identificando um problema crítico com mais rapidez durante uma resposta a incidentes. E a vida fica mais fácil para desenvolvedores e operações com acesso a informações que ajudam a corrigir erros e problemas de latência exclusivos de cada aplicativo.
Em sua essência, o APM visa habilitar o DevOps, e os desenvolvedores que implementam melhor observabilidade nos aplicativos que desenvolvem se colocam na vanguarda dessa capacitação.
Desenvolvimento e operações: diferentes perspectivas
Embora os desenvolvedores e os operadores compartilhem pontos em comum, os dois ainda operam a partir de perspectivas diferentes. Os desenvolvedores passam suas carreiras criando aplicativos essenciais aos negócios. Para cada aplicativo escrito, os desenvolvedores esperam ser criadores, solucionadores de problemas e solucionadores.
Os desenvolvedores também desejam ver a variação entre o uso e a entrada dos novos recursos à medida que entram em produção. O aplicativo está funcionando conforme o esperado? Está agregando valor ao cliente? Os processos de negócios suportados pelo aplicativo melhoraram?
Ao mesmo tempo, as operações adotam uma visão holística do desempenho das aplicações e da infraestrutura. Está tudo funcionando corretamente? Uma mudança na infraestrutura está afetando o desempenho dos aplicativos? Este problema está afetando outros serviços? Estamos atendendo às expectativas dos clientes ou aos acordos contratuais de nível de serviço (SLAs)? Se for um problema de código, quem precisa de acesso a essas informações para corrigi-lo?
Sabendo disso, como podemos obter o ciclo de feedback de desenvolvimento e as métricas de negócios ideais para permitir o verdadeiro DevOps?
Prós e contras do Otel
Fundamental para criar aplicativos de alto desempenho que não sobrecarreguem recursos é aprender sobre o código do aplicativo em produção por meio de instrumentação cuidadosa, como OpenTelemetry (OTel). Ao capturar informações detalhadas sobre os processos e dependências de um aplicativo enquanto o código é criado, os desenvolvedores podem economizar muito tempo quando precisarem corrigir problemas ou melhorar o desempenho.
A OTel suporta o uso conjunto de instrumentação automatizada e manual para a mesma aplicação. Essa instrumentação permite que os desenvolvedores adicionem trechos de código para capturar e enviar métricas personalizadas específicas para seus aplicativos.
A instrumentação automática fornece bibliotecas ou agentes pré-construídos que capturam métricas padrão como uso de CPU, uso de memória, latência de solicitação e taxas de erro. A instrumentação automática não exige que os desenvolvedores modifiquem seu código e é muito mais simples e rápida de implementar, mas é menos flexível.
A instrumentação manual e personalizada oferece às equipes de DevOps acesso fácil a informações detalhadas sobre o que aconteceu e por quê, em um formato útil. Além disso, usar o OTel ajuda a projetar e melhorar o monitoramento em ambientes locais e de teste, para que você saiba o que esperar da produção. Você não tem conjuntos de dados diferentes em ambientes diferentes, pois as ferramentas são as mesmas em todos os ambientes.
No entanto, por si só, o OpenTelemetry não sabe o que é importante para o negócio. A tecnologia captura consultas SQL, chamadas HTTP/TCP, chamadas de mensagens e informações de hardware e rede. A OTel não captura IDs de usuário, metadados não genéricos ou qualquer outra coisa específica para sua aplicação e negócio.
É aqui que entra a instrumentação personalizada. A instrumentação personalizada envolve trabalho e tempo para ser implementada, mas oferece aos desenvolvedores a flexibilidade e o controle para capturar as informações necessárias para a solução de problemas na produção.
Um exemplo do mundo real
Para entender como isso funciona na prática, vejamos uma finalização de compra de carrinho online. Uma transação pode atingir um endpoint, quatro endpoints e até 10 ou mais endpoints. Esses endpoints podem atingir endpoints adicionais. O aplicativo pode ter um backplane Kafka, um backplane de barramento de mensagens, bancos de dados ou armazenamentos de banco de dados NoSQL ou qualquer número de APIs ou recursos personalizados. À medida que os clientes fazem pedidos, o sistema executa todos esses aplicativos e serviços específicos de negócios relacionados ao processamento de pedidos, faturamento, marketing e atendimento.
Então, como você pode ter certeza, já que muitos usuários passam pela finalização da compra do carrinho, de que quando um cliente clica no botão de compra, isso aciona adequadamente a conclusão do processamento do pedido, aquisição, envio, faturamento e tudo o mais que for necessário? Mais importante ainda, como saber se todos serão cobrados corretamente?
Com instrumentação personalizada, a OTel permite vincular todos esses aplicativos distintos e obter uma visão holística de toda a transação comercial em todos esses serviços diferentes.
OTel atua como uma ponte entre DevOps, conectando o código interno com o qual a equipe de desenvolvimento está preocupada, com os dados de tráfego de rede e as fontes que sua equipe de operações monitora. Essa observabilidade precisa permite que o DevOps solucione e resolva problemas rapidamente e garante que os processos de aplicativos e de negócios sejam otimizados e precisos.
A instrumentação personalizada também permite que os aplicativos capturem dados de telemetria específicos do negócio, que são essenciais para a forma como sua equipe de DevOps garante uma ótima experiência do usuário.
Para OTel ou não para OTel
As empresas com grandes implantações de APM podem já ter desenvolvedores altamente qualificados em sua equipe que podem aproveitar o OTel com instrumentação personalizada para melhorar a eficiência do DevOps.
Se seus desenvolvedores não têm habilidade para fazer instrumentação personalizada, pode valer a pena que eles aprendam. Você pode incorporar instrumentação OTel personalizada em aplicativos em etapas, o que distribui o tempo e os custos por todo o ciclo de desenvolvimento.
Os usuários existentes do APM têm mais a considerar, começando pela amplitude de sua implantação do APM. Adicionar recursos OTel quando você monitora milhares de aplicativos é certamente mais complicado e o custo pode ser visto como proibitivo. Essas empresas podem testar os benefícios do APM habilitado para OTel com subconjuntos de seus aplicativos ou usar alternativas de monitoramento de código aberto e de baixo custo em ambientes de desenvolvimento ou de disponibilidade geral.
OpenTelemetry para DevOps: o que vem a seguir
A OTel tem como objetivo padronizar a coleta e exportação de dados de telemetria para dar às organizações a flexibilidade de escolher seu APM de back-end ou solução de observabilidade. Com a adição do suporte para criação de perfil, que inspeciona dinamicamente o comportamento e o desempenho do código do aplicativo em tempo de execução, o projeto OpenTelemetry está expandindo os recursos para corresponder às ofertas comerciais.
A criação de perfil contínua fornece insights sobre a utilização de recursos em nível de código e permite que os dados de criação de perfil sejam armazenados, consultados e analisados ao longo do tempo e em diferentes atributos. Esses dados permitem que desenvolvedores e operadores correlacionem o esgotamento de recursos ou experiências ruins do usuário entre serviços, com o serviço ou pod específico afetado e a função ou linha de código responsável por ele.
Quer sua empresa seja grande ou pequena, seja novata no APM ou seja um usuário extenso de APM, a OTel ajuda a cumprir a promessa de observabilidade com o mínimo de código ou esforço adicional.
A postagem OTel é o segredo para o sucesso do DevOps apareceu pela primeira vez em The New Stack.