Gerenciamento de incidentes para cargas de trabalho SaaS no Azure
Os fornecedores independentes de software (ISVs) para soluções de software como serviço (SaaS) devem operar a solução para seus clientes. Fazer isso requer uma configuração organizacional e uma cultura que lide com situações de produção inesperadas sem problemas. Como arquiteto, você deve projetar processos e ferramentas de gerenciamento de acordo.
Este artigo orienta você a alinhar a cultura, os processos e as ferramentas da sua organização para dar suporte ao gerenciamento de incidentes de uma solução SaaS de produção.
Compreender as suas responsabilidades como prestador de serviços
Operar uma solução SaaS significa que você é o departamento de TI e operações 24 horas por dia, 7 dias por semana. Você precisa estar preparado com a equipe, cultura, processos e ferramentas certas.
Considerações de design
Assuma a responsabilidade pelo suporte 24x7x365. Operar uma solução SaaS exige que sua organização esteja sempre preparada para a resposta a incidentes. Esta preparação inclui ter sempre os membros da equipa disponíveis, pois os incidentes podem ocorrer fora do horário comercial.
O suporte ao vivo envolve monitoramento e resposta em tempo real a incidentes que afetam a disponibilidade, a segurança, o desempenho ou a implantação do sistema. Você ou seus clientes podem detetar esses incidentes. Para lidar com esses incidentes, você precisa de habilidades específicas, incluindo a capacidade de analisar e resolver problemas sob pressão.
O suporte ao vivo no local pode ser estressante e é importante apoiar os membros da sua equipe. Se a equipa é nova nesta responsabilidade, planeie cuidadosamente a transição. Resolva as preocupações sobre as obrigações de permanência, a compensação e a gestão da indisponibilidade durante incidentes.
Risco: Qualificação e gestão de expectativas. Nem todos os engenheiros são adequados para uma função de suporte 24x7x365. Ao fazer a transição de uma equipe pré-existente para dar suporte a uma solução SaaS, certifique-se de que as expectativas adequadas sejam definidas e as oportunidades de educação sejam fornecidas.
Institua uma cultura ao vivo. Considere como você gerencia casos e incidentes de suporte e como os escalonamentos ocorrem. O objetivo é garantir que os membros da equipe entendam suas responsabilidades e tenham as habilidades e ferramentas necessárias para lidar com incidentes.
Startups e organizações menores podem ter um plano leve para problemas no local. Os engenheiros podem inicialmente servir como suporte de linha de frente, respondendo a casos de suporte ao cliente. Organizações maduras, ou provedores de SaaS com clientes corporativos, precisam de suporte mais estruturado e equipes dedicadas.
Tradeoff: Excelência operacional e custo. O gerenciamento de eventos ao vivo pode diminuir o tempo de desenvolvimento de novos recursos ou correções de bugs. Se a velocidade de desenvolvimento for uma preocupação, considere contratar recursos dedicados ao local.
Recomendações de design
Recomendação | Benefício |
---|---|
Introduza uma equipe de linha de frente para lidar com casos de suporte. Para casos complexos, essa equipe reúne as informações que a equipe de engenharia precisa para sua investigação. Um fornecedor pode servir como sua equipe de suporte de linha de frente e realizar a análise inicial de problemas e resolver problemas simples. |
Você evita sobrecarregar a equipe de engenharia com responsabilidades de tratamento de incidentes e lidar com interrupções em suas tarefas regulares. |
Invista em uma função de plantão para engenheiros lidarem com casos complexos, investigarem e agirem. Se possível, alterne as responsabilidades de plantão entre os membros da equipe, com cada engenheiro de plantão por alguns dias de cada vez. |
Com responsabilidades bem definidas e caminhos de escalonamento, você pode identificar e resolver problemas rapidamente sem interromper seu fluxo de trabalho de engenharia. |
Adquirir ferramentas especializadas para a gestão de incidentes. Certifique-se de que todos os respondentes tenham acesso e entendam como usar essas ferramentas de forma eficaz. Selecione ferramentas que possam monitorar o estado do sistema, rastrear problemas relatados pelo cliente, identificar problemas, escalar para engenheiros de plantão, gerenciar engenheiros que não respondem e permitir a realização de alterações na produção. |
Ter as ferramentas certas ajuda sua equipe de plantão a identificar e resolver incidentes rapidamente, mantendo a segurança e o controle operacional. |
Melhore seu monitoramento, implantações, atualizações e outras operações de gerenciamento regulares. | Ao investir na maturidade operacional, você reduz a probabilidade de problemas no local. Se ocorrerem problemas, ter operações bem definidas reduz o tempo de resolução. |
Defina o seu plano de resposta
Reconhecer que os incidentes são inevitáveis e preparar-se para eles definindo um plano de resposta a incidentes. Essa abordagem proativa evita que você tenha que elaborar uma estratégia de resposta durante seu primeiro incidente.
Planeje-se com antecedência para incidentes importantes, que normalmente afetam a capacidade de seus clientes de usar seu serviço. Essa preparação ajuda a minimizar o estresse e a complexidade quando você gerencia incidentes à medida que eles ocorrem.
Considerações de design
Defina o caminho de escalonamento. Certifique-se de que as equipes entendam o processo de escalonamento para tarefas de suporte. Em muitas soluções SaaS, os clientes entram em contato com uma equipe de suporte de linha de frente, que então se comunica com a equipe de engenharia. Certifique-se de que os clientes saibam com quem interagir e por que não devem ignorar esses processos. Além disso, certifique-se de que sua equipe de engenharia saiba quando e como buscar ajuda de fornecedores, incluindo equipes de suporte da Microsoft.
Defina os níveis de gravidade. Diferentes incidentes variam em importância para você e seus clientes. A forma como você lida com uma grande interrupção de produção difere de como você lida com um pequeno bug. Defina níveis de severidade com base no impacto no cliente e defina expectativas e cronogramas apropriados para cada nível.
Documente as informações necessárias para a triagem. Manter a documentação atualizada é essencial para uma resposta eficaz a incidentes. Esta documentação inclui o layout arquitetônico do sistema, detalhes no nível do componente, proprietários e contatos principais. Informações imprecisas ou desatualizadas podem fazer com que a equipe de resposta a incidentes perca tempo valioso descobrindo as operações do sistema, as responsabilidades e o impacto potencial do incidente.
Planeie uma comunicação eficaz com os clientes. Fornecer atualizações de status é fundamental no gerenciamento de incidentes. As atualizações de status ajudam seus clientes a entender a natureza de um incidente e também reduzem o volume de casos de suporte de clientes que enfrentam problemas semelhantes.
Recomendações de design
Recomendação | Benefício |
---|---|
Forneça um processo claro de relatório de incidentes, como abrir um caso de suporte com sua equipe de suporte da linha de frente, para seus clientes. | Você garante consistência na forma como descobre e responde a incidentes, o que reduz o tempo de resolução e evita que as informações sejam perdidas ou negligenciadas. |
Documente o layout da arquitetura, os detalhes no nível do componente, as classificações de privacidade ou segurança, os proprietários e os principais contatos. | A equipe de triagem tem as informações prontamente disponíveis e pode se concentrar em investigações e avaliação de impacto. |
Certifique-se de que sua equipe de resposta a incidentes possa acessar os ativos e sistemas necessários, como logs. Eles também precisam ser capazes de fazer mudanças de produção através de um processo seguro e controlado. | Você restaura as operações mais rapidamente, garantindo que sua equipe não perca tempo. |
Use uma página de status comercial em vez de criar a sua própria. | Economize tempo usando uma página de status comercial. Uma página de status hospedada por outra organização também permanece acessível aos clientes durante uma interrupção no seu sistema. |
Gerencie incidentes metodicamente
Aderir ao plano definido é crucial para evitar improvisos durante o tempo de resposta. Essa abordagem ajuda a minimizar o estresse e a complexidade do gerenciamento dessas situações.
Considerações de design
Atribua a gravidade do incidente. Use seu plano de resposta a incidentes para determinar a gravidade do incidente. Os clientes muitas vezes ficam frustrados durante incidentes. É importante que você entenda o impacto que eles estão vendo para que você possa priorizar. Comunique a gravidade do incidente de forma clara para que os clientes tenham expectativas realistas.
Mantenha a calma e pense com clareza. Os incidentes podem ser estressantes e ambíguos, com várias partes interessadas exigindo atenção. Tenha um processo claro para quem assume a liderança dentro de um incidente. Faça a triagem de incidentes da melhor forma possível, reconhecendo que pode ter de operar com informações imperfeitas. Tente manter o controle da situação.
Os líderes organizacionais podem ajudar protegendo os membros da equipe que estão ativamente investigando ou mitigando um incidente.
Comunique o estado aos seus clientes. Atualize a página de status para publicar apenas informações suficientes. Comunique-se prontamente e forneça as informações necessárias, como tempos de resolução estimados. Ofereça aos clientes atualizações frequentes para manter a confiança.
Recomendações de design
Recomendação | Benefício |
---|---|
Durante um incidente, priorize a recuperação sobre a descoberta. Quando ocorrer um incidente, priorize as operações de restauração rapidamente para minimizar as interrupções para seus clientes. |
Talvez seja possível recuperar roteando um componente afetado ou revertendo uma atualização, mesmo que ainda não entenda o que causou o problema. |
Forneça atualizações oportunas, claras e frequentes durante interrupções. | Você pode incutir confiança no cliente e reduzir a carga sobre sua equipe de suporte da linha de frente. |
Designe um gerente de comunicações durante um incidente ativo. Esse gerente pode ser uma única pessoa ou você pode alternar a responsabilidade entre os membros da equipe entre os incidentes. | Ao ter uma só voz para sua equipe de engenharia, você centraliza as conversas e reduz as distrações para outros membros da equipe. Você também evita que informações conflitantes cheguem aos clientes ou partes interessadas durante um incidente caótico. |
Certifique-se de ter um plano de suporte de missão crítica para fornecedores como a Microsoft. | Se ocorrer uma interrupção, você precisará de comunicações responsivas com os fornecedores da plataforma, como a Microsoft, para ajudá-lo a determinar onde está um problema e reduzir a duração da interrupção. |
Realizar revisões pós-incidente
Depois de se recuperar de um incidente, reveja e analise o que aconteceu para aprender com ele. Implemente ações de correção, que podem incluir mudanças técnicas, ajustes de processo ou mais treinamento.
Considerações de design
Aprenda com os incidentes. As interrupções oferecem oportunidades de aprendizagem valiosas. Realize revisões completas após incidentes para identificar lições e implementar melhorias. Os incidentes graves têm frequentemente múltiplas causas. Avalie se outras camadas da sua solução, como processos operacionais, podem prevenir ou detetar o problema antes que ele se agrave. Além disso, procure padrões semelhantes em outros lugares da sua solução que também possam estar em risco do mesmo problema.
Comunique-se com seus clientes. Muitos ISVs fornecem comunicações pós-incidente, especialmente para clientes corporativos que esperam atualizações de alta qualidade. Seja transparente e forneça informações suficientes para que os clientes entendam o problema e as etapas de mitigação. No entanto, para manter a segurança e a integridade, evite compartilhar detalhes internos excessivos sobre a arquitetura ou os componentes da solução.
Recomendações de design
Recomendação | Benefício |
---|---|
Crie um processo para realizar revisões internas pós-incidente. Concentre-se em identificar as razões que contribuíram para o problema. Considere as causas técnicas, como seus processos podem ter contribuído para a interrupção e como você respondeu ao incidente. |
As revisões internas pós-incidente ajudam você a aprender com as interrupções de produção e minimizar o risco de problemas semelhantes acontecerem novamente. |
Faça um plano estruturado para lidar com quaisquer itens que precisem de remediação. Inclua responsabilidades e prazos claros. | A responsabilidade clara ajuda a garantir que cada função atenda às suas expectativas funcionais, aumenta a clareza e permite relatórios transparentes nos níveis desejados. |
Publique análises pós-incidentes voltadas para o cliente. Forneça aos clientes detalhes suficientes para entender o problema e as etapas de mitigação sem revelar detalhes internos desnecessários ou a arquitetura do sistema. As comunicações pós-incidente devem ser sempre escritas e publicadas por seres humanos. As partes interessadas técnicas e não técnicas devem rever as comunicações quanto à sua exatidão e clareza. |
Essa abordagem ajuda a manter a confiança dos clientes e garante que você aprendeu com o incidente e está resolvendo os problemas identificados. |
Próximo passo
Depois de rever as áreas de projeto, prossiga para a ferramenta de avaliação para avaliar o seu projeto.