essa parte da nossa aula aqui vai ser bem legal vai ser bem interessante tô bem animado para falar dela e também fazer handson aqui que a gente vai falar de um tema que quando a gente fala em performance é imprescindível você precisa fazer isso que é monitoramento contínuo e monitoramento contínuo existem diversas ferramentas no mercado que você pode utilizar Quando a gente trabalha com ferramentas Microsoft normalmente umas das mais utilizadas é o application sites o application sites ele é uma feature basicamente ele já foi um produto standalone vamos dizer assim e aí ele se tornou
basicamente um uma uma feature dentro do Microsoft azure dentro do azure monitor então o principal produto na Microsoft para monitoramento de forma geral tanto de infraestrutura quanto de aplicações é o aure monitor E aí o aure application sites Ele veio para baixo desse guarda-chuva e o principal objetivo dele é fazer o APM né o application performance Management para aplicações web principalmente não tenho visto nenhuma outra utilização de application insites que não seja para aplicações web então o que a gente tem visto aqui a gente pensou em performance ali dicas de código e melhorias como que
funciona o dnet alocação de memória e tudo mais isso é uma parte da jornada Então essa jornada ela é contínua depois que você fez suas aplicações seus microsserviços ali principalmente e isso vai paraa produção o trabalho de performance ele é contínuo ele não acaba Então você precisa de um ferramental adequado para te guiar e você conseguir entender o que que tá acontecendo ali online né Vamos falar assim de uma forma mais transparente possível e sem essa instrumentação não tem muito como fazer tá eh não adianta também ficar tirando o dump de aplicação toda hora eh
essas ferramentas na verdade vão te guiar para para você conseguir fazer um trouble shoo mais efetivo um overview aqui do application insites né ele tem muitas features dentro dele bastante coisa mesmo aqui nessa aula a gente vai cobrir as principais né os principais pontos para que vocês consigam começar e nos projetos reais de vocês aí adquirir e as experiências necessárias e começar a entender qual ponto ali dá para extrair as principais informações então assim o application sides ele vai te dar diversas experiências para melhorar perform mas não só performance mas também disponibilidade e qualidade né
a gente esquece que esses conjuntos de de coisas né tipo performance e disponibilidade eles caracterizam qualidade né da sua aplicação então tem três pilares aqui que eu gosto de trazer que são os principais que é investigar monitorar e usar tá para investigar o que que essa ferramenta vai te fornecer dashboards de aplicações esses dashboards você pode criar customizado você pode criar e e ver principalmente os mapeamentos que já são nativos da ferramenta eh Live Matrix que eles chamam né métricas online mesmo quais os end points por exemplo que estão com menos performance Quais são os
melhores E aí você consegue olhar para esses end points que estão indicando ali métricas ruins de performance e tomar alguma ação em cima por exemplo Cash que a gente viu Seria uma boa tática dependendo do cenário eh vi de disponibilidade então Poxa quais os end points estão disponíveis né se você tá trabalha realmente com um parque tecnológico gigante monitoramento Então você tem Alerta você consegue colocar por exemplo se um endp demorar mais que 5 segundos para responder você consegue colocar um alerta ali e isso vai trazer para você um diagnóstico também em cima desses alertas
tá principalmente aplicações críticas Mission Critical que a gente chama e usar também nas aplicações web se você quiser ter uma visão de quantos usuários estão pingados ali estão conectados nas suas aplicações Quais são as que eles estão utilizando quais os eventos estão ocorrendo Ah tem a parte de funil você consegue determinar um funil ali de o que o usuário tá fazendo flows né são os fluxos de interações nas suas aplicações enfim tem coisa para caramba para fazer dentro do application sites e a nível de Brasil para ser sincero eu acho que a gente é um
pouco penalizado pela cotação do dólar né a gente tá sempre pagando infraestrutura com cotação em moeda diferente e até uma moeda que hoje aqui enquanto eu tô gravando tá mais de cinco vezes mais do que a gente tá acostumado né Se fosse em real seria um pouco mais fácil mas o preço que se paga para você ter um monitoramento de ponto a ponta ter esse ferramental ele justifica tá ainda mais se for um aplicação grande e precisar est de pé a qualquer momento aí então algumas possibilidades veja application map né Pode ser que Para alguns
isso não seja novidade mas pra gente balizar o conhecimento isso aqui é muito importante tá vendo eh essa foto esse screenshot que eu tirei aqui eh de uma demo da própria Microsoft então você pode ver que ele te dá um mamento real de disponibilidade do que que tá acontecendo das interconexões né quais apps estão falando com quais apps então aqui a gente tem por exemplo uma Instância aqui web que você pode ver que a performance dela tá começando a ficar um pouco degradada e aí você vai começar a entender os motivos disso Quais as interconexões
que existem entre aplicações aqui por exemplo ou entre até outros serviços né outras coisas que você tem no Microsoft a que nem Storage e tudo mais então ter essa visão ela propicia com que você consiga trabalhar da melhor forma possível tá isso é super interessante e vale muito a pena as possibilidades são inúmeras normalmente um time de sre né o time ali que tá fazendo monitoramento da infraestrutura que vai usar isso daqui mas dependendo do patamar da empresa que você trabalha ou do seu próprio projeto acaba que muitas vezes o próprio time de desenvolvimento tem
que pegar aí eh o ownership disso né ou seja pegar ali para fazer e o modelo lógico do application sites ele é muito simples você precisa ter uma conta no Microsoft azure ativa uma subscrição ativa e aí você vai né a gente vai fazer isso agora em breve aqui um Live code mesmo vou criar uma aplicação duas aplicações na verdade do zero eu vou simular dois microservices uns se conectando com os outros e os dois plugados com AP insites e a gente vai fazer um passo a passo Mas para vocês pensarem aqui e verem como
funciona do começo ao fim inclusive custos que é super importante eu vou falar disso também a gente aqui precisa entender Qual que é o modelo lógico então da esquerda pra direita você vai ter aqui sua aplicação instrumentada e essa aplicação instrumentada você basicamente vai colocar Qual é a a as chaves que você tem criadas lá no lá no application sites né você cria o serviço ele vai te dar uma chave e vai te dar um endp E aí esse endp pode ver que ele tá linkado aqui então esse endp aqui ele tá linkado aqui e
as suas métricas as suas ingestões e tudo mais vão vir para cá e a sua telemetria também isso tudo vai ser guardado aqui dentro de um Store ou seja a próprio provedor de serviço vai guardar isso para você e aqui que tá a primeira dica a primeira dica é o maior custo que temos hoje em instrumentação no application sites principalmente é o curso de retenção dessa informação desse log tá já vi empresas que eu já trabalhei em projetos reais gastando aí mais de milhões de reais obviamente uma empresa enorme né com in gestão de dados
enorme também mas gastando quase que milhões de Reais aí para guardar a informação Porque existe a possibilidade de você utilizar esses esses dados durante um período e arquivar esses dados né então foi um dos trabalhos que eu fiz nessa empresa exemplo que eu tô dando para você vocês ah a empresa tava com os dados ali com backup basicamente Hot né quente ali Vivo e durante meses né e não precisa você não vai instrumentar eh a não ser que seja alguma legislação alguma coisa que peça para você deixar essas informações lá mas via de regra você
pode instrumentar e guardar ali os últimos sete dias apenas nesse caso que eu dei o exemplo nessa empresa ela tava com essas informações Ali há meses Então tava gastando um absurdo porque estava com back com com log guardado ali como backup e não fazia sentido então Aqui é onde mora o perigo tá fica uma dica super importante PR vocês quando criarem principalmente essa parte de ingestão aqui de Analytics de Store configura certinho quanto tempo de retenção quanto tempo de ingestão e quanto tempo isso vai ficar lá isso é importante é aqui que você vai gastar
todo seu dinheiro ou quase todo seu dinheiro no sentido de ferramental para fazer essa monitoria então dito isso a instrumentação é a primeira parte criou esse recurso Ele vai te dar um endp e vai te dar ali um application Key vamos falar assim que a gente vai colocar na nossa aplicação dnet E aí depois de um tempo normalmente uns 5 minutinhos depois que você faz essa instrumentação Você vai pra parte de experiências que é o que eu te falei tem diversos tipos de experiências diversas coisas que você consegue fazer e nós vamos passar por todas
elas aqui basicamente tá application map Live Matrix search imagina que um usuário reclamou para você que hoje cedo o sistema Tava lento e você nem começou a trabalhar imagina 6 6 horas da manhã você nem começou a trabalhar um usuário de uma outra região usou falou que tava lento Você consegue voltar no tempo né olhar e investigar ah a parte de de alertas métricas diagnósticos usuários sessions eventos então é um ferramental completo vai te ajudar a sair do outro lado vai te ajudar a observar suas aplicações E com isso mantendo o nosso tema aqui que
é garantir performance também e vamos fazer agora então basicamente um Hands Zone né a gente fez a introdução e o que eu vou fazer daqui para frente agora é isso vamos olhar vamos criar duas aplicações dnet passo a passo e aí a gente vai instrumentar elas vai fazer o Deploy delas do Microsoft azure e vai fazer alguns testes né vai simular algumas sessões com o próprio dimiter eh em dois end points vamos ver o O que que tá chegando eu vou forçar um erro com com com TR Exception mesmo ali no end Point só pra
gente ver que tá pegando esses erros lá começar a entender olhar os payloads E aí vai ser um cenário um pouco mais completo eu diria