Estrutura para operaçõesDesign for operations

Criar uma aplicação para que a equipa de operações tenha as ferramentas necessáriasDesign an application so that the operations team has the tools they need

A cloud alterou significativamente a função da equipa de operações.The cloud has dramatically changed the role of the operations team. Agora, já não é responsável por gerir o hardware e a infraestrutura que aloja a aplicação.They are no longer responsible for managing the hardware and infrastructure that hosts the application. Dito isto, as operações continuam a ser uma parte fundamental da execução de uma aplicação na cloud com êxito.That said, operations is still a critical part of running a successful cloud application. Algumas das funções importantes da equipa de operações incluem:Some of the important functions of the operations team include:

  • ImplementaçãoDeployment
  • MonitorizaçãoMonitoring
  • EscalamentoEscalation
  • Resposta a incidentesIncident response
  • Auditoria de segurançaSecurity auditing

O registo e o rastreio robustos são particularmente importantes nas aplicações na cloud.Robust logging and tracing are particularly important in cloud applications. Envolva a equipa de operações na conceção e no planeamento para garantir que a aplicação fornece os dados e as informações necessários para que seja bem-sucedida.Involve the operations team in design and planning, to ensure the application gives them the data and insight thay need to be successful.

RecomendaçõesRecommendations

Torne todos os aspetos observáveis.Make all things observable. Assim que uma solução é implementada e executada, os registos e os rastreios são a principal fonte de informação no sistema.Once a solution is deployed and running, logs and traces are your primary insight into the system. O rastreio regista um caminho através do sistema e é útil para identificar os estrangulamentos, os problemas de desempenho e os pontos de falha.Tracing records a path through the system, and is useful to pinpoint bottlenecks, performance issues, and failure points. O registo captura eventos individuais, tais como as alterações de estado da aplicação, os erros e as exceções.Logging captures individual events such as application state changes, errors, and exceptions. Inicie sessão na produção; caso contrário, deixa de ter acesso às informações quando mais precisar delas.Log in production, or else you lose insight at the very times when you need it the most.

Instrumentalize a aplicação para fins de monitorização.Instrument for monitoring. A monitorização fornece informações sobre o bom (ou mau) desempenho de uma aplicação em termos de disponibilidade, de desempenho e do estado do sistema.Monitoring gives insight into how well (or poorly) an application is performing, in terms of availability, performance, and system health. Por exemplo, a monitorização indica se está a cumprir o SLA.For example, monitoring tells you whether you are meeting your SLA. A monitorização ocorre durante o funcionamento normal do sistema.Monitoring happens during the normal operation of the system. Por sua vez, esta deve ser feita o mais aproximadamente possível do tempo real, para que a equipa de operações possa reagir rapidamente aos problemas.It should be as close to real-time as possible, so that the operations staff can react to issues quickly. Idealmente, a monitorização pode ajudar a evitar problemas antes que estes produzam uma falha crítica.Ideally, monitoring can help avert problems before they lead to a critical failure. Para obter mais informações, veja Monitorização e diagnóstico.For more information, see Monitoring and diagnostics.

Instrumentalize a aplicação para fins de análise da causa raiz.Instrument for root cause analysis. A análise da causa raiz é o processo de localização da causa subjacente das falhas.Root cause analysis is the process of finding the underlying cause of failures. Esta ocorre após a ocorrência de uma falha.It occurs after a failure has already happened.

Utilize o rastreio distribuído.Use distributed tracing. Utilize um sistema de rastreio distribuído concebido para simultaneidade, assincronia e dimensionamento da cloud.Use a distributed tracing system that is designed for concurrency, asynchrony, and cloud scale. Os rastreios devem incluir um ID de correlação, que flui através dos limites dos serviços.Traces should include a correlation ID that flows across service boundaries. Uma operação única pode envolver chamadas para vários serviços de aplicações.A single operation may involve calls to multiple application services. Se uma operação falhar, o ID de correlação ajudará a identificar a causa da falha.If an operation fails, the correlation ID helps to pinpoint the cause of the failure.

Uniformize os registos e as métricas.Standardize logs and metrics. A equipa de operações terá de agregar registos dos vários serviços na sua solução.The operations team will need to aggregate logs from across the various services in your solution. Se todos os serviços utilizarem o seu próprio formato de registo, tornar-se-á difícil ou impossível obter informações úteis dos mesmos.If every service uses its own logging format, it becomes difficult or impossible to get useful information from them. Defina um esquema comum que inclua campos como ID de correlação, nome do evento, endereço IP do remetente, entre outros.Define a common schema that includes fields such as correlation ID, event name, IP address of the sender, and so forth. Os serviços individuais podem derivar esquemas personalizados que herdam o esquema-base e contêm campos adicionais.Individual services can derive custom schemas that inherit the base schema, and contain additional fields.

Automatize as tarefas de gestão, incluindo o aprovisionamento, a implementação e a monitorização.Automate management tasks, including provisioning, deployment, and monitoring. A automatização de uma tarefa torna-a repetível e menos propensa a erros humanos.Automating a task makes it repeatable and less prone to human errors.

Trate a configuração como código.Treat configuration as code. Verifique os ficheiros de configuração num sistema de controlo de versão, para que possa controlar e criar versões das suas alterações e reverter as mesmas se necessário.Check configuration files into a version control system, so that you can track and version your changes, and roll back if needed.