BLOG

Do Monolítico ao Distribuído: O impacto da evolução de applications em ADCs

Greg Maudsley Miniatura
Greg Maudsley
Publicado em 18 de fevereiro de 2025

Blog 2 de 3

Os applications são os motores da produtividade digital, os cavalos de batalha que transformam o poder de processamento bruto em ferramentas úteis que facilitam a vida cotidiana e que transformaram o trabalho, as viagens, o entretenimento e a indústria. Esses programas de software podem variar de aplicativos que ajudam a pedir entrega de comida, guiar satélites no espaço, fornecer energia para linhas de montagem e fornecer o processamento de texto que ajudou a escrever este blog. 

Os applications evoluíram muito ao longo do tempo, evoluindo de programas básicos projetados para tarefas computacionais específicas para aplicativos modernos e dinâmicos, alimentados por IA e orientados por entradas em ambientes distribuídos. Ao observar como os applications avançaram nos últimos anos, obtemos insights sobre as maneiras como a computação se adaptou às mudanças nas necessidades dos usuários, aos requisitos comerciais e às inovações tecnológicas para moldar nosso mundo digital. Mas, à medida que os aplicativos se tornaram mais complexos, conectados, personalizados, acessíveis e inteligentes, a superfície de ataque aos application aumentou, colocando os aplicativos em maior risco de ameaças maliciosas e exploração. Simplificando, a superfície de ataque expandida apresenta uma área maior de oportunidade para os criminosos cibernéticos, que acompanharam suas próprias inovações para violar as mais recentes e melhores defesas cibernéticas.  

À medida que os applications evoluíram de aplicativos monolíticos de data centers físicos para os aplicativos de IA altamente distribuídos de hoje, é necessária uma nova geração de ADCs que converjam a segurança de aplicativos de alto desempenho e os recursos de entrega de aplicativos em uma única plataforma.

Esse cenário de ameaças cada vez mais complexo e em expansão é ainda mais complicado pela falta de uma plataforma que possa fornecer entrega e segurança consistentes de aplicativos e APIs.  Os controladores de entrega de application (ADCs) desempenharam um papel central na pilha para habilitar funções de entrega de aplicativos, mas agora os ADCs precisam evoluir para atender às necessidades em constante mudança dos ambientes atuais. Juntos, esses fatores estão impulsionando a demanda por estratégias novas e mais abrangentes que combinem segurança de aplicativos e serviços de entrega de application para fornecer proteção mais completa e gerenciamento mais simples e unificado em diversos ecossistemas de TI. 

Vamos explorar como chegamos a esse ponto, começando com os primeiros aplicativos da década de 1940.

Applications 1.0: Aplicativos monolíticos e de três camadas

Os primeiros computadores, nas décadas de 1940 e 1950, não utilizavam applications como os conhecemos hoje. Eles foram amplamente programados usando linguagem de máquina e cartões perfurados. Os primeiros applications— o que poderíamos chamar de Applications 1.0 — surgiram ao lado dos computadores mainframe centralizados das décadas de 1960 e 1970, que operavam applications monolíticos projetados para lidar com tarefas como folha de pagamento, estoque e processamento básico de dados. Essas primeiras applications eram limitadas a uma única base de código, blocos de código muito grandes e unitários que operavam em data centers isolados ou escritórios corporativos. Pense em um castelo remoto em uma colina protegido por muros altos e um fosso, onde os trabalhadores vão para obter acesso a recursos de computação centralizados usando linguagens de computador como FORTRAN e COBOL. 

Um avanço para o modelo de application monolítica chegou com applications de três camadas, que dividiam os recursos de computação em três camadas funcionais distintas, cada uma com applications separados, mas interconectados. A camada de apresentação, ou interface do usuário, era governada por applications de desktop, como software de produtividade do trabalhador (olá, WordStar), enquanto a camada de lógica de negócios incluía um servidor de application que processava solicitações do usuário e realizava cálculos. A camada de dados, ou banco de dados, armazena e gerencia dados.    

Embora os applications de três camadas fornecessem mais modularidade e flexibilidade do que os aplicativos monolíticos, esse modelo continuava dependente da infraestrutura física do data center e de recursos locais. Applications monolíticas e de três camadas continuam sendo a norma em alguns setores, incluindo saúde, bancos e governo, onde sistemas legados atendem a requisitos regulatórios rigorosos e applications de missão crítica não podem se dar ao luxo de tempo de inatividade.  

Applications 2.0: Nuvens, microsserviços e contêineres

A ascensão do comércio eletrônico na década de 1990 inaugurou a era das pontocom. Os provedores de serviços de application (ASPs) ofereciam serviços de hospedagem web semelhantes à nuvem pela World Wide Web, onde as empresas podiam lançar applications web em HTML sem precisar criar sua própria infraestrutura. Os aplicativos da Web estavam disponíveis globalmente, em qualquer lugar onde um usuário tivesse acesso discado ou banda larga. Essas applications foram divididas em três camadas: Os consumidores usavam a Internet e o software do navegador da web em seus computadores domésticos para visitar applications da web hospedados em sites ASP, enquanto os servidores de banco de dados no ASP cuidavam da compra e do armazenamento de dados dos clientes. Os aplicativos da Web ainda são dominantes no varejo on-line e têm sido fundamentais para impulsionar as operações de negócios de comércio eletrônico na Web.  

O início da década de 2010 foi a era da disrupção da nuvem, com muitos prognosticadores prevendo a morte do data center local e a ascensão da computação baseada em nuvem. Em meio à conversa sobre a transferência de toda a computação para a nuvem, muitos aplicativos foram modernizados para viver em ambientes de nuvem ou desenvolvidos na própria nuvem: applications nativos da nuvem. 

Esses aplicativos nativos da nuvem foram otimizados para escala e desempenho na nuvem, desenvolvidos do zero em arquiteturas de microsserviços, o que introduziu outra mudança de paradigma na evolução dos aplicativos. Os applications baseados em microsserviços não eram mais blocos de código autônomos e unificados, mas eram montados a partir de pequenos microsserviços implantáveis ​​de forma independente, cada um desempenhando uma única função e podendo se comunicar com outros microsserviços por meio de APIs. Microsserviços modulares foram orquestrados em applications dentro de contêineres portáteis, que são instâncias de computação virtualizadas que são autossuficientes e capazes de operar consistentemente em diferentes ambientes. Os applications baseados em microsserviços oferecem muitas vantagens em relação aos aplicativos monolíticos ou de três camadas, incluindo desenvolvimento de aplicativos mais rápido, escalabilidade aprimorada, maior flexibilidade e reutilização de serviços. 

No entanto, esses microsserviços de componentes são extraídos de bibliotecas de nuvem pública e outras plataformas remotas e retransmitidos por meio de APIs ou outros mecanismos de comunicação. Esses elementos dispersos eram difíceis de gerenciar, e expor a API aumentava a superfície de ataque do aplicativo, abrindo a porta para intrusões de rede durante a transmissão de dados e para vulnerabilidades potenciais em bibliotecas de terceiros. 

Applications 3.0: Aplicativos distribuídos e IA

Hoje, os applications estão passando por outra mudança de paradigma. A previsão da morte do data center foi muito exagerada e muitos dos portfólios organizacionais atuais mantêm uma mistura de aplicativos tradicionais e modernos que são executados em ambientes híbridos e extraem recursos locais, de ponta e de nuvem. Isso complica ainda mais a necessidade de uma plataforma consistente para consolidar a entrega e a segurança de aplicativos e APIs onde quer que estejam.

Além disso, os aplicativos estão cada vez mais complexos, dependendo não apenas de microsserviços baseados em nuvem, mas também de fluxos de dados em tempo real e novas formas de entrada. Pense em um application típico de site de viagens. Além de fotos e conteúdo tentadores sobre o destino escolhido, há mecanismos acessados por API em tempo real para reservar quartos de hotel, voos e aluguel de carros; links para previsões do tempo em tempo real; e funcionalidade de mapeamento interativo. Esses applications modernos são altamente interconectados, multiorigem e dinâmicos, contando com dados de nuvens híbridas e ambientes distribuídos para proporcionar uma experiência robusta ao cliente. 

A complexidade — e a superfície de ataque — só aumentam quando a IA é adicionada a esses applications já altamente integrados. Serviços baseados em IA, que alavancam dados de redes e dispositivos interconectados, podem incluir mecanismos de recomendação ou chatbots; um site de viagens pode sugerir destinos e atividades personalizados com base em perfis de usuários em tempo real e análises preditivas, ou oferecer monitoramento de algoritmos de preços dinâmicos. 

Os applications de IA lidam com grandes quantidades de dados e empregam padrões de tráfego complexos, fazendo solicitações grandes e frequentes a armazenamentos de dados empresariais e modelos de IA armazenados em fábricas de IA. As cargas de trabalho de IA geralmente são implantadas em infraestrutura distribuída, incluindo nuvens públicas, dispositivos de ponta e sistemas híbridos, expondo applications a riscos de segurança de dados , ataques adversários em modelos de IA e vulnerabilidades de infraestrutura. Esses desafios estão gerando a necessidade de fornecer segurança abrangente para applications ricos em API, unificados com serviços de gerenciamento de tráfego de alto desempenho e entrega de aplicativos que ofereçam suporte a aplicativos e cargas de trabalho de IA modernos, não importa onde sejam implantados.   

Evolução da application : Funcionalidade melhorada, maior complexidade

A história dos applications é, de muitas maneiras, a história da própria computação, evoluindo da resolução de cálculos matemáticos básicos na década de 1940 até os aplicativos complexos e dinâmicos de hoje, alimentados por IA e orientados por entradas de uma galáxia de sistemas remotos. O histórico de application também se reflete na crescente acessibilidade e onipresença do hardware de computação. Os applications deixaram de ser usados ​​em computadores mainframe do tamanho de uma sala, nos quais apenas especialistas conseguiam navegar, e passaram a ser usados ​​em computadores de mesa e laptops com interfaces gráficas para uso pessoal e entretenimento, e passaram a ser usados ​​em dispositivos móveis, movidos por aplicativos da web e móveis que podem ser acessados ​​em qualquer lugar e alimentados por telas sensíveis ao toque e comandos de voz. 

No entanto, esses applications cada vez mais inteligentes e dinâmicos dependem de redes e conexões que são suscetíveis a uma ampla gama de riscos de segurança, exigindo mitigações de segurança em constante evolução e ADCs otimizados para ambientes distribuídos.  O que é necessário é uma convergência de funções críticas de entrega e segurança de aplicativos para gerenciar melhor esse novo cenário de aplicativos tradicionais, aplicativos modernos e aplicativos com tecnologia de IA, todos operando em um ambiente distribuído. Acreditamos que os ADCs são a tecnologia apropriada para gerenciar isso. Mas para cumprir essa função, os ADCs precisarão evoluir para ajudar a reduzir a complexidade operacional e o risco associado aos ecossistemas digitais desarticulados de hoje.

Para saber mais, leia nossa postagem anterior no blog da série, “ Reinventando o ADC para atender às demandas de uma infraestrutura das aplicações em evolução ”. Além disso, fique ligado em nosso próximo blog para saber como a segurança de application evoluiu de acordo com as mudanças nas arquiteturas de application e por que isso exige uma nova era de ADCs.