O que é "cloud native" e por que há tanto entusiasmo em torno do conceito

CLOUD NATIVE 5 de Abr de 2022

De acordo com o Gartner, até 2025, as plataformas cloud native servirão de base para mais de 95% das novas iniciativas digitais. Essas plataformas são especiais pois oferecem uma abordagem moderna para construir e executar aplicações, explorando a flexibilidade, escalabilidade e a resiliência da nuvem.

O Gartner define cloud native como uma abordagem criada para impulsionar a adoção dos recursos oferecidos pela nuvem. Esses recursos fazem parte da definição original de computação em nuvem e incluem capacidades entregues “como serviço” (as a service) que são, ao mesmo tempo, escaláveis ​​e elásticas, medidas pelo uso, baseadas em serviços, distribuídas e compartilhadas.

Já o entusiasmo em torno do cloud native é resultado das possibilidades que envolvem a própria computação em nuvem. A adoção da cloud está crescendo e agora é mainstream. Mas, como as organizações podem tirar o melhor proveito disso? Apesar da enorme oferta de plataformas e serviços, muitas dúvidas ainda pairam no ar.

Entre as principais questões apontadas pelos executivos de tecnologia para a consultoria estão:

  • Relação entre os conceitos de cloud native, multi-cloud, cloud híbrida e cloud distribuída
  • Como o cloud native afeta a arquitetura e padrões de design das aplicações
  • Seus impactos na transformação digital das empresas
  • “Lift and shift” para a nuvem

Neste artigo, procuramos elucidar algumas dessas questões.

A confusão em torno do termo cloud native

A confusão em torno de “cloud native” é resultado de múltiplas interpretações do termo, que já é amplamente utilizado. Identificamos quatro usos diferentes do cloud native, que podem ser até mesmo parecer contraditórios:

O primeiro trata da própria definição do Gartner, ou seja, “cloud native” diz respeito ao aproveitamento dos recursos da nuvem de forma otimizada.

O segundo é uma visão focada na arquitetura como, por exemplo, em aplicações 12-factor. Essa abordagem é popular entre organizações que aprofundam abordagens centradas na arquitetura de sistemas, mas não representa o uso mais comum do termo.

O terceiro uso é o chamado CSP-native (de “Cloud Service Provider”). Essa é a interpretação mais comum do termo. Basicamente, significa o uso dos recursos nativos da plataforma de nuvem. Os exemplos incluem plataformas como serviço, zonas de disponibilidade ou serverless. Por exemplo: se você usa Amazon, está aproveitando os recursos nativos da Amazon Web Services (AWS), como o Amazon Relational Database Service (Amazon RDS) e o AWS Lambda. Um termo melhor para descrever isso é "CSP-native" ou um termo específico do provedor, como "nativo da AWS".

O quarto uso é o “container-native”. Este é um foco em tecnologias específicas, como por exemplo containers e Kubernetes. É impulsionado pela organização Cloud Native Computing Foundation (CNCF), que promove essas tecnologias. Aqui vale ressaltar que o uso de containers não precisa ser necessariamente cloud native.

Cloud native vs. multi-cloud vs. cloud híbrida

Cloud native representa um conceito que se aplica em ambos os cenários: multi-cloud e cloud híbrida. A multi-cloud abrange nuvens públicas, pois envolve vários provedores de nuvem pública. Já a cloud híbrida se estende entre nuvem pública e nuvem privada.

A nuvem privada não precisa ser on-premises, mas geralmente é. Os termos “nuvem privada” e “nuvem híbrida” exigem que haja computação em nuvem real.

“Nuvens privadas” são raras, já que a maioria das implementações on-premises (locais) são melhor descritas como “virtualização inspirada na nuvem”.

[Aproveite para conferir o nosso conteúdo sobre Como proteger seu negócio da indisponibilidade dos provedores de cloud?]

Como o cloud native impacta na sua estratégia de nuvem?

Conceitos como cloud native (e outros, como multi-cloud) estão surgindo cada vez mais nas estratégias das organizações. Eles aparecem especialmente como princípios que impulsionam a tomada de decisões na nuvem, fundamentais para dar vida a uma estratégia desse modelo.

Em particular, cloud native e multi-cloud podem potencialmente entrar em conflito ou reforçar um ao outro. Isso depende de qual significado é desejado como princípio. A abordagem container-native, aproveitando os containers para algum grau de portabilidade, reforça um objetivo de arquitetura multi-cloud. Já a abordagem CSP-native tem o efeito oposto, incentivando o uso de recursos específicos de um Cloud Service Provider.

Cloud native e transformação digital

Iniciativas de nuvem e esforços para implementar a transformação digital nas empresas geralmente ocorrem simultaneamente. Muitas vezes ambos os termos são usados de forma intercambiável, o que pode parecer confuso. Mas, para que os esforços de transformação digital sejam verdadeiramente transformadores, é necessária uma mudança real. Ou seja: a nuvem é necessária, mas não é suficiente para essa mudança.

O digital requer mudança em nível de modelo de negócio, além do impulsionamento efetivo dos recursos digitais, o que inclui a nuvem. No entanto, é importante ressaltar que o uso de tecnologias de nuvem e abordagens cloud native em si não garantem a transformação em nível de negócios digitais, uma vez que a transformação digital também inclui uma transformação em nível cultural e organizacional das empresas.

Arquitetura cloud native

Arquitetura cloud native representa o conjunto de princípios de arquitetura de aplicação e padrões de design que permitem que as aplicações utilizem plenamente os recursos fornecidos pela computação em nuvem. Ou seja, aplicações cloud native são arquitetadas para serem latentes, instrumentadas, cientes de falhas, orientadas a eventos, seguras, paralelizáveis, automatizadas e com atenção ao consumo de recursos.

Princípios e padrões cloud native permitem que as aplicações operem com eficiência em um ambiente dinâmico e aproveitem ao máximo os benefícios da nuvem. Porém, as organizações que simplesmente “deslocam” suas aplicações legadas para a nuvem geralmente descobrem que essas aplicações passaram a ter um desempenho ruim, a consumir recursos excessivos e talvez o pior de tudo: não são capazes de falhar e se recuperar adequadamente.

Cloud native e o "Lift and Shift"

O termo “lift and shift” comumente refere-se à migrar uma aplicação do seu ambiente existente para um novo ambiente baseado em nuvem sem alterar a lógica ou o modo como a aplicação funciona. Da mesma forma que esforços cloud native não necessariamente garantem os benefícios de impulsionar a nuvem - uma vez que é quase certa uma execução ruim, a partir dos pontos observados neste artigo - o “lift and shift” tampouco é capaz de assegurar um impulsionamento ideal da nuvem.

No entanto, a abordagem puramente “lift and shift” pode muito bem ser uma boa opção para algumas situações. Migrações completas para a nuvem como parte do encerramento de um datacenter é um exemplo de quando isso pode fazer sentido. Por outro lado, se uma aplicação for reescrita para aproveitar todas as vantagens que a cloud oferece, será mais provável que entregue o resultado esperado.

Contar com um parceiro especializado em serviços de cloud faz toda a diferença na estratégia competitiva das empresas para extrair o melhor benefício de cada modelo proposto neste artigo. Veja como a O2B pode te apoiar nesta jornada, acessando este link.

Andre Galvani

CEO @ O2B