Explorar Operações contínuas
Operações Contínuas é um dos oito recursos na taxonomia de DevOps.
Descobrir por que as operações contínuas são necessárias
Os sistemas complexos falham e podem causar interrupções caras. Vamos examinar alguns exemplos.
| Empresas | Acontecimento |
|---|---|
Delta Air Lines |
Em agosto de 2016, a Delta foi forçada a cancelar 2.300 voos quando uma única peça de equipamento defeituoso causou uma queda de energia em seu centro de operações em Atlanta. O custo relatado para a empresa foi de US$ 150 milhões. |
FedEx e Serviço Nacional de Saúde do Reino Unido |
Em maio de 2017, o ransomware WannaCry causou interrupções operacionais no FedEx. Uma subsidiária da FedEx reportou 300 milhões de dólares em perdas. O Serviço Nacional de Saúde do Reino Unido foi outra vítima do ransomware, que bloqueou o acesso aos seus computadores, bloqueou equipamentos médicos vitais e forçou alguns hospitais a desviar ambulâncias para outros locais. |
Amazon S3 |
Em fevereiro de 2017, o erro do operador causou uma interrupção de quatro horas nos principais serviços de armazenamento da Amazon, que tiveram vários impactos em propriedades significativas da Web, como Alexa, IFTTT, Quora e Trello. |
| O LinkedIn apresentou um problema que impediu que o trabalho de DESENVOLVIMENTO fosse feito por dois meses. | |
Equifax |
A Equifax sofreu uma violação em 2017, que resultou na exposição de informações pessoais de mais de 160 milhões de consumidores. Discutimos isso com mais detalhes em Segurança Contínua. |
O impacto nos negócios e o custo de uma violação
Os custos de uma violação geralmente vão além da perda de vendas e da confiança em uma empresa. Esses custos podem incluir:
- Resposta > notificação
- Há custos operacionais e de serviço para notificar as partes afetadas, conforme exigido por lei. Esses custos geralmente também incluem custos adicionais para call centers, suporte de PR e serviços de monitoramento de crédito.
- Perda de produtividade e rotatividade dos funcionários
- O conselho geral do Yahoo renunciou, e o CEO não recebeu um bônus anual para 2016.
- Ações judiciais e acordos
- A Target pagou US$ 18,5 milhões a 47 estados americanos.
- Multas e respostas regulatórias
- Com as novas políticas de proteção de dados em vigor na União Europeia desde 2018, a multa é de 4% de receita anual ou de 20 milhões de euros, o que for maior.
- Custos de recuperação de marca
- A empresa de tecnologia de mineração Codan viu a receita cair de US$ 45 milhões para US$ 9,2 milhões em um ano.
- Outros passivos
- A Verizon pagou US$ 350 milhões a menos pelo Yahoo depois de dois grandes hacks.
Requisitos adicionais de segurança e auditoria também podem ser necessários.
Disponibilidade e recuperação em operações contínuas
De acordo com uma pesquisa do Gartner, os líderes de negócios e DE TI esperam que cerca de 47% de aplicativos de produção sejam executados em locais de nuvem pública até 2020.
Quando datacenters inteiros podem ser destruídos com uma linha de código, o foco dos líderes de E&S na disponibilidade e recuperação de ambientes de produção precisa mudar. Novos padrões de implantação estão mudando a forma como garantimos recursos de disponibilidade e recuperação de aplicativos e infraestrutura.

Número crescente de aplicativos e versões em produção
Os principais indicadores de desempenho para o desempenho de entrega de software são:
- Tempo de execução de mudança
- Frequência de implantação
- Tempo médio para restauração
- Alterar a taxa de falha
As equipes que trabalham para aumentar a velocidade, mas não investem o suficiente na criação de qualidade no processo, sofrerão falhas maiores e mais tempo para restaurar o serviço. As equipes que criam qualidade no processo alcançam velocidade e estabilidade.
O número de aplicativos Web e móveis e a frequência de versões de aplicativos aumentaram muito. O código também se tornou cada vez mais complexo.

Observação
Uma grande parte do valor do DevOps em geral é encontrar o equilíbrio certo entre inovação (velocidade) e continuidade dos negócios (controle).
O que são operações contínuas?
Importante
As Operações Contínuas reduzem ou eliminam a necessidade de tempo de inatividade ou interrupções planejadas, como manutenção agendada. O monitoramento contínuo de infraestrutura, aplicativos e serviços deve ser vinculado à correção automatizada, se possível. Um usuário nunca deve saber quando ocorre uma atualização ou versão incremental.

Comparar práticas de operação tradicional e contínua
Em um modelo empresarial tradicional, a TI impõe o que é lançado e controla todos com processos e procedimentos rígidos.
Essa abordagem causa um desalinhamento entre as equipes de desenvolvimento e a governança de TI. As equipes de desenvolvimento são em sua maioria ágeis, focadas na velocidade e esperam lançar com a frequência que desejarem. Para eles, a governança de TI parece ser um gargalo que não está alinhado com os objetivos de tempo de mercado esperados das necessidades de negócios atuais.

Importante
Quando implementado corretamente, o DevOps pode oferecer inovação (velocidade) e continuidade dos negócios (controle).
Em um ciclo de vida de desenvolvimento tradicional:
- O teste é feito pouco antes de entrar no ar.
- O monitoramento frequentemente é delegado.
- A segurança geralmente é consultada nos estágios de teste.
- Durante a entrega, as verificações de segurança do código e todos os controles de Gerenciamento de Serviços devem ser feitas.
- A conformidade geralmente não faz parte da entrega, mas algo que "aparece" durante o estado operacional de um serviço.
- O planejamento de resiliência/continuidade é feito como parte da fase de design, mas o teste real de cenários relacionados geralmente só é feito durante as operações ou fase de teste, o que pode levar a alterações de configuração, retrabalho e esforço desperdiçado.
- A colaboração entre operações, segurança e conformidade e desenvolvedores geralmente é feita de forma reativa por meio do gerenciamento de incidentes e processos de gestão de problemas.
- Deixar a automação até os estágios finais geralmente deixa poucos recursos para fazer isso.

Novos métodos, tecnologias e formas de trabalho exigem uma nova abordagem para operações contínuas. As oito principais práticas de Operações Contínuas a seguir surgiram e continuam evoluindo:
- Segurança & conformidade desde o projeto reconhece que determinados padrões e legislação, assim como requisitos de negócios, como rastreabilidade e auditabilidade, devem ser levados em consideração durante o projeto de ambientes de nuvem altamente automatizados.
- Continuidade &resiliência requer estreita colaboração com a organização para garantir que as necessidades de negócios sejam refletidas no design e na implementação.
- A telemetria e o monitoramento podem ser usados para descobrir padrões de uso do cliente, possíveis novas necessidades e informações detalhadas sobre onde os usuários encontram erros. Essas ferramentas também podem ajudar a garantir que o valor seja entregue.
- O Gerenciamento de Serviços é uma conversa diferente em uma cultura de DevOps:
- Mudar para significa que você é dono disso. Você o cria, executa-o e, quando ele quebra, você o corrige.
- Concentre-se no que é necessário.
- Capacitar a governança.
- Facilite a transparência.
- Cultura & colaboração são essenciais para operações contínuas. As organizações geralmente são obrigadas a alterar a maneira como trabalham para facilitar a transformação para as equipes do DevOps. A colaboração também é essencial ao projetar para segurança e resiliência.
- As Operações de Automação &AI/ML são aspectos importantes do que diferenciam o DevOps (e a nuvem) em comparação com as equipes de operações tradicionais. O foco deve estar em todo o sistema sendo automatizado (automação sistêmica) e não apenas em uma área.
- A Implantação Contínua usa pipelines de versão modernos para permitir que as equipes de desenvolvimento implantem novos recursos com rapidez e segurança, permitindo um fluxo contínuo de valor do cliente e reduzindo o tempo para corrigir problemas.
- O teste Shift-right usa práticas como inicialização escura, sinalizadores de recursos, monitoramento e testes A/B. Em seguida, as equipes podem continuar os testes para garantir que um aplicativo atenda às expectativas de comportamento, desempenho e disponibilidade durante o uso ao vivo.

Para evoluir em uma abordagem de DevOps, deve ocorrer uma grande mudança de paradigma na cultura para fornecer valor empresarial com uma abordagem de TI moderna.
| TI tradicional | TI moderna | |
|---|---|---|
| ADN | Intermediação | Remoção da intermediação |
| Entrega de serviço | Baseado em onda | Baseado em iteração contínua |
| Estabilidade do serviço | Design para sucesso (HA/redundante) | Design para falha (resiliente) |
| Níveis de delegação | Silos de TI | Serviços de ponta a ponta |
| Processos | Em documentos, otimizados, reprojetados | Autoatendimento, conhecimento, baixo atrito, automatizado |
| Automação | Isolada, iniciada manualmente | Sistêmico, disparado, automático |
| Monitorização | Elemento, com foco em falhas | Serviço, com foco na funcionalidade de ponta a ponta |
| Apoio | Service Desk/Contact Center | Atendimento ao cliente/autoatendimento |
| Ciclo de vida | N-1 ou mais antigo | N, N+1 |
| Configuração/Gerenciamento de Ativos | Configuração descoberta/manual | Prescrito, declarativo, automatizado |
Essas alterações resultam em processos simplificados e automatizados, incentivos de resultados alinhados, risco reduzido e uma abordagem centrada no cliente.