{"id":3063,"date":"2022-02-11T10:00:00","date_gmt":"2022-02-11T13:00:00","guid":{"rendered":"https:\/\/uds.com.br\/blog\/?p=3063"},"modified":"2024-04-29T14:41:34","modified_gmt":"2024-04-29T17:41:34","slug":"observabilidade-de-software","status":"publish","type":"post","link":"https:\/\/uds.com.br\/blog\/observabilidade-de-software\/","title":{"rendered":"Observabilidade de Software: O que \u00e9 e como funciona?"},"content":{"rendered":"\n<p>Ter o software pronto significa que o trabalho de tecnologia acabou?<\/p>\n\n\n\n<p>Muito pelo contr\u00e1rio. Para colher resultados, \u00e9 importante trabalhar com <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#464646\" class=\"has-inline-color\">observabilidade<\/mark><\/strong> desde o desenvolvimento e seguir acompanhando as m\u00e9tricas de funcionamento do software.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 observabilidade de software e como ela funciona?<\/strong><\/h2>\n\n\n\n<p>Observabilidade \u00e9 uma caracter\u00edstica de um software ou plataforma digital cujo comportamento pode ser observado e analisado por indicadores e m\u00e9tricas enquanto ele funciona. Um software pode ser desenvolvido com ou sem observabilidade, por\u00e9m, os que possuem essa caracter\u00edstica permitem que a empresa use os dados para tomar decis\u00f5es importantes.<\/p>\n\n\n\n<p>Veja essa analogia com o mundo f\u00edsico para exemplificar a observabilidade:<\/p>\n\n\n\n<p>Imagine que o software \u00e9 uma m\u00e1quina de suco de laranja. Ap\u00f3s inserir laranjas inteiras na m\u00e1quina, ela produz e derrama o suco para que seja envasado.<\/p>\n\n\n\n<p><strong>Uma m\u00e1quina sem observabilidade<\/strong> \u00e9 como uma caixa preta, ou seja, sabe-se que entram laranjas e o suco sai, mas pouco se sabe sobre o que est\u00e1 acontecendo dentro da m\u00e1quina.<\/p>\n\n\n\n<p><strong>Uma m\u00e1quina com observabilidade<\/strong> possui um painel que mostra informa\u00e7\u00f5es sobre o seu funcionamento: a temperatura da m\u00e1quina, estado das correias e engrenagens, se h\u00e1 ou n\u00e3o laranjas dentro da m\u00e1quina, quantos litros de suco foram produzidos at\u00e9 agora, capacidade produtiva por minuto, quantidade de baga\u00e7o no interior da m\u00e1quina, dentre outros. Todos esses dados permitem tomar decis\u00f5es em tempo real, ou seja, enquanto a m\u00e1quina est\u00e1 produzindo suco.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Por que se importar com a observabilidade de software?<\/h2>\n\n\n\n<p>O termo <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#464646\" class=\"has-inline-color\">observabilidade de software<\/mark> <\/strong>ganhou for\u00e7a porque as aplica\u00e7\u00f5es ficaram mais complexas e, cada vez mais, profissionais se envolvem com elas, tanto <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/uds.com.br\/blog\/desenvolvimento-de-aplicacoes-web\/\" data-type=\"URL\" data-id=\"https:\/\/uds.com.br\/blog\/desenvolvimento-de-aplicacoes-web\/\" target=\"_blank\">durante seu desenvolvimento<\/a><\/strong> (execu\u00e7\u00e3o dos projetos) quanto durante o uso dos softwares pelos usu\u00e1rios finais.<\/p>\n\n\n\n<p>O aumento de tamanho dos softwares fez com que o n\u00famero de coisas que poderiam dar errado tamb\u00e9m crescesse sensivelmente.<\/p>\n\n\n\n<p>Com a observabilidade, \u00e9 poss\u00edvel avan\u00e7ar para um alto grau de detalhamento sobre o comportamento de um software e entender tudo o que est\u00e1 acontecendo no desenvolvimento ou uso deles. A partir disso, fica mais f\u00e1cil propor melhorias, prever poss\u00edveis erros e ter uma aplica\u00e7\u00e3o mais usual.<\/p>\n\n\n\n<p>O objetivo da observabilidade \u00e9 agregar informa\u00e7\u00f5es estrat\u00e9gicas e bem detalhadas para uma depura\u00e7\u00e3o (ou debug) completa, que vai ajudar a resolver os problemas observados. Ningu\u00e9m deseja ter uma aplica\u00e7\u00e3o com bugs, respostas lentas e outros comportamentos indesejados.<\/p>\n\n\n\n<p>Com observabilidade, \u00e9 poss\u00edvel <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#464646\" class=\"has-inline-color\">antever falhas<\/mark><\/strong>. Por tudo estar observ\u00e1vel, muitas vezes, \u00e9 poss\u00edvel visualizar e corrigir problemas antes que eles sejam percebidos pelo usu\u00e1rio final.<\/p>\n\n\n\n<p>Al\u00e9m disso, o processo de investiga\u00e7\u00e3o de erros fica mais simples. Afinal, quando um software apresenta um problema t\u00e9cnico, o maior desafio \u00e9 encontrar a origem dele. Atualmente, as aplica\u00e7\u00f5es t\u00eam estruturas muito complexas, por isso, fica dif\u00edcil encontrar o que est\u00e1 gerando a falha. Trabalhando com conceitos e ferramentas de observabilidade, \u00e9 poss\u00edvel localizar e resolver o erro na origem.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como alcan\u00e7ar a observabilidade de software?<\/strong><\/h2>\n\n\n\n<p>J\u00e1 que n\u00e3o se trata de uma funcionalidade ou de um plugin, n\u00e3o \u00e9 uma simples linha de c\u00f3digo que resolver\u00e1. Atingir bons n\u00edveis de observabilidade, com identifica\u00e7\u00e3o de erros e problemas de funcionamento constantemente, \u00e9 resultado da execu\u00e7\u00e3o de diversos processos de forma integrada.<\/p>\n\n\n\n<p>Para criar um software observ\u00e1vel, \u00e9 primordial que, no desenvolvimento da aplica\u00e7\u00e3o, a squad de TI envolvida deixe claras todas as informa\u00e7\u00f5es e os dados necess\u00e1rios para corre\u00e7\u00f5es e ajustes.<\/p>\n\n\n\n<p>A participa\u00e7\u00e3o do time de <strong><a href=\"https:\/\/uds.com.br\/blog\/tudo-que-voce-precisa-saber-sobre-devops\/\" target=\"_blank\" rel=\"noreferrer noopener\">DevOps<\/a><\/strong> tamb\u00e9m \u00e9 fundamental, para que a observabilidade seja garantida na entrega e na sustenta\u00e7\u00e3o do sistema. Afinal, esse olhar deve ser constante e acompanhar qualquer mudan\u00e7a que aconte\u00e7a.<\/p>\n\n\n\n<p>As principais solu\u00e7\u00f5es, ferramentas e conceitos que levam uma aplica\u00e7\u00e3o a ser observ\u00e1vel est\u00e3o listadas abaixo:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Uptime<\/strong><\/h2>\n\n\n\n<p>Mostra o tempo que a aplica\u00e7\u00e3o opera de forma correta, sem quedas ou interrup\u00e7\u00f5es. Ou seja, se o uptime estiver baixo, h\u00e1 algum tipo de problema grave no funcionamento dela que precisa ser resolvido, pois os usu\u00e1rios n\u00e3o est\u00e3o conseguindo acess\u00e1-la.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Logs<\/strong><\/h2>\n\n\n\n<p>S\u00e3o um dos pilares da observabilidade e trar\u00e3o muitas das caracter\u00edsticas do software. Al\u00e9m disso, s\u00e3o usados para apontar erros, vulnerabilidades e tentativas de ataques. Mas o grande ponto dos logs \u00e9 que eles v\u00e3o trazer o momento espec\u00edfico em que houve algum tipo de falha, o que facilitar\u00e1 a identifica\u00e7\u00e3o dela.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>M\u00e9tricas<\/strong><\/h2>\n\n\n\n<p>T\u00eam v\u00e1rias origens e podem ser t\u00e9cnicas, como velocidade e uso de CPU; ou de neg\u00f3cios, como n\u00famero de vendas por horas, quantas p\u00e1ginas s\u00e3o visitadas pelos usu\u00e1rios e quantidade de clientes que abandonam o carrinho de compra no app. Comportamentos n\u00e3o usuais podem ser visualizados a partir dessas m\u00e9tricas e facilitar a a\u00e7\u00e3o para corrigir tais problemas.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>APM &#8211; Application Performance Monitoring<\/strong><\/h2>\n\n\n\n<p>\u00c9 um sistema que vai monitorar o desempenho da aplica\u00e7\u00e3o. Ele servir\u00e1 para mostrar onde h\u00e1 um potencial problema de performance dentro do software, seja por lentid\u00e3o de processamento, problemas de infraestrutura ou de performance do pr\u00f3prio algoritmo que poderia ser melhor implementado.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Qual \u00e9 a diferen\u00e7a entre Monitoramento e Observabilidade?<\/strong><\/h2>\n\n\n\n<p>Esta \u00e9 uma d\u00favida comum no mercado, pois os termos s\u00e3o muito pr\u00f3ximos mesmo e, na verdade, s\u00e3o complementares.<\/p>\n\n\n\n<p>A diferen\u00e7a \u00e9 que as <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#464646\" class=\"has-inline-color\">ferramentas de monitoramento<\/mark><\/strong> s\u00e3o fundamentais para que um <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#464646\" class=\"has-inline-color\">sistema seja observ\u00e1vel<\/mark><\/strong>. \u00c9 a partir delas que ser\u00e1 poss\u00edvel ver que alguma coisa est\u00e1 errada com a aplica\u00e7\u00e3o. Por\u00e9m, s\u00f3 com observabilidade, o time de TI conseguir\u00e1 atingir um \u00edndice maior de detalhamento das falhas e, dessa forma, entender porque e onde est\u00e1 o erro a ser corrigido.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Benef\u00edcios de adotar observabilidade<\/strong> de software<\/h2>\n\n\n\n<p>Ter esse controle e essa vis\u00e3o completa traz diversas vantagens para o time de desenvolvimento, para as empresas e, claro, para os usu\u00e1rios. N\u00e3o por acaso, atualmente, alcan\u00e7ar a observabilidade \u00e9 uma meta envolvida em todo o desenvolvimento de software.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Experi\u00eancia do usu\u00e1rio<\/strong><\/h3>\n\n\n\n<p>Sem d\u00favida, uma das principais vantagens ao adotar observabilidade \u00e9 ter um usu\u00e1rio final com uma melhor experi\u00eancia na aplica\u00e7\u00e3o. Afinal, os softwares s\u00e3o desenvolvidos para pessoas, por isso, entender o que pode estar atrapalhando o cliente dentro do sistema \u00e9 um ponto fundamental.<\/p>\n\n\n\n<p>O usu\u00e1rio com uma melhor intera\u00e7\u00e3o com a aplica\u00e7\u00e3o tende a ficar mais tempo nela e, consequentemente, consumir mais. Ou seja, uma melhor experi\u00eancia do usu\u00e1rio pode significar mais faturamento e reconhecimento para a empresa propriet\u00e1ria do software. Al\u00e9m disso, gera mais satisfa\u00e7\u00e3o dos clientes, o que \u00e9 bastante importante para o sucesso de qualquer marca.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Melhora o desempenho do time de desenvolvimento<\/strong><\/h3>\n\n\n\n<p>O modelo tradicional de ajustes e corre\u00e7\u00f5es em aplica\u00e7\u00f5es n\u00e3o funciona da melhor maneira para aquelas que s\u00e3o constru\u00eddas de forma mais moderna, ou seja com microsservi\u00e7os e serverless, o que representa a maioria dos softwares recentes. Com as ferramentas de observabilidade \u00e9 poss\u00edvel identificar e corrigir os erros.<\/p>\n\n\n\n<p>Ou seja, o time de desenvolvimento consegue ter um desempenho melhor, pois visualiza, de maneira mais simples, o que precisa ser feito em cada aplica\u00e7\u00e3o. A performance aumenta e os resultados ficam evidentes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mais efici\u00eancia para o neg\u00f3cio<\/strong><\/h3>\n\n\n\n<p>\u00c9 poss\u00edvel, por exemplo, otimizar o uso da nuvem ou de CPU pela aplica\u00e7\u00e3o e, assim, reduzir sensivelmente os custos.<\/p>\n\n\n\n<p>Tamb\u00e9m, com vis\u00f5es sobre dados estrat\u00e9gicos do neg\u00f3cio, como por exemplo abandonos de carrinhos de compra no e-commerce, fica mais f\u00e1cil estabelecer a\u00e7\u00f5es que possam fazer sentido para melhorar as convers\u00f5es.<\/p>\n\n\n\n<p>Portanto, os recursos e ferramentas de observabilidade de software, se bem aplicados, s\u00e3o capazes de transformar o desempenho de qualquer empresa.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Casos de Usos<\/strong><\/h2>\n\n\n\n<p>As aplica\u00e7\u00f5es modernas, baseadas em microsservi\u00e7os e serverless, precisam de observabilidade. Por isso, os aplicativos mobile e web mais recentes devem ser constru\u00eddos para que permitam ser facilmente observ\u00e1veis.<\/p>\n\n\n\n<p>A Amazon Web Services (AWS) \u00e9 uma das principais fornecedoras de servi\u00e7os relacionados \u00e0 observabilidade. Na p\u00e1gina sobre os seus recursos, a gigante da tecnologia destaca um case bastante interessante:<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>O SendGrid \u00e9 um provedor de email na nuvem que envia mais de 40 bilh\u00f5es de emails por m\u00eas para mais de 69.000 clientes pagantes. O SendGrid adotou o Amazon CloudWatch (um dos recursos AWS para observabilidade) no in\u00edcio de sua migra\u00e7\u00e3o para AWS para obter visibilidade do sistema, insights operacionais e otimiza\u00e7\u00e3o de recursos<\/p><\/blockquote><\/figure>\n\n\n\n<p>A UDS \u00e9 parceria AWS e atua para garantir que os softwares web e aplicativos desenvolvidos para os clientes sejam altamente observ\u00e1veis. <a href=\"https:\/\/uds.com.br\/contato\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Fale com nossos especialistas<\/strong><\/a> e entenda como a observabilidade de software pode evoluir o seu contexto de tecnologia.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ter o software pronto significa que o trabalho de tecnologia acabou? Muito pelo contr\u00e1rio. Para colher resultados, \u00e9 importante trabalhar com observabilidade desde o desenvolvimento e seguir acompanhando as m\u00e9tricas de funcionamento do software. O que \u00e9 observabilidade de software e como ela funciona? Observabilidade \u00e9 uma caracter\u00edstica de um software ou plataforma digital cujo [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":3064,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[864],"tags":[],"yst_prominent_words":[],"_links":{"self":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/3063"}],"collection":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3063"}],"version-history":[{"count":0,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/3063\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media\/3064"}],"wp:attachment":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3063"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=3063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}