Durante anos nos disseram que "existe um aplicativo para isso". E até agora, descobri que isso é verdade em grande parte. Tenho aplicativos para coisas que nunca pensei que precisaria de um aplicativo. Mas quando eu fiz isso e fui procurar, lá estava, como mágica.
Agora, ninguém anda por aí dizendo "existe um serviço de aplicativo para isso", mas talvez devessem. Pelo menos nos limites da TI. Porque assim como geralmente há um aplicativo para o que eu preciso fazer, geralmente há um serviço de aplicativo para o que um desenvolvedor precisa fazer – ou abordar – em ambientes de produção.
Tomemos como exemplo a segurança. Esse foi o principal problema na produção, de acordo com desenvolvedores em uma pesquisa da RisingStack.
Agora, a pesquisa não entrou em detalhes sobre o que exatamente é um ponto problemático na segurança (embora eu tenha certeza de que, se perguntássemos, obteríamos uma grande variedade de respostas). O que eu sei é que 38% dos entrevistados em uma função de aplicativo (desenvolvedores) em nossa pesquisa State of Application Delivery de 2018 marcaram “aumento da sofisticação dos ataques” como seu principal desafio de segurança para o próximo ano. 26% disseram falta de habilidades de TI em segurança e 23% disseram dificuldade em proteger aplicativos – especialmente aplicativos da web – contra ataques.
Se encararmos o ponto problemático por essa lente (e já que é meu blog, farei isso), então existe um serviço de aplicativo para isso. Vários, na verdade. Mesmo que o objetivo seja corrigir virtualmente ou impedir que uma vulnerabilidade existente seja explorada.
E há muitos deles por aí. O problema é que cada violação, cada acesso não autorizado, cada bit de dado que vaza tende a ser atribuído a um desenvolvedor — mesmo quando a vulnerabilidade estava em uma biblioteca de terceiros ou escondida nas profundezas dos pacotes de um protocolo ou em uma plataforma usada por milhões (literalmente) de outros sites na Internet. Mas Lori, você está pensando, os 79% de um aplicativo composto por bibliotecas representam apenas 2% das vulnerabilidades conhecidas de acordo com uma inspeção cuidadosa.
E, no entanto, algumas das violações e perdas de dados de maior visibilidade foram devidas a esses 2% – vulnerabilidades em plataformas e bibliotecas comuns compartilhadas por milhões de pessoas.
Um firewall de aplicativo da Web (um dos trinta serviços de aplicativo que monitoramos em nossa pesquisa anual) aborda ambos – e o crescente portfólio que os invasores usam para obter acesso, drenar recursos ou roubar dados. O controle de acesso ao aplicativo também fornece uma camada de proteção para credenciais (valiosas por si só), bem como para o aplicativo e seus dados. Vale ressaltar que 75% de todos os entrevistados em nossa pesquisa anual indicaram que usam o controle de acesso a aplicativos para proteger aplicativos locais e na nuvem pública.
Da mesma forma, o desempenho não é algo que um desenvolvedor pode controlar sempre. Há o impacto dos padrões de código – que erram no lado da sustentabilidade a longo prazo – no desempenho do aplicativo. Às vezes você não pode usar a estrutura de dados ou sintaxe mais eficiente. Você precisa ter em mente que outra pessoa terá que manter e modificar esse código no futuro. Às vezes, é o impacto de variáveis fora do seu controle: capacidade, demanda, condições de rede e aquele cliente que se recusa a desistir daquele PC de dez anos com Windows ME.
Existe um serviço de aplicativo (vários, na verdade) para resolver esse problema também. Uma verdadeira infinidade de opções, desde otimização de TCP até cache, compressão e descarregamento de processamento criptográfico caro. Todos esses serviços de aplicativos podem melhorar o desempenho e encantar os usuários.
Muitas pessoas já utilizam esses serviços para tornar seus aplicativos mais rápidos e seguros, abordando problemas de desempenho e segurança.
Mas os desenvolvedores indicaram que não são apenas problemas de segurança ou desempenho que lhes dão dores de cabeça na produção, mas também a implantação, que se concentra em como executar esses aplicativos e serviços de aplicativos na produção.
Este é um problema maior que não pode ser resolvido por um único serviço de aplicação – ou mesmo uma cadeia de serviços de aplicação. Resolver o problema da implantação requer uma iniciativa mais estratégica em torno da automação e orquestração, além de adotar ideias de DevOps, como infraestrutura como código.
É necessário um esforço concentrado para que o NetOps tradicional adote os princípios e metodologias do DevOps para codificar os processos necessários para implantar as mudanças necessárias na produção, necessárias para dar suporte aos desenvolvedores.
Isso significa que os fornecedores de infraestrutura devem fornecer infraestrutura habilitada para API e oferecer suporte à capacidade de operar em um modelo mais declarativo que se baseia em modelos e artefatos de implantação em vez de CLIs.
Dos três pontos problemáticos observados pelos desenvolvedores, a implantação é o mais difícil de resolver porque não há uma única ferramenta ou tecnologia que possa resolvê-lo. É preciso colaboração e um esforço concentrado para transformar a TI de um modelo de implantação manual para a abordagem de linha de montagem automatizada do futuro.
Independentemente da facilidade ou dificuldade em abordar os pontos problemáticos dos desenvolvedores, o fato é que todos os três podem ser abordados pelo NetOps na produção. Seja com uma ajuda generosa de serviços de aplicativos ou um esforço mais dedicado à transformação digital interna, o NetOps pode tornar a mudança para a produção uma experiência menos dolorosa – e mais bem-sucedida – para todos.