{"id":9382,"date":"2023-11-21T13:52:25","date_gmt":"2023-11-21T16:52:25","guid":{"rendered":"https:\/\/elemarjr.com\/clube-de-estudos\/?post_type=artigos&#038;p=9382"},"modified":"2023-12-27T08:47:29","modified_gmt":"2023-12-27T11:47:29","slug":"o-jeito-certo-de-medir-disponibilidade","status":"publish","type":"artigos","link":"https:\/\/elemarjr.com\/clube-de-estudos\/artigos\/o-jeito-certo-de-medir-disponibilidade\/","title":{"rendered":"O Jeito Certo de Medir Disponibilidade"},"content":{"rendered":"\n<p>No universo da arquitetura de software, termos como disponibilidade e tempo de resposta frequentemente emergem em nossas discuss\u00f5es. Por\u00e9m, precisamos nos perguntar se estamos interpretando e valorizando esses conceitos de maneira correta. Como podemos assegurar que eles verdadeiramente refletem a experi\u00eancia do usu\u00e1rio?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Ilus\u00e3o dos Percentuais de Disponibilidade<\/h2>\n\n\n\n<p>Frequentemente nos deparamos com afirma\u00e7\u00f5es de que um servi\u00e7o ou aplica\u00e7\u00e3o possui &#8220;99,9% de disponibilidade&#8221;. Mas o que isso realmente implica? E mais importante, esses percentuais comunicam a efetiva disponibilidade do servi\u00e7o ou aplicativo?<\/p>\n\n\n\n<p>Essa forma de medir a disponibilidade pode ser enganosa. A verdadeira medida da disponibilidade leva em conta o tempo de resposta considerado aceit\u00e1vel para o contexto da aplica\u00e7\u00e3o. Por exemplo, se uma API leva um minuto para responder a algo que tipicamente requer apenas segundos, podemos realmente consider\u00e1-la como dispon\u00edvel?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Definindo o Tempo de Resposta Aceit\u00e1vel<\/h2>\n\n\n\n<p>Avaliar a disponibilidade passa por estabelecer o que \u00e9 um tempo de resposta aceit\u00e1vel. Esse \u00e9 um valor que varia consideravelmente de acordo com o servi\u00e7o provido. Para um e-commerce, cada segundo conta durante o checkout. Ent\u00e3o, um atraso de alguns segundos pode resultar em uma experi\u00eancia negativa para o cliente. A pergunta que devemos fazer \u00e9: &#8220;Qual \u00e9 o m\u00e1ximo de tempo que um usu\u00e1rio est\u00e1 disposto a esperar sem se frustrar?&#8221;<\/p>\n\n\n\n<p>Vamos considerar um cen\u00e1rio pr\u00e1tico: uma aplica\u00e7\u00e3o de streaming onde o carregamento inicial dos v\u00eddeos deve ser quase instant\u00e2neo. Um atraso de mais de dois segundos pode levar ao abandono do servi\u00e7o. Portanto, um tempo aceit\u00e1vel nesse contexto seria, por exemplo, abaixo de dois segundos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Avaliando a Disponibilidade na Pr\u00e1tica<\/h2>\n\n\n\n<p>Para medir a disponibilidade de forma precisa, \u00e9 preciso monitorar consistente e continuamente o n\u00famero de requisi\u00e7\u00f5es que s\u00e3o satisfeitas dentro do tempo aceit\u00e1vel. Ferramentas de monitoramento como New Relic ou Datadog podem oferecer an\u00e1lises em tempo real e alertas proativos. Esses sistemas podem ajudar a detectar problemas antes que eles afetem significativamente os usu\u00e1rios.<\/p>\n\n\n\n<p>Al\u00e9m disso, ao estabelecer <em>Service Level Agreements<\/em> (SLAs), criamos expectativas claras sobre o desempenho, e isso define os padr\u00f5es pelos quais medimos a disponibilidade. Os SLAs atuam como um contrato entre provedores e consumidores, especificando o n\u00edvel de servi\u00e7o esperado e as consequ\u00eancias se esses n\u00edveis n\u00e3o forem alcan\u00e7ados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p>Ao reconhecer que disponibilidade significa mais do que simples percentuais e inclui quest\u00f5es cr\u00edticas como o tempo aceit\u00e1vel de resposta, damos um passo importante na dire\u00e7\u00e3o de uma arquitetura de software forte e confi\u00e1vel. A chave est\u00e1 em harmonizar as necessidades dos usu\u00e1rios com a performance sist\u00eamica para ambos conseguirem os resultados desejados.<\/p>\n\n\n\n<p>A discuss\u00e3o sobre a medi\u00e7\u00e3o adequada da disponibilidade \u00e9 um ramo de um campo mais amplo da arquitetura de software, que tamb\u00e9m engloba a escalabilidade, resili\u00eancia e gerenciamento de falhas. Explorar o uso de SLAs, an\u00e1lise preditiva e implanta\u00e7\u00e3o de ferramentas de monitoramento avan\u00e7ado s\u00e3o algumas das estrat\u00e9gias que discutimos nos grupos de estudos e mentorias em que participo, sempre buscando lapidar as melhores pr\u00e1ticas na constru\u00e7\u00e3o de sistemas robustos e confi\u00e1veis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TL;DR<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A disponibilidade n\u00e3o deve ser avaliada apenas por percentuais, pois isso pode n\u00e3o refletir a real performance do servi\u00e7o.<\/li>\n\n\n\n<li>Definir claramente o tempo de resposta aceit\u00e1vel \u00e9 fundamental para mensurar a verdadeira disponibilidade.<\/li>\n\n\n\n<li>Ferramentas de monitoramento, como New Relic ou Datadog, e a defini\u00e7\u00e3o de SLAs s\u00e3o essenciais para avaliar corretamente e manter a disponibilidade dos servi\u00e7os.<\/li>\n<\/ol>\n","protected":false},"featured_media":9383,"parent":0,"template":"","cursos":[16],"class_list":["post-9382","artigos","type-artigos","status-publish","has-post-thumbnail","hentry","cursos-arquitetura-de-software"],"acf":[],"_links":{"self":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/artigos\/9382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/artigos"}],"about":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/types\/artigos"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/media\/9383"}],"wp:attachment":[{"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/media?parent=9382"}],"wp:term":[{"taxonomy":"cursos","embeddable":true,"href":"https:\/\/elemarjr.com\/clube-de-estudos\/wp-json\/wp\/v2\/cursos?post=9382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}