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.
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êineres—leves, 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úblicas, nuvem 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.
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.
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.
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:
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.
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.
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.
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.
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.
Um serviço de locatário único, totalmente gerenciado, para desenvolver e entregar aplicações Java.
Utilize softwares e ferramentas de DevOps para desenvolver, implementar e gerenciar aplicações nativas da nuvem em diversos dispositivos e ambientes.
Com o desenvolvimento de aplicações na nuvem você só constrói uma única vez, itera rapidamente e implementa em qualquer lugar.