BLOG

Domando a complexidade e permitindo a entrega de aplicativos modernos em escala

Miniatura F5
F5
Publicado em 19 de novembro de 2020

Todo mundo conhece os pioneiros digitais, os Facebooks e Googles do mundo. As empresas que inventaram os ricos sistemas de engajamento de hoje e estabeleceram o padrão para experiências digitais atraentes. Mesmo que a grande maioria de vocês faça parte de grandes organizações, é provável que vocês não tenham os mesmos recursos de engenharia de software do Facebook e do Google. No entanto, seus clientes esperam o mesmo nível de capacidade de resposta, desempenho e riqueza nas experiências que você oferece.  

É difícil competir com empresas de hiperescala e nativas da nuvem. Imagino que você sinta que está exigindo todo o seu esforço e engenhosidade para estar um passo à frente da disrupção. E isso foi antes de uma pandemia global acelerar a transformação digital que está criando mais complexidade em seus sistemas e reduzindo sua margem de erro. No mundo digital, os clientes estão a apenas um clique de distância de mudar para um concorrente após apenas uma experiência ruim.

Mas com esse desafio vem uma oportunidade. A promessa dos aplicativos modernos é a capacidade de desenvolver, implantar e entregar aplicativos de forma rápida e confiável, garantindo que seus clientes tenham acesso aos aplicativos de que precisam, sempre que precisarem. Para suas equipes, isso significa implantações mais rápidas e frequentes ao integrar políticas de segurança e rede reutilizáveis em seus pipelines de CI/CD. Isso libera os desenvolvedores para se concentrarem na criação de valor comercial por meio do desenvolvimento de novos aplicativos, gerando receita e vantagem competitiva ao levar novos aplicativos e recursos ao mercado mais rapidamente.

Trabalhamos com alguns de vocês nos últimos 20 anos para proteger e entregar seus aplicativos de missão mais crítica. E estamos aqui para ajudar a proteger e entregar seus aplicativos mais críticos pelos próximos 20 anos. A chave é ajudar você a se manter à frente das interrupções, fornecendo a tecnologia e as ferramentas que mantêm a complexidade baixa, ao mesmo tempo em que garante que você seja capaz de oferecer experiências seguras e ricas que impulsionem seus negócios.  

A visão das aplicações adaptativas

Na semana passada, Kara Sprague falou sobre como as empresas podem levar seus aplicativos monolíticos e de três camadas para o mundo dos aplicativos adaptáveis — aplicativos que crescem e diminuem automaticamente, se auto-corrigem e fornecem telemetria avançada para melhorar continuamente. Para esses aplicativos tradicionais, BIG-IP, iRules e outras soluções F5 podem funcionar como um wrapper para adaptá-los a sistemas modernos.  

A visão de aplicativos adaptáveis para aplicativos modernos no front-end da experiência complementa essa abordagem. Trata-se de criar um ambiente onde você pode adotar a inovação do desenvolvedor e iterar rapidamente com os processos DevOps e CI/CD, mas também executar tudo em escala de uma forma que ainda forneça o desempenho e a segurança necessários para garantir uma ótima experiência do cliente.

Costumo me referir a isso como “correr com segurança com tesouras”. Todos nós sabemos que quando somos crianças não devemos correr com tesouras, mas em meio à transformação digital é isso que pedimos que nossos desenvolvedores e engenheiros de software façam. Coloque novos serviços no mercado rapidamente. Se você falhar, falhe rápido e falhe para frente. O objetivo não é impedir que os desenvolvedores usem tesouras — metaforicamente — mas torná-lo o mais seguro possível. Para garantir que seus aplicativos modernos estejam proporcionando ótimas experiências sem colocar a empresa em risco.

Esta parte da nossa visão de aplicativos adaptáveis ganha vida por meio de nossas soluções NGINX. É assim que funciona.

Gerenciando aplicativos no mundo moderno

Primeiro, vale a pena dar uma olhada no que está acontecendo na transformação para arquiteturas modernas.

Por um lado, estamos vendo uma mudança de ordens de magnitude em termos de volume. Muitos de vocês agora gerenciam milhares de aplicativos, não centenas. E você tem centenas de equipes de desenvolvimento criando esses aplicativos, não dezenas.

Imagine uma organização que fornece um aplicativo de transporte compartilhado: ela precisa de gerenciamento de passageiros, gerenciamento de viagens, gerenciamento de motoristas, notificação de pagamento, faturamento, mapas e assim por diante. Essa empresa provavelmente teria algumas centenas desses serviços para administrar o negócio e provavelmente dezenas de equipes de desenvolvimento.

Ao contrário dos dias de ambientes monolíticos, todos esses aplicativos modernos são altamente distribuídos e divididos em componentes discretos, conectados em rede em uma estrutura de microsserviços e arquitetados para serem executados nas nuvens elásticas de hoje.

Essa abordagem permite que as equipes sejam muito flexíveis e façam alterações em partes muito finitas do aplicativo. O que nos leva ao terceiro e mais importante aspecto do que separa um aplicativo moderno de um tradicional: a frequência das alterações. Costumávamos implantar revisões em um aplicativo talvez duas vezes por ano. No mundo moderno, são duas vezes por hora e, para os mais avançados, duas vezes por minuto.

Tudo isso acontece o tempo todo. Há tanta coisa acontecendo tão rápido em um ambiente moderno que simplesmente não funciona gerenciar tudo na velocidade humana. Isso tem que ser feito na velocidade da máquina. A latência humana — o tempo para concluir tarefas manualmente — é o gargalo digital.

É por isso que os aplicativos precisam se tornar adaptáveis. Aplicativos que aumentam e diminuem a escala, aplicam o desempenho certo, reforçam a segurança certa e fazem tudo isso de forma automatizada e inteligente. Quando os aplicativos assumem esse trabalho, isso permite que você e suas equipes se concentrem na melhoria contínua e na inovação.

Criatividade sem complexidade

Outra chave para aplicativos modernos é a mudança do desenvolvimento de cima para baixo com governança rígida e ciclos longos para um processo mais de baixo para cima. Trata-se de dar liberdade aos desenvolvedores para que sejam criativos e criem recursos que ajudem a resolver as necessidades dos clientes, da mesma forma que os pioneiros da nuvem fizeram.

Com os desenvolvedores tendo o poder de escolher suas próprias ferramentas de aplicativos modernos, não é surpresa que existam mais de 1.400 ferramentas disponíveis no cenário de computação nativa em nuvem. É justo dizer que se você seguir esse caminho moderno, você se verá costurando uma colcha de retalhos de ferramentas de código aberto. E se você deixar seus desenvolvedores agirem livremente, poderá acabar com centenas de ferramentas discretas, muitas das quais executam funções redundantes.

Adicione isso ao que é necessário para gerenciar, corrigir e proteger essas ferramentas. Executar um único aplicativo pode envolver de 13 a 15 fornecedores apenas na área de entrega e segurança do aplicativo.

Isso é muita complexidade para a maioria das organizações lidar com eficiência, não é? Conhecemos um grande provedor de streaming com uma equipe de mais de 100 desenvolvedores de software dedicados apenas a unir ferramentas de proxy de código aberto. Outro cliente caracterizou sua arquitetura como um Winnebago completamente coberto de adesivos de todos os “parques estaduais” (também conhecidos como ferramentas de código aberto) que já visitou.

Isso pode soar familiar para alguns de vocês. Mas em vez de impulsionar a inovação a ponto de acumular complexidade desnecessária, a pergunta que você pode se fazer é: como obter a agilidade e as experiências digitais adaptáveis que os clientes esperam, sem toda essa complexidade? E sem perder visibilidade ao tentar juntar centenas de ferramentas.

Visibilidade e percepção de todo o conjunto são muito valiosas. Eles permitem que a organização tenha um melhor desempenho, controle essa complexidade e faça melhores escolhas de design.

NGINX como um caminho para aplicativos adaptáveis

O NGINX adotou uma abordagem dupla. Primeiro, dividimos todos os serviços ao longo do caminho de dados que os clientes esperam (e são combinados para aplicativos tradicionais usando algo como BIG-IP) em ferramentas discretas e leves para aplicativos modernos.

Precisa gerenciar o tráfego? Há o NGINX Plus para balanceamento de carga. Precisa rotear e autenticar APIs? Implante o NGINX Plus como um gateway de API. Implementando o Kubernetes em produção? O NGINX Ingress Controller direciona o tráfego de entrada e saída. Gerenciando microsserviços em escala? O NGINX Service Mesh lida com o tráfego “leste/oeste” entre todos esses serviços. Preocupado com a segurança? O NGINX App Protect é implantado nativamente em todos eles para fornecer segurança próxima à lógica do aplicativo.

Na F5, oferecemos suporte à sua jornada, não importa onde você esteja em seus aplicativos modernos, desde OSS e testes de novos ambientes (como Kubernetes) até implantações híbridas e proteção e dimensionamento completos de seus aplicativos em produção. Oferecemos gerenciamento de tráfego de contêineres altamente disponível, automatizado e de alto desempenho dentro e fora do cluster, recursos de malha de serviço leves e avançados, além de segurança de aplicativos modernos totalmente suportada e especializada por meio de WAF dentro do cluster e não apenas ao redor dele, permitindo que as ameaças sejam detectadas, corrigidas e contidas antes que afetem seu ambiente de microsserviços mais amplo. Se você estiver executando aplicativos modernos em produção, a F5 é sua loja única e consultora confiável para orientá-lo ao longo do caminho.

Mas gerenciar e proteger o tráfego é apenas a primeira parte. Nossa segunda abordagem é fornecer uma solução que controle a complexidade para as equipes de operações. O NGINX permite gerenciar e monitorar tudo isso centralmente por meio de uma ferramenta: Controlador NGINX . O NGINX Controller fornece orquestração e insights sobre tráfego e segurança em todo o seu portfólio de aplicativos modernos e cadeia de ferramentas, além de oferecer a capacidade de automatizar processos e políticas por meio de portais de autoatendimento e integração de pipeline de CI/CD.

O resultado disso é o melhor dos mundos. Seus desenvolvedores ainda têm acesso de autoatendimento para usar o melhor software NGINX que eles adoram, dando a eles a flexibilidade e a agilidade necessárias para criar as experiências digitais semelhantes às do Facebook e do Google que seus clientes desejam, enquanto as equipes de DevOps e de TI implementam proteções centralizadas e obtêm visibilidade e controle para governança em escala. Isso significa maior valor comercial por meio da redução do tempo de colocação no mercado, sem adicionar complexidade.

Seus desenvolvedores podem trabalhar com tesouras com segurança.

Muitos de vocês provavelmente começaram sua transformação digital refatorando aplicativos tradicionais, onde o BIG-IP e outras tecnologias F5 trazem aplicativos adaptáveis ao cenário tradicional. Agora, com o NGINX, você obtém soluções de nível empresarial que tornam seus aplicativos modernos adaptáveis. Não importa onde você esteja na jornada digital, nós temos tudo o que você precisa, garantindo que você possa competir para atrair e reter clientes na era digital.