Otimize o desempenho do aplicativo na nuvem
99% das vezes, a palavra “manual” pode muito bem ser sinônimo de letargia e imprevisibilidade; a maioria concordaria que, ao buscar velocidade e confiabilidade, a automação é um bom lugar para começar. Quer você esteja criando recursos de nuvem adicionais para dimensionar um aplicativo ou implantando e configurando serviços essenciais de aplicativos, isso deve ser tão simples quanto executar uma chamada de API ou clicar um ou dois vezes em um console. Utilizar infraestrutura como código (IaC) é a chave para o sucesso aqui. Trabalhar com seus colegas de Infraestrutura/NetOps/SecOps para estabelecer arquivos de definição validados que detalham o que e como as coisas estão sendo implantadas permitirá que você provisione infraestrutura e serviços de maneira rápida, repetível e confiável.
Aproveitar essa abordagem padronizada para implantações de autoatendimento acabará tornando você menos dependente de outras equipes e evitará gargalos de implantação causados por solicitações baseadas em tickets para provisionamento manual de infraestrutura.
A infraestrutura como código representa um passo na direção certa ao tentar acelerar implantações, mas há ganhos consideravelmente maiores a serem obtidos ao explorar o valor de um pipeline completo de CI/CD . Além da capacidade de integrar novos códigos de aplicativos com mais frequência e ter essas atualizações enviadas para produção automaticamente, você sabia que também pode integrar a inserção de serviços de aplicativos em seu pipeline? Ao definir esses serviços como código (IaC) e armazená-los em uma ferramenta de controle de origem onde eles podem ser monitorados, atualizados e verificados regularmente, suas ferramentas de CI/CD (como Ansible e GitLab) podem extrair automaticamente esses serviços para a implantação por meio de uma chamada de API. Ao fazer isso, você garantirá que cada aplicativo seja lançado com os controles de segurança e conformidade apropriados, sem atrasar as implantações.
A capacidade de agrupar o código, as bibliotecas e os binários necessários para um aplicativo inteiro em um pacote leve que pode ser implantado de forma rápida e consistente em todas as plataformas é a base para o recente aumento na adoção de contêineres. Essas características são um bom presságio ao otimizar a velocidade na nuvem, fornecendo a capacidade de criar e dimensionar aplicativos dinamicamente, acelerar processos de CI/CD e criar arquiteturas de microsserviços altamente dinâmicas e gerenciáveis.
Deixando esse exagero de lado, pode ser muito fácil se deixar levar pela busca por velocidade e esquecer que ainda há aplicativos que exigem os mesmos (ou maiores) níveis de segurança e otimização de desempenho do aplicativo que o restante do seu portfólio de aplicativos. E, infelizmente, você provavelmente terá sucesso limitado ao tentar adaptar serviços de aplicativos existentes para atender às necessidades específicas dos contêineres. Em vez disso, você precisará identificar um conjunto mais dinâmico de serviços que se integrem ao seu sistema de orquestração de contêineres para realmente dar suporte aos seus contêineres , ajudando a evitar interrupções indesejadas e problemas de segurança/conformidade.
4. Visibilidade do conhecimento é poder
Ter aplicativos prontos e funcionando rapidamente é uma coisa. Mantê-los lá e disponíveis para os usuários é um desafio totalmente diferente. Há uma infinidade de possíveis ameaças à saúde dos seus aplicativos quando em produção: interrupções de rede, problemas de plataforma, ataques cibernéticos e bugs de código, para citar apenas alguns. Isso geralmente faz com que a tarefa de solucionar problemas de uma única interrupção de aplicativo pareça uma busca por uma agulha em um palheiro, mas considere a magnitude de várias falhas simultâneas de aplicativos em diferentes ambientes de nuvem. Por onde você começaria?
Nesse cenário, a visibilidade é precursora do conhecimento , o que a torna inestimável na busca por resolução de problemas de aplicativos. Quanto maior o grau de visibilidade que você tiver em cada camada da pilha de seus aplicativos, maior será sua capacidade de identificar anomalias operacionais e causas raiz. Para isso, é fundamental implementar uma solução de visibilidade centralizada que seja independente de nuvem e aplicativo para resolver problemas de aplicativo mais rapidamente em arquiteturas de várias nuvens.
E, finalmente, a agilidade na nuvem não se trata apenas de ter as ferramentas e tecnologias certas (sim, elas definitivamente ajudam). Também se trata de pessoas e processos. Há alguma verdade no ditado que diz que “ Uma rede é tão rápida quanto seu fio mais lento”. E essa citação é verdadeira quando aplicada às equipes responsáveis por criar, implantar e gerenciar aplicativos na nuvem. É um esforço de equipe que geralmente abrange, no mínimo, DevOps, SecOps, NetOps e arquitetos, o que significa que ineficiências individuais ou colaborativas provavelmente afetarão a equipe como um todo.
Obtenha o State of Application Services 2020: Edição DevOps
Quebrar silos e impor um modelo de engajamento regular e robusto entre as equipes fornecerá uma boa base para ajudar a acelerar o planejamento, a solução de problemas e o compartilhamento de informações, garantindo que todos estejam marchando no mesmo ritmo. Você não só poderá aproveitar melhor a expertise multifuncional para facilitar sua vida, mas também poderá retribuir defendendo coisas como automação e otimização de processos em outras ocupações, ajudando todos a se moverem mais rápido.