Monitorização e autorrecuperação de dados no Microsoft 365
Dada a escala do Microsoft 365, seria impossível manter os dados dos clientes resilientes e seguros contra software maligno sem monitorização incorporada abrangente, alertas inteligentes e de autorrecuperação rápida e fiável. É desafiante monitorizar um conjunto de serviços à escala do Microsoft 365. É necessário introduzir novas mentalidades e metodologias e novos conjuntos de tecnologia para operar e gerir serviços num ambiente global ligado. Afastamo-nos da abordagem de monitorização tradicional da recolha e filtragem de dados para criar alertas para uma abordagem baseada na análise de dados; receber sinais e aumentar a confiança nesses dados e, em seguida, utilizar a automatização para recuperar ou resolver o problema. Esta abordagem ajuda a tirar os seres humanos da equação de recuperação, o que, por sua vez, torna as operações menos dispendiosas, mais rápidas e menos propensas a erros.
Fundamental para a monitorização do Microsoft 365 é uma coleção de tecnologias que compõem o nosso Motor de Informações de Dados, que se baseia no Azure, no SQL Azure e na tecnologia de bases de dados de transmissão em fluxo open source. Foi concebido para recolher e agregar dados e chegar a conclusões. Atualmente, processa mais de 500 milhões de eventos por hora de mais de 100.000 servidores (~15 TB por dia) espalhados por dezenas de datacenters em muitas regiões e estes números estão a aumentar.
O Microsoft 365 utiliza a monitorização externa, que envolve a criação de transações sintéticas para testar tudo o que é importante. Por exemplo, no Exchange, cada cenário está a testar todas as bases de dados em todo o mundo a cada cinco minutos de forma dispersa, proporcionando uma cobertura quase contínua de tudo o que reside no sistema. A partir de várias localizações, são realizadas 250 milhões de transações de teste por dia para criar uma linha de base robusta ou heartbeat para o serviço.
O Microsoft 365 também utiliza o conceito de Alerta Vermelho, que reduz todos os sinais de monitorização de todas as máquinas nos nossos datacenters para algo gerível por um ser humano. O conceito é simples: se algo estiver a acontecer em vários sinais, tem de haver algo a acontecer. Não se trata de aumentar a confiança num sinal, trata-se de ter uma fidelidade razoável para cada sinal para que tenha maior precisão. Este sistema de monitorização é tão poderoso que não temos pessoal 24 x 7 a observar os nossos monitores; tudo o que temos é a maquinaria que acorda se detetar um problema, caso em que irá chamar o pessoal de serviço adequado, ou mais frequentemente como é o caso, vai simplesmente avançar e resolver o problema. Assim que começarmos a recolher sinais e a criar alertas vermelhos, podemos começar a triangular em todas as nossas partições de serviço.
Com base na combinação do alerta de falha e dos Alertas Vermelhos, este alerta indica exatamente quais os componentes que podem estar a ter um problema e que o sistema vai tentar corrigir o problema por si só ao reiniciar um servidor de caixa de correio.
Além das capacidades de autorrecuperação, como o restauro de página única, o Exchange inclui várias funcionalidades que abordam a monitorização e a autorrecuperação, que se concentram na preservação da experiência do utilizador final. Estas funcionalidades incluem a Disponibilidade Gerida, que fornece ações de monitorização e recuperação incorporadas, e a Recuperação Automática, que restaura automaticamente a redundância da base de dados após uma falha do disco.
Disponibilidade gerenciada
A disponibilidade gerida fornece uma solução de recuperação e verificação de estado de funcionamento nativa que monitoriza e protege a experiência do utilizador final através de ações orientadas para a recuperação. A disponibilidade gerida é a integração de ações de monitorização e recuperação incorporadas com a plataforma de elevada disponibilidade do Exchange. O recurso foi projetado para detectar e se recuperar de problemas assim que eles ocorrem e são descobertos pelo sistema. Diferentemente das soluções e técnicas anteriores de monitoramento externo do Exchange, a disponibilidade gerenciada não tenta identificar ou comunicar a causa raiz de um problema. Em vez disso, concentra-se em aspetos de recuperação que abordam três áreas-chave da experiência do utilizador final:
- Disponibilidade – Os utilizadores podem aceder ao serviço?
- Latência – Como é a experiência para os utilizadores?
- Erros – os utilizadores conseguem alcançar o que querem?
A disponibilidade gerida é uma funcionalidade interna que é executada em todos os servidores do Microsoft 365 que executam o Exchange. Ela examina e analisa centenas de métricas de integridade a cada segundo. Se ocorrer algum problema, na maioria das vezes é corrigido automaticamente. No entanto, haverá sempre problemas que a disponibilidade gerida não consegue corrigir por si só. Nesses casos, a disponibilidade gerida aumenta o problema para uma equipa de suporte do Microsoft 365 através do registo de eventos.
Propagação automática
Os servidores exchange são implementados numa configuração que armazena várias bases de dados e os respetivos fluxos de registo no mesmo disco não RAID. Esta configuração é frequentemente referida como apenas um conjunto de discos (JBOD), porque não estão a ser utilizados mecanismos de redundância de armazenamento, como RAID, para duplicar os dados no disco. Quando um disco falha num ambiente JBOD, os dados nesse disco são perdidos.
Tendo em conta o tamanho do Exchange e o facto de implementadas no mesmo serem milhões de unidades de disco, as falhas na unidade de disco são uma ocorrência regular no Exchange. Na verdade, mais de 100 falham todos os dias. Quando um disco falha numa implementação empresarial no local, um administrador tem de substituir manualmente o disco com falha e restaurar os dados afetados. Numa implementação na cloud, o tamanho do Microsoft 365, ter operadores (administradores da cloud) a substituir manualmente discos não é prático nem economicamente viável.
O Reseed Automático, ou Reenchimento Automático, é uma funcionalidade que substitui o que é normalmente orientado por operadores em resposta a uma falha do disco, evento de danos na base de dados ou outro problema que requer a reutilização de uma cópia da base de dados. A AutoReseed foi projetada para restaurar automaticamente a redundância de banco de dados após uma falha de disco usando discos sobressalentes provisionados no sistema. Se um disco falhar, as cópias da base de dados armazenadas nesse disco são automaticamente reenfeitadas para um disco sobressalente pré-configurado no servidor, restaurando assim a redundância.