BLOG

Como a nuvem e os contêineres estão levando os serviços de aplicativos a se desagregarem

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 02 de abril de 2018
  • Os aplicativos orientam decisões sobre tudo, desde a localização até o formato da infraestrutura de entrega de suporte. 55% das organizações escolhem uma nuvem com base nas necessidades e requisitos do aplicativo. 40% querem poder escolher o formato certo para o aplicativo. (Estado de entrega de aplicativos 2018)
  • À medida que as arquiteturas de nuvem e microsserviços dividem e distribuem aplicativos, a infraestrutura compartilhada se torna um fardo em vez de um benefício, aumentando os custos de capital e operacionais. 
  • Custo, configuração e atualizações são os principais motivadores do suporte a arquiteturas por aplicativo com serviços de aplicativos por aplicativo.
  • Uma abordagem por aplicativo para serviços de aplicativos é necessária para dar suporte a aplicativos e arquiteturas modernas

Nos últimos anos, vimos um esforço concentrado de provedores de nuvem – Amazon, Microsoft, Google, et al. – para atender à necessidade empresarial de serviços de aplicativos.

Hoje em dia, é possível encontrar diversos serviços de aplicativos (e eles estão crescendo) em mercados de nuvem que abordam segurança (como firewalls de aplicativos da web), bem como desempenho (armazenamento em cache) e até mesmo gerenciamento de identidade. Isso não é nenhuma surpresa. As empresas dependem de uma média de 16 serviços de aplicativos diferentes para tornar seus aplicativos mais rápidos e seguros. A cada ano esse número aumenta. As empresas não vão sacrificá-los pela velocidade da nuvem.

Nesse sentido, os serviços de aplicativos estão influenciando tanto os clientes quanto os provedores de nuvem. Mas não é uma via de mão única. A nuvem – e cada vez mais os contêineres – também está tendo um impacto significativo nos serviços de aplicativos e na forma como eles são entregues.  

À medida que as organizações empresariais continuam a investir em nuvem privada (local) e a experimentar contêineres, elas estão descobrindo que o modelo tradicional de entrega de serviços de aplicativos nem sempre é uma boa opção.

Como a maioria das redes, os serviços de aplicativos são entregues há muito tempo por meio de uma plataforma (geralmente chamada de Application Delivery Controller ou ADC) suportada por hardware escalável e confiável. Esses dispositivos foram projetados para alta disponibilidade e escalabilidade, capazes de suportar centenas de aplicativos simultaneamente. A infraestrutura compartilhada – seja de rede ou de aplicativo – há muito tempo apresenta vantagens em termos de custos. Fazia sentido distribuir o capital e as despesas operacionais entre vários aplicativos.

Até que surgiram aplicativos e arquiteturas onde isso não acontecia.

Há um número crescente de aplicativos e arquiteturas que exigem uma abordagem mais afim ao aplicativo. A moderna variedade de microsserviços, por exemplo, exige uma plataforma rápida, escalável e acessível para implantar serviços de aplicativos para um único aplicativo.

Plataformas de serviços compartilhados não podem atender a essa demanda da mesma forma que uma plataforma por aplicativo propositalmente arquitetada. Há três boas razões para isso:

  1. Custo. Você não sai e compra uma van para doze passageiros se você é a única pessoa que irá usá-la. Todo esse espaço extra custa mais dinheiro no início e no funcionamento. Nas situações certas (e para as aplicações certas), a infraestrutura compartilhada reduz o custo por aplicação e faz muito sentido financeiro e operacional. Mas se você estiver tentando dar suporte a apenas um único aplicativo, isso só aumentará as despesas sem agregar valor.
  2. Configurações. Aplicativos e arquiteturas modernas estão sendo desenvolvidos e implantados com atualizações frequentes em mente. Se você estiver compartilhando uma plataforma com outros oito aplicativos — que não estão no mesmo cronograma — eles podem ficar um pouco irritados se algo der errado e afetar seus aplicativos. Sem mencionar que quanto mais configurações — e quanto maiores elas se tornam — mais tempo leva para ler e verificar essas configurações toda vez que elas precisam ser recarregadas ou alteradas.
  3. Atualizações. Quando Bob quer atualizar essa plataforma compartilhada e você não, quem ganha? Se Bob vencer - e isso quebrar uma aplicação - ninguém ganha, é quem.  Atualizações de infraestrutura compartilhada podem ser uma proposta assustadora. Eles também podem levar a um tempo adicional gasto na atualização ou aprimoramento (ou até mesmo na migração) de configurações para as versões mais recentes, o que nos leva de volta ao problema número um e aos custos que podem aumentar.

Há uma necessidade (e uma demanda) por uma plataforma de serviço de aplicativo projetada propositalmente para oferecer suporte a apenas um único aplicativo. Ao reduzir a responsabilidade para um único aplicativo, o tamanho (e a complexidade) da configuração é reduzido, o raio de alcance de uma atualização com falha para um único aplicativo é limitado e o custo de aquisição e operação é reduzido.

Por causa da nuvem, dos contêineres e dos microsserviços. Por causa do DevOps e da economia digital que leva as organizações a entregar com mais rapidez e frequência.

Aplicações e arquiteturas estão mudando. Os ambientes estão mudando. Isso significa que os serviços de aplicativos – e seus mecanismos de entrega – também devem mudar.