BLOG

A consistência multinuvem é multicamada

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 17 de junho de 2019

Consistência. No mundo da tecnologia, usamos esse termo para descrever a característica de equivalência. Algo é consistente se se comporta da mesma maneira ao longo do tempo ou em condições variáveis. A consistência continua sendo um problema para empresas que operam em um mundo com várias nuvens. De acordo com nosso relatório State of Application Services de 2019 , essa é a maioria (87%) de vocês.

Certamente, a variação nas taxas de implantação entre data centers e nuvem para serviços de aplicativos aponta para uma causa simples: não implantar serviços de aplicativos de forma consistente.

Mas essa não é a única causa de inconsistência. Muitas pessoas, de acordo com a mesma pesquisa, estão implantando serviços de aplicativos no local e na nuvem pública, mas ainda enfrentam dificuldades com consistência, principalmente em termos de segurança.

Isso exige um mergulho mais profundo no que significa "consistência", porque suspeito que parte do problema esteja na falha em reconhecer que existem duas camadas diferentes de consistência e ambas são importantes.

Os serviços de aplicativos não são controladores de entrega de aplicativos

No centro desta discussão sobre consistência está a diferença entre um controlador de entrega de aplicativo (ADC) e um serviço de aplicativo.

O ADC é uma plataforma que fornece serviços de aplicativos. O ADC é um sistema em si mesmo, da mesma forma que o Kubernetes é um sistema em si mesmo. Kubernetes é uma plataforma para implantação e operação de contêineres. Um ADC é uma plataforma para implantar e operar serviços de aplicativos.

ADC vs AS

Isso é importante porque as plataformas (ou sistemas, se preferir) carregam consigo uma noção diferente de consistência do que as "coisas" que elas implantam e operam. A consistência está na camada operacional, ou seja, no gerenciamento e na operação da plataforma e dos serviços de aplicativos que ela fornece.

Consistência funcional

Isso é bem diferente da consistência funcional, que é oferecida por cada serviço de aplicativo. A consistência funcional compreende os recursos do serviço do aplicativo. É geralmente a isso que as pessoas se referem quando indicam um desafio com consistência multinuvem, porque é o mais visível.

A consistência funcional é particularmente difícil de alcançar ao implantar serviços de aplicativos de diferentes provedores. Um WAF ou serviço anti-bot de um fornecedor não é necessariamente equivalente funcionalmente a um WAF ou serviço anti-bot de outro fornecedor.

Um dos motivos pelos quais as organizações enfrentam dificuldades com a consistência em várias nuvens não é porque elas não implantam serviços de aplicativos na nuvem, mas porque implantam diferentes serviços de aplicativos com recursos funcionais inconsistentes. A padronização com base na equivalência funcional ajudará as organizações a alcançar a consistência que elas lutam para alcançar.

Operações e consistência funcional

Consistência operacional

A segunda fonte de inconsistência, menos mencionada, está na camada da plataforma. Esse é o ADC para um número significativo de organizações empresariais. Ao migrar para a nuvem pública, muitas organizações optam (intencionalmente ou acidentalmente) por empregar opções nativas da nuvem para serviços de aplicativos.

Isso introduz imediatamente inconsistência operacional na camada de plataforma. A maneira como você provisiona, integra e opera esses serviços de aplicativos é operacional e introduz dívida operacional no momento em que você se conecta à primeira API.

Provavelmente você não está usando serviços de aplicativos nativos da nuvem no local. O que significa que agora você tem duas plataformas de serviços de aplicativos diferentes para lidar. Eles têm diferentes métodos de gerenciamento, análise, monitoramento, tudo.

É como usar dois ADCs diferentes no local. Embora algumas organizações muito grandes façam isso funcionar, ao longo dos anos percebemos que a maioria das organizações padroniza em uma única plataforma ADC. A consistência operacional e a capacidade de replicar políticas de serviço de aplicativos em todos os aplicativos foram um fator determinante para essa decisão.

Mas ao migrar para a nuvem, alguns se esqueceram do motivo pelo qual padronizaram uma plataforma ADC em primeiro lugar: consistência operacional e suporte. A introdução de plataformas adicionais necessariamente aumenta a carga sobre as operações e prejudica a busca pela consistência.

Consistência precisa de padronização

Padronização pode ser um termo assustador para algumas pessoas que acreditam que ela sufoca a inovação. Mas o mais assustador é uma situação de vale-tudo que pode incentivar a inovação, mas que a longo prazo é insustentável e cria um ambiente operacional caótico.

Com a TI sob pressão para entregar valor aos negócios, aumentar a equipe operacional para manter múltiplas plataformas e uma variedade de serviços de aplicativos parece ortogonal ao objetivo de alcançar consistência em várias nuvens.

A padronização — especialmente na camada operacional — é um componente essencial para a inovação porque alivia a carga da equipe de se concentrar em plataformas operacionais e incentiva a colaboração em políticas e arquitetura.

Ao garantir consistência operacional e funcional em todas as propriedades, as organizações podem atingir a consistência de políticas desejadas sem estourar seus orçamentos.