Tópico

Introdução às aplicações nativas em cloud

Para ter sucesso em mercados de ritmo acelerado e orientados por software, as empresas devem mudar a maneira como projetam, criam e usam aplicações. O desenvolvimento de aplicações nativas em nuvem é uma abordagem voltada para criação, execução e aprimoramento de aplicações com base em tecnologias e técnicas reconhecidas de cloud computing.

O que são aplicações nativas em cloud?

As aplicações nativas em nuvem são um conjunto de serviços pequenos, independentes e com baixo acoplamento. Elas são projetadas para agregar valores reconhecidos aos negócios, como a capacidade de incorporar feedbacks de usuários com rapidez visando a implementação contínua de melhorias. Ou seja, o desenvolvimento de aplicações nativas em cloud é uma maneira eficiente de acelerar a criação, otimização e conexão de aplicações entre si. A meta é entregar as aplicações que os usuários desejam no ritmo das necessidades empresariais.

Mas qual o papel da cloud nessa abordagem? Uma aplicação "nativa em cloud" é criada especificamente para fornecer uma experiência de desenvolvimento consistente e gerenciamento automatizado em clouds privadas, públicas e híbridas. As organizações adotam a cloud computing para aumentar a escalabilidade e a disponibilidade de aplicações. Esses benefícios são alcançados por meio do autosserviço e do provisionamento de recursos sob demanda, assim como pela automação do ciclo de vida da aplicação, desde o desenvolvimento até a produção.

No entanto, para utilizar totalmente esses benefícios, é necessário adotar uma nova forma de desenvolvimento de aplicações.

O desenvolvimento nativo em nuvem é justamente isso: uma abordagem de criação e atualização de aplicações com rapidez que também aprimora a qualidade e reduz o risco. Mais especificamente, é uma maneira de criar e executar aplicações responsivas, escaláveis e tolerantes a falhas em qualquer ambiente, seja em clouds públicas, privadas ou híbridas.

Resumo rápido das aplicações nativas em cloud

A expressão "desenvolvimento de aplicações nativas em cloud" parece ser mais um jargão da moda do setor de TI. Na verdade, trata-se de um conceito revolucionário que pode ajudar muitas empresas a acelerar a inovação. Pedimos a Ashesh Badani, vice-presidente e gerente geral de plataformas de cloud da Red Hat, que descrevesse o que desenvolvimento de aplicações nativas em cloud significa para ele.

Implantações de nuvem pública, privada ou híbrida?

Sem problemas. O Red Hat® OpenShift® 4 é a plataforma Kubernetes corporativa para a orquestração de containers. Se estiver criando aplicações nativas em cloud, o OpenShift 4 garante a você as ferramentas de visualização e gerenciamento centralizado necessárias para unificar as operações em qualquer ambiente.

Como criar uma aplicação nativa em cloud?

Tudo começa com as pessoas que fazem parte da sua organização e com os processos de automação que as ajudam a colaborar. Isso significa unir as equipes de desenvolvimento e operações com um objetivo em comum e fornecer feedbacks constantes por meio do método DevOps.

A adoção de containers dá suporte a essas práticas, pois essa tecnologia oferece uma unidade de implantação de aplicações ideal e um ambiente de execução autocontido. Com DevOps e containers, é mais fácil lançar e atualizar aplicações como uma coleção de serviços levemente acoplados, como os microsserviços, em vez de esperar por um único lançamento em grande escala.

O desenvolvimento nativo em nuvem se concentra na modularidade da arquitetura, no baixo acoplamento e na independência dos serviços. Cada microsserviço implementa um recurso de negócios, executa seus próprios processos e comunica-se por meio de interfaces de programação de aplicações (APIs) ou sistemas de mensageria. É possível gerenciar essa comunicação por meio de uma camada de malha de serviço.

No entanto, nem sempre é necessário começar com os microsserviços como parte da estratégia de aplicações nativas em cloud para acelerar a disponibilização delas. Muitas organizações conseguem otimizar suas aplicações legadas usando uma arquitetura pragmática e baseada em serviços. Esse tipo de otimização é viabilizada por fluxos de trabalho DevOps, como integração e implantação contínuas (CI/CD) e operações de implantação totalmente automatizadas.

DevOps

O DevOps é uma abordagem à cultura, automação e design de plataformas com o objetivo de agregar mais valor aos negócios e aumentar a responsividade.

Introdução ao DevOps

Microsserviços

Uma arquitetura de microsserviços separa as aplicações em componentes ainda menores e independentes uns dos outros.

Introdução aos microsserviços

APIs

A interface de programação de aplicações (API) é um conjunto de ferramentas, definições e protocolos usado para o desenvolvimento de software de aplicações. Ela conecta soluções e serviços, sem a necessidade de saber como esses elementos foram implementados.

Introdução às APIs

Containers

Os containers permitem empacotar e isolar aplicações com todo o ambiente de execução delas. Assim, é mais fácil movimentá-las entre ambientes diferentes sem que elas percam qualquer funcionalidade.

Introdução aos containers

O que é uma arquitetura serverless?

O principal benefício de uma estratégia nativa em cloud é que ela acelera o desenvolvimento de aplicações nas empresas que têm recursos de computação espalhados por diferentes ambientes. Por exemplo, talvez você tenha alguns recursos armazenados em servidores da Amazon, do Google e em um banco de dados do Oracle executado on-premise. Com o desenvolvimento nativo em nuvem, sua empresa agrega mais valor a partir dessa arquitetura de nuvem híbrida. No entanto, há uma tarefa extra que você pode realizar como parte da estratégia nativa em cloud.

O conceito de "serverless" se refere ao modelo de cloud computing em que os desenvolvedores não precisam provisionar servidores ou gerenciar a escala das aplicações. Na verdade, essas tarefas rotineiras são abstraídas pelo provedor da cloud, possibilitando que os desenvolvedores enviem códigos para produção com mais rapidez do que nos modelos tradicionais.

Por que criar aplicações nativas em nuvem com a Red Hat?

Seja qual for seu setor – telecomunicações, bancário, saúde ou até mesmo pecuário– no cenário atual, sua organização também é uma empresa de software que prioriza as aplicações na estratégia de negócios. A transformação para um negócio orientado por software requer mais rapidez no desenvolvimento e na entrega de novas aplicações para usuários que esperam qualidade superior. Essa não é uma tarefa fácil. A Red Hat acredita que é necessário investir em processos, infraestrutura e arquitetura para permanecer competitivo em mercados modernos que evoluem rapidamente.

Para viabilizar essas mudanças, a Red Hat acredita que as organizações precisarão de uma nova plataforma que possibilite implementar melhorias na arquitetura, na infraestrutura e nos processos. O objetivo final é conseguir disponibilizar aplicações de qualidade superior com maior agilidade.

Muitas empresas sabem que precisam acelerar os lançamentos de novos produtos e serviços e aumentar a confiabilidade deles. Isso pode ser feito por meio de abordagens como arquitetura de microsserviços e ferramentas de operações e desenvolvimento mais modernas. Historicamente, um dos maiores desafios tem sido criar o roadmap necessário para mudar os ambientes legados. O OpenShift Application Runtimes simplifica essa transformação, além de reduzir o esforço e os riscos de implementar o desenvolvimento nativo em nuvem.

Receba dicas úteis para líderes de TI no seu e-mail

Assine a newsletter Red Hat Shares para receber insights importantes sobre tecnologia, como informações sobre o desenvolvimento de aplicações nativas em cloud.

Disponível somente em inglês no momento

A base que você precisa para aplicações nativas em cloud

Cloud computing

Uma plataforma de Kubernetes e containers para acelerar a implantação de aplicações nativas em nuvem.

Cloud computing

Red Hat Openshift Application Runtimes

Uma seleção de ambientes de execução e frameworks para desenvolver aplicações nativas em nuvem.

Middleware

Red Hat Application Runtimes

Um conjunto de ambientes de execução e frameworks leves para arquiteturas em nuvem altamente distribuídas, como a de microsserviços.

Você pode fazer muito mais com aplicações nativas em cloud