O que é nativo da nuvem?

Foto de data center com porta aberta com acesso ao rack do servidor

O que é nativo da nuvem?

Nativo da nuvem refere-se menos a onde uma aplicação reside e mais a como ela é criada e implementada. Uma aplicação nativa da nuvem consiste em componentes discretos e reutilizáveis, conhecidos como microsserviços, que são projetados para se integrar a qualquer ambiente em nuvem.

  • Uma aplicação nativa da nuvem consiste em componentes discretos e reutilizáveis, conhecidos como     ,que são projetados para se integrar a qualquer ambiente de nuvem.

  • Esses microsserviços funcionam como blocos de construção e, geralmente, são empacotados em contêineres.

  • Os microsserviços trabalham juntos como um todo para formar uma aplicação, mas cada um pode ser dimensionado de forma independente, melhorado continuamente e iterado rapidamente por meio de processos de automação e orquestração.

  • A flexibilidade de cada microsserviço aumenta a agilidade e a melhoria contínua das aplicações nativas da nuvem.
Vista aérea de rodovias

Fique por dentro da nuvem 


Receba o boletim informativo semanal do Think para ver orientações especializadas sobre a otimização das configurações multinuvem na era da IA.

Microsserviços e contêineres

Microsserviços (também chamados de arquitetura de microsserviços) é uma abordagem de arquitetura na qual uma única aplicação é composta por muitos componentes menores, vagamente acoplados e implementáveis de forma independente ou serviços. Esses serviços (também chamados de microsserviços) normalmente têm seu próprio stack de tecnologia, incluindo banco de dados e modelo de dados. Eles se comunicam entre si por meio de uma combinação de APIs REST, fluxo de eventos e agentes de mensagens.

Porque os microsserviços podem ser implementados e reimplantados de forma independente, sem afetarem uns aos outros ou interromper a experiência do usuário final. Eles são uma combinação perfeita para metodologias de entrega automatizadas e iterativas, como integração contínua/implementação contínua (CI/CD) ou DevOps.

Além de serem usados para criar aplicações nativas da nuvem, os microsserviços podem ser usados para modernizar aplicações tradicionais monolíticas.

Em uma pesquisa da IBM® com executivos de TI, executivos desenvolvedores e desenvolvedores, 87% dos usuários de microsserviços concordaram que a adoção de microsserviços vale a pena e o esforço.

Os desenvolvedores frequentemente implementam microsserviços dentro de contêineresleves, componentes de aplicação executáveis que combinam o código-fonte da aplicação (neste caso, o código dos microsserviços) com todas as bibliotecas e dependências do sistema operacional (SO) necessárias para executar o código em qualquer ambiente. Menores, mais eficientes em termos de recursos e com maior portabilidade do que as máquinas virtuais (VMs), os contêineres são as unidades de computação de facto das aplicações nativas da nuvem.

Os contêineres amplificam os benefícios dos microsserviços, permitindo uma experiência consistente de implementação e gerenciamento em um ambiente multinuvem híbrida — nuvens públicasnuvem privada e infraestrutura local. Mas à medida que as aplicações nativas da nuvem se multiplicam, o mesmo acontece com os contêineres e a complexidade de gerenciá-los. A maioria das organizações que usam microsserviços em contêineres também usam uma plataforma de orquestração de contêineres, como o Kubernetes, para automatizar a implementação e o gerenciamento de contêineres em escala.

Desenvolvimento de aplicações

Venha conosco: desenvolvimento de aplicações para empresas na nuvem

Neste vídeo, o Dr. Peter Haumer explica como é o desenvolvimento atual das aplicações empresariais modernas na nuvem híbrida, demonstrando diferentes componentes e práticas, incluindo o IBM® Z Open Editor, o IBM Wazi e o Zowe. 

Vantagens e desvantagens

Os clientes da IBM se encontram cada vez mais encarregados de aprimorar as aplicações existentes, construir novas aplicações e aprimorar a experiência do usuário. As aplicações nativas da nuvem atendem a essas demandas melhorando o desempenho, a flexibilidade e a extensibilidade dos aplicativos.

Vantagens

  • Em comparação com os aplicativos monolíticos tradicionais, as aplicações nativas da nuvem podem ser mais fáceis de gerenciar à medida que melhorias iterativas ocorrem usando processos ágeis e DevOps.

  • Compostas por microsserviços individuais, as aplicações nativas da nuvem podem ser aprimoradas de forma incremental e automática para adicionar continuamente funcionalidades novas e aprimoradas às aplicações.

  • As melhorias podem ser feitas de forma não intrusiva, sem causar downtime ou interrupção da experiência do usuário final.

  • Aumentar ou reduzir a escala fica mais fácil com a infraestrutura elástica que sustenta os aplicativos nativos da nuvem.

  • O processo de desenvolvimento nativo da nuvem se aproxima mais da velocidade e da inovação exigidas pelo ambiente de negócios atual.

Desvantagens

  • Embora os microsserviços permitam uma abordagem iterativa para a melhoria das aplicações, eles também criam a necessidade de gerenciar mais elementos. Em vez de uma grande aplicação, torna-se necessário gerenciar um número muito maior de serviços pequenos e discretos.

  • Os aplicativos nativos da nuvem exigem conjuntos de ferramentas extras para gerenciar o pipeline de DevOps, substituir estruturas de monitoramento tradicionais e controlar a arquitetura de microsserviços.

  • As aplicações nativas da nuvem permitem um desenvolvimento rápido e uma implementação, mas também exigem uma cultura empresarial que possa lidar com o ritmo dessa inovação.

Exemplos de aplicações

As aplicações nativas da nuvem geralmente têm funções específicas. Considere como as aplicações nativas da nuvem podem ser usada em um site de viagens. Cada tópico abordado pelo site (voos, hotéis, carros, especiais) é seu próprio microsserviço. Cada microsserviço pode implementar novas funcionalidades independentes dos outros microsserviços. Promoções e descontos também podem ser planejados de forma independente. Embora o site de viagens seja apresentado aos clientes como um todo, cada microsserviço permanece independente e pode ser dimensionado ou atualizado conforme necessário, sem afetar outros serviços.

O IBM Cloud Garage oferece aos clientes da IBM experiência em consultoria para criar aplicativos escaláveis, inovadores e nativos da nuvem com rapidez. Ele oferece um hub de inovação onde empresas de todos os tamanhos podem projetar e criar aplicativos que resolvem necessidades comerciais reais.

Princípios de desenvolvimento

Seja para criar uma nova aplicação nativa da nuvem ou modernizar uma aplicação existente, os desenvolvedores seguem um conjunto consistente de princípios:

  • Siga a abordagem de arquitetura de microsserviços: divida as aplicações em serviços de função única conhecidos como microsserviços. Os microsserviços são fracamente acoplados, mas permanecem independentes, permitindo a melhoria incremental, automatizada e contínua de uma aplicação sem causar downtime.

  • Confie em contêineres para máxima flexibilidade e escalabilidade: os contêineres empacotam o software com todo o seu código e dependências em um só lugar, permitindo que o software seja executado em qualquer lugar. Isso permite a máxima flexibilidade e portabilidade em um ambiente multinuvem. Os contêineres também permitem o rápido aumento ou redução de escala com políticas de orquestração do Kubernetes definidas pelo usuário.

  • Adote métodos ágeis: os métodos ágeis aceleram o processo de criação e aprimoramento. Os desenvolvedores podem iterar rapidamente as atualizações com base no feedback do usuário, permitindo que a versão da aplicação de trabalho corresponda o mais próximo possível às expectativas do usuário final.

Armazenamento

Aplicações nativas da nuvem frequentemente dependem de contêineres. O apelo dos contêineres é que eles são flexíveis, leves e portáteis. O uso inicial de contêineres tendia a se concentrar em aplicações sem estado que não tinham necessidade de salvar dados do usuário de uma sessão de usuário para a próxima.

No entanto, à medida que mais funções de negócios principais migram para a nuvem, a questão do armazenamento persistente deve ser abordada em um ambiente nativo da nuvem. Isso exige que os desenvolvedores considerem novas formas de abordar o armazenamento em nuvem.

Assim como o desenvolvimento de aplicações nativas da nuvem adota uma abordagem de microsserviços e modular, o armazenamento nativo da nuvem também deve adotar. Os dados nativos da nuvem podem residir em qualquer número de locais— como registros de eventos ou do sistema, bancos de dados relacionais e armazenamentos de documentos ou objetos.

Localização de dados, demandas de retenção, portabilidade, compatibilidade de plataformas e segurança são apenas alguns dos aspectos que os desenvolvedores devem considerar ao planejar o armazenamento nativo da nuvem.

Aplicações nativas da nuvem versus aplicações tradicionais

Nativo da nuvem versus habilitado para a nuvem

Uma aplicação habilitada para nuvem é aquela que foi desenvolvida para implementação em um data center tradicional, mas posteriormente foi alterada para que também pudesse ser executada em um ambiente de nuvem. No entanto, as aplicações nativas da nuvem são desenvolvidas para operar apenas na nuvem. Os desenvolvedores projetam aplicações nativas da nuvem para serem escaláveis, independentes de plataformas e compostas por microsserviços.

Nativo da nuvem versus pronto para a nuvem

Na breve história da computação em nuvem, o significado de "pronto para a nuvem" mudou várias vezes. Inicialmente, o termo aplicado a serviços ou software projetados para funcionar na internet. Atualmente, o termo é usado com mais frequência para descrever uma aplicação que funciona em um ambiente de nuvem ou um aplicativo tradicional que foi reconfigurado para um ambiente de nuvem. O termo "nativo da nuvem" tem uma história mais curta e se refere a uma aplicação desenvolvida desde o início para funcionar apenas na nuvem. E para aproveitar as características da arquitetura de nuvem ou de um aplicativo existente que foi refatorado e reconfigurado com princípios nativos da nuvem.

Nativo da nuvem versus baseado na nuvem

Um serviço ou aplicação baseado na nuvem é fornecido pela internet. É um termo geral aplicado livremente a qualquer número de ofertas de nuvem. Nativo da nuvem é um termo mais específico. Nativo da nuvem descreve as aplicações projetadas para funcionar em ambientes de nuvem. O termo denota aplicações que dependem de microsserviços, integração contínua e entrega contínua (CI/CD) e podem ser usadas por meio de qualquer plataforma de nuvem.

Nativo da nuvem versus a prioridade na nuvem

A nuvem primeiro descreve uma estratégia de negócios na qual as organizações se comprometem a usar os recursos de nuvem primeiro ao iniciar novos serviços de TI, atualizar serviços existentes ou substituir tecnologias legadas. A economia de custos e a eficiência operacional impulsionam essa estratégia. As aplicações nativas da nuvem combinam bem com uma estratégia de nuvem, porque usam apenas recursos de nuvem e são projetadas para aproveitar as características benéficas da arquitetura da nuvem.

Soluções relacionadas
IBM Enterprise Application Service for Java

Um serviço de locatário único, totalmente gerenciado, para desenvolver e entregar aplicações Java.

Explore os aplicativos em Java
Soluções de DevOps

Utilize softwares e ferramentas de DevOps para desenvolver, implementar e gerenciar aplicações nativas da nuvem em diversos dispositivos e ambientes.

Explore as soluções de DevOps
Serviços de desenvolvimento de aplicações empresariais

Com o desenvolvimento de aplicações na nuvem você só constrói uma única vez, itera rapidamente e implementa em qualquer lugar.

Serviços de desenvolvimento de aplicações
Dê o próximo passo

Os serviços de consultoria de desenvolvimento de aplicações da IBM® Cloud oferecem orientação de especialistas e soluções inovadoras para simplificar sua estratégia em relação à nuvem. Trabalhe com os especialistas em nuvem e desenvolvimento da IBM para modernizar, escalar e acelerar suas aplicações, trazendo resultados transformadores para os seus negócios.

Explore os serviços de desenvolvimento de aplicações Comece a criar com a IBM® Cloud sem custo