O termo nativo da nuvem refere-se ao conceito de criação e execução de aplicativos para aproveitar a computação distribuída oferecida pelo modelo de entrega na nuvem. Os aplicativos nativos da nuvem foram projetados e criados para explorar a escala, a elasticidade, a resiliência e a flexibilidade que a nuvem oferece.
Conforme definido pela Cloud Native Computing Foundation (CNCF), as tecnologias nativas da nuvem capacitam as organizações a criar e executar aplicativos escaláveis em nuvens públicas, privadas e híbridas. Recursos como contêineres, malhas de serviço, microsserviços, infraestrutura imutável e interfaces de programação de aplicativos declarativos (APIs) melhor ilustram essa abordagem.
Esses recursos permitem sistemas acoplados de forma flexível, resilientes, gerenciáveis e observáveis. Eles permitem que os engenheiros façam alterações de alto impacto com frequência e o mínimo de esforço.
O cenário moderno de aplicativos complexos - com usuários que esperam inovação contínua, juntamente com uma capacidade de resposta inigualável - exige que os sistemas empresariais sejam mais estratégicos e cada vez mais flexíveis. Nativo da nuvem tem a ver com mover-se rapidamente e, ao mesmo tempo, permanecer ágil.
Os serviços nativos da nuvem capacitam o desenvolvimento de aplicativos modernos usando tecnologias como Kubernetes, Docker, funções sem servidor, APIs e Kafka. Provedores de nuvem líderes do setor habilitam ferramentas e serviços de nuvem para que desenvolvedores possam reduzir tarefas operacionais e criar aplicativos mais rapidamente. Os serviços nativos da nuvem oferecem aos desenvolvedores uma plataforma abrangente, baseada em padrões para criar, implementar e gerenciar aplicativos nativos da nuvem, como microsserviços e funções sem servidor.
Descubra como as equipes de desenvolvimento podem aproveitar todo o potencial da nuvem nativa para criar de forma rápida e fácil aplicativos modernos da nuvem que são resilientes, gerenciáveis e escaláveis.
A mudança para as tecnologias nativas da nuvem alterou permanentemente o desenvolvimento de software e os modelos de negócios, tornando possível maximizar as experiências do cliente na plataforma de uma organização. Há pouco tempo atrás, a infraestrutura de TI de muitas organizações era “amigável à nuvem”. As equipes de TI que migram para a nuvem estão se colocando em uma forte desvantagem competitiva se não maximizarem seu investimento, criando também aplicativos nativos da nuvem. Para que sua empresa sobreviva enquanto se diferencia de seus concorrentes, ajustar e iterar rapidamente é uma necessidade de negócios - e uma infraestrutura de nuvem tem a elasticidade e os recursos sob demanda para fazer a transição de qualquer negócio para nativo da nuvem.
A CNCF foi formada em 2015 em resposta à abundância de organizações e serviços que adotaram sistemas nativos da nuvem. Um projeto criado pela Linux Foundation, a CNCF é uma base de software de código aberto que promove a adoção de tecnologias nativas da nuvem. A CNCF tem mais de 400 membros, incluindo provedores de nuvem pública, empresas de software empresarial e startups de tecnologia. Microsoft, Oracle, VMware e Intel são alguns dos membros Platinum da CNCF.
A CNCF existe para garantir que a tecnologia nativa da nuvem seja acessível, disponível e confiável. Ele promove uma comunidade dedicada a projetos como Kubernetes, Prometheus e CoreDNS, oferecendo suporte a organizações que criam ambientes sustentáveis que orquestram contêineres em uma arquitetura de microsserviço.
A jornada de uma organização para a nuvem nativa pode ser assustadora, mas, no final, pode valer a pena. Esta jornada é mais do que apenas rearquitetar aplicativos. Trata-se de mudar a estrutura e a cultura de sua empresa e, finalmente, levar sua empresa adiante. Usando o Mapa de Trilhas CNCF, as empresas podem adotar tecnologias nativas da nuvem de forma incremental. Conforme esperado, a progressão ao longo da "trilha" requer a adoção de software mais complexo para fornecer microsserviços, funções sem servidor, fluxos baseados em eventos e outros tipos de aplicativos nativos da nuvem.
Aplicativos nativos da nuvem - ou aplicativos de nuvem nativos (NCAs) - são programas projetados para uma arquitetura de computação em nuvem. Eles têm muitos benefícios.
Os aplicativos nativos da nuvem são serviços independentes, empacotados como contêineres leves independentes e independentes que são portáveis e podem ser dimensionados (entrada ou saída) rapidamente com base na demanda. Encapsulando tudo em um contêiner (como um contêiner Docker), você isola o aplicativo e suas dependências da infraestrutura subjacente. Isso permite que você implemente esse aplicativo em contêiner em qualquer ambiente que tenha o mecanismo de tempo de execução do contêiner. O que é importante nas orquestrações de contêiner do Kubernetes é que elas gerenciem o ciclo de vida dos contêineres. Os aplicativos nativos da nuvem geralmente são entregues por meio de um pipeline DevOps que inclui cadeias de ferramentas de integração e entrega contínuas (CI/CD). Os pipelines de CI/CD são importantes para automatizar a criação, o teste e a implementação de aplicativos nativos da nuvem.
Arquitetura nativa da nuvem refere-se ao design de aplicativos ou serviços que foram criados especificamente para existir na nuvem, em vez de em uma infraestrutura on-premises mais tradicional. Uma arquitetura nativa da nuvem bem-sucedida precisa ser fácil de manter e suportada por uma nuvem de última geração, embora também seja econômica e com autocorreção. Em comparação com os sistemas legados, as arquiteturas nativas da nuvem têm um nível maior de flexibilidade, sem precisar contar com servidores físicos.
É aqui que microsserviços e funções sem servidor podem desempenhar um papel grande e importante. Os microsserviços são o núcleo da arquitetura de aplicativos nativos da nuvem e se tornaram uma ferramenta fundamental para as empresas que estão migrando para a nuvem. Os microsserviços organizam um aplicativo em vários serviços independentes, cada um com uma função específica. Muitas empresas de software aproveitam os microsserviços porque oferecem suporte a DevOps, permitem flexibilidade e melhoram a escalabilidade, reduzindo também os custos. Os microsserviços nativos da nuvem se comunicam entre si por meio de APIs e usam arquitetura orientada a eventos, a qual serve para aprimorar o desempenho geral de cada aplicativo. Os serviços nativos da Oracle Cloud seguem o mapa de trilhas da CNCF para ajudar a simplificar a jornada e facilitar o início da criação, implementação e gerenciamento de aplicativos nativos da nuvem modernos.
O termo funções sem servidor descreve um estilo de arquitetura que se concentra no aumento da produtividade dos desenvolvedores. Um aplicativo sem servidor permite gravar código em uma plataforma que funciona como serviço (FaaS) usando arquiteturas orientadas a eventos e vários modelos de backend como serviço (BaaS). Isso elimina a necessidade de se preocupar com provisionamento, aplicação de patches, dimensionamento, segurança, alta disponibilidade etc. Com plataformas FaaS, como Oracle Functions, os aplicativos são divididos em pequenos trechos de código (nanoserviços), que são dinamicamente programados e executados sob demanda quando acionados por um evento. A vantagem dessa abordagem é que o código é chamado e executado somente quando necessário, e você paga apenas pelos recursos usados durante a duração da execução. Isso difere de uma abordagem de servidor clássico, na qual os aplicativos são carregados em um servidor e passam a maior parte do tempo ocioso, aguardando solicitações. Assim, na computação sem servidor, você paga apenas pelos recursos de computação que realmente usa, em vez de pagar por recursos ociosos.
Os serviços nativos da nuvem estão no centro de inovações digitais e são fundamentais para análises avançadas, aplicativos móveis e chatbots. As práticas de DevOps removem a maioria das tarefas de gerenciamento associadas à criação, operação e manutenção de uma plataforma de software complexa. As atividades de desenvolvimento, implementação e teste de software residem na nuvem e podem ser expandidas ou contratadas prontamente. A mudança de aplicativos, DevOps e cargas de trabalho para uma arquitetura nativa da nuvem é essencial para manter a empresa competitiva.
Os serviços nativos de nuvem da Oracle orientam o desenvolvimento de aplicativos nativos da nuvem modernos, usando tecnologias baseadas em padrões como Kubernetes, Docker, funções sem servidor, APIs e Kafka. Muitas vezes descrito como o "sistema operacional para a nuvem", o Kubernetes é uma plataforma de código aberto para gerenciar clusters de aplicativos e serviços em contêineres. Os principais componentes do Kubernetes são clusters, nós e o plano de controle. Os clusters contêm nós. Cada nó compreende um conjunto de pelo menos uma máquina operária. Os nós hospedam pods que contêm elementos do aplicativo implantado. O plano de controle gerencia nós e pods no cluster, geralmente em muitos computadores, para alta disponibilidade.
A Oracle fornece as ferramentas e a automação da nuvem necessárias para esses serviços, para que as equipes de desenvolvimento possam reduzir tarefas operacionais e criar aplicativos rapidamente. Os serviços nativos da nuvem são executados na Oracle Cloud Infrastructure (OCI), que oferece uma plataforma baseada em padrões com desempenho mais alto e custo mais baixo. Aproveitando os serviços baseados em padrões abertos e de código aberto, a OCI torna possível que os desenvolvedores executem aplicativos em qualquer ambiente on-premises ou na nuvem sem refatoração - o que lhes dá mais liberdade para se concentrarem na criação e inovação.
O OCI Container Registry é um serviço de registro do Docker gerenciado pela Oracle baseado em padrões abertos para armazenar e compartilhar de forma segura imagens de contêiner. Engenheiros podem facilmente enviar e obter imagens Docker com a CLI (interface de linha de comando) e a API conhecidas do Docker. Para suportar ciclos de vida de contêiner, o Container Registry funciona com o Container Engine for Kubernetes da Oracle, o OCI Identity and Access Management, o Oracle Visual Builder Studio, e com ferramentas de desenvolvedor e DevOps de terceiros.
Notificações da OCI é um serviço de publicação/assinatura (pub/sub) de baixa latência e alta disponibilidade que envia alertas e mensagens para Oracle Cloud Functions, email, SMS e parceiros de entrega de mensagens, incluindo Slack, PagerDuty e ServiceNow. O serviço está integrado ao Gerenciamento de Identidade e Acesso da OCI para entrega de mensagens e acesso seguros, mesmo durante picos de tráfego. O Notificações ajuda você a criar aplicativos nativos da nuvem que sejam escaláveis e confiáveis.
O serviço de Streaming da OCI é uma plataforma de streaming de eventos em tempo real, sem servidor e compatível com Apache Kafka para desenvolvedores e cientistas de dados. Este serviço de transmissão de eventos gerenciados ingere, armazena e processa dados em escala e tempo real. Ele reduz o bloqueio por meio da compatibilidade total com APIs Kafka amplamente usadas e de código-fonte aberto.
O Container Engine for Kubernetes (OKE) é um serviço de orquestração de contêineres gerenciado pela Oracle que pode reduzir o tempo e os custos para criar aplicativos nativos da nuvem modernos. Ao contrário da maioria dos outros fornecedores, a OCI fornece o Container Engine for Kubernetes como um serviço gratuito executado em configurações de computação de alto desempenho e de custo mais baixo. Os engenheiros DevOps podem usar o Kubernetes de código-fonte aberto não modificado na portabilidade da carga de trabalho do aplicativo e para simplificar as operações com atualizações automáticas e patches.
O Oracle Cloud Functions é uma plataforma sem servidor que permite aos desenvolvedores criar, executar e dimensionar aplicativos sem gerenciar qualquer infraestrutura - ele também se integra à OCI, serviços de plataforma e aplicativos SaaS. Como o Functions se baseia no Projeto Fn de código-fonte aberto, os desenvolvedores podem criar aplicações que possam ser facilmente portadas para outros ambientes em nuvem e on-premises. O código baseado no Functions normalmente é executado por curtos períodos, e os clientes só pagam pelos recursos que usam.
O desenvolvimento de aplicativos nativos da nuvem realmente oferece aplicativos que são muito melhores do que aplicativos desenvolvidos tradicionalmente? Sim. Os benefícios para aplicativos nativos da nuvem são claros: os aplicativos nativos da nuvem podem ser dimensionados porque suas funções são divididas em microsserviços e permitem gerenciamento individual. E como eles são independentes da infraestrutura de nuvem, os aplicativos nativos da nuvem podem ser executados de forma altamente distribuída, mantendo a independência e alocando recursos com base nas necessidades dos aplicativos. Os aplicativos nativos da nuvem se tornaram uma maneira fundamental de aumentar a estratégia e o valor dos negócios, pois podem fornecer uma experiência consistente entre nuvens privadas, públicas e híbridas. Elas permitem que sua organização aproveite ao máximo a computação em nuvem, executando aplicativos nativos da nuvem responsivos e confiáveis, escaláveis e com redução de riscos.
Descubra por que os desenvolvedores estão animados com o uso de tecnologias nativas da nuvem para criar a próxima geração de aplicações e executá-los em qualquer lugar.
Aprenda a criar, observar e gerenciar aplicativos modernos, como microsserviços e funções sem servidor, usando contêineres Docker, Kubernetes, Terraform e outras tecnologias nativas da nuvem.
Crie, teste e implemente aplicações na Oracle Cloud gratuitamente.