Partilhar via


Hospedando aplicativos no Azure

Esta é a terceira parte de uma série de 7 artigos para ajudar os desenvolvedores a começar a usar o Azure.

O Azure fornece uma variedade de maneiras diferentes de hospedar seu aplicativo, dependendo de suas necessidades. Este artigo sugere serviços que correspondam aos requisitos. Não é proscritivo. Você pode combinar e combinar serviços para atender às suas necessidades. A maioria dos ambientes de produção usa uma combinação de serviços para atender às suas necessidades comerciais e organizacionais.

Os serviços que você escolhe geralmente se resumem a duas considerações:

  • Prefere simplicidade ou controlo?
  • Você prefere nativo da nuvem (ou seja, contêineres) ou nativo do Azure (ferramentas e integrações personalizadas)

O vídeo a seguir explica a primeira consideração: simplicidade versus controle:

Simplicidade e controlo

Os serviços de hospedagem do Azure são fornecidos com duas considerações:

  • Simplicidade versus controlo
    • Plataformas de hospedagem simples exigem menos configuração e gerenciamento, mas fornecem menos controle sobre a infraestrutura subjacente.
    • Plataformas de hospedagem mais complexas exigem mais configuração e gerenciamento, mas fornecem mais controle sobre a infraestrutura subjacente.
  • Nativo da nuvem versus nativo do Azure
    • O nativo da nuvem pode ser pensado como portátil na nuvem usando cargas de trabalho de código aberto, como contêineres, e tecnologias de código aberto, como o Dapr. Os aplicativos que você cria podem ser implantados em qualquer provedor de nuvem.
    • O nativo do Azure é específico do Azure com um investimento em ferramentas e tecnologias específicas do Azure para gerenciar essa infraestrutura. Embora esses serviços incluam cargas de trabalho de contêiner, eles também incluem ferramentas code-first, low-code e de infraestrutura específicas do Azure, com ênfase na conexão e integração entre os serviços do Azure.

Hospedagem simplificada

As soluções de hospedagem simplificadas são totalmente gerenciadas pelo Azure. Você é responsável pela funcionalidade, como código e configuração do ambiente. O Azure gerencia o tempo de execução e a infraestrutura subjacentes, incluindo atualizações e patches. A hospedagem simplificada é a abordagem nativa do Azure.

  • Aplicativos lógicos: crie e execute fluxos de trabalho automatizados com pouco ou nenhum código.
  • Power Automate: use quando precisar automatizar processos de negócios e fluxos de trabalho.
  • Aplicativos Web estáticos do Azure: implante aplicativos Web estáticos gerados, como Blazor e React.
  • Aplicativos do Azure Functions: código sem servidor ou hospedagem de contêiner.

Hospedagem equilibrada

Soluções de hospedagem equilibradas equilibram a necessidade de simplicidade com a necessidade de controle. Você é responsável pela funcionalidade, como código e configuração do ambiente. O Azure gerencia o tempo de execução e a infraestrutura subjacentes, incluindo atualizações e patches. Você também pode trazer seu próprio contêiner para o serviço. A hospedagem balanceada é nativa do Azure e nativa da nuvem.

  • Serviço de Aplicativo do Azure: hospedagem na Web de serviço completo, incluindo tempos de execução de idioma, contêineres e cargas de trabalho de automação.
  • Aplicativos de contêiner do Azure: hospedagem de contêiner sem servidor.
  • Azure Spring Apps: migre aplicativos do Spring Boot para a nuvem do Azure.

Hospedagem controlada

As soluções de alojamento controlado dão-lhe controlo total sobre a infraestrutura subjacente. Você é responsável por atualizações e patches, bem como pelo código, ativos e configuração do ambiente. A hospedagem controlada é a abordagem nativa da nuvem.

Hospedagem de código-fonte

Para desenvolvedores novos no Azure que desejam iniciar um novo desenvolvimento, use o gráfico a seguir para encontrar a solução de hospedagem sugerida.

Diagrama mostrando nenhum código, código baixo na primeira caixa, código na segunda caixa e contêiner na terceira caixa com serviços recomendados para cada caixa.

Sem código ou low code

O Azure suporta soluções sem código que fazem parte da sua abordagem Azure-Cloud.

  • Aplicativos lógicos: use um designer visual com operações pré-criadas para desenvolver um fluxo de trabalho para sua empresa e cenários de empresa para empresa.
  • Power Automate como Power apps: use quando precisar automatizar processos de negócios e fluxos de trabalho dentro da organização do Microsoft 365.

Código vs contentor

As soluções de hospedagem low-code são projetadas para permitir que você traga sua funcionalidade de código sem ter que gerenciar a infraestrutura do aplicativo.

  • Aplicativos Web Estáticos do Azure: implante aplicativos Web estáticos gerados.
  • Azure Functions: implante funções de código em idiomas suportados sem ter que gerenciar a infraestrutura do aplicativo.

As soluções de hospedagem Code-first são projetadas para hospedar código. Você pode implantar seu código diretamente na solução de hospedagem.

As soluções de hospedagem Container-first são projetadas para hospedar contêineres. O serviço fornece opções e recursos de configuração específicos do contêiner. Você é responsável pelo cálculo usado dentro do contêiner. Os serviços que hospedam contêineres passam do controle gerenciado para a responsabilidade total, para que você assuma apenas a quantidade de gerenciamento de contêineres desejada.

A hospedagem de orquestração centrada no Kubernetes inclui:

Serviço Foco Utilizar
Azure Kubernetes Service Nativa da cloud Use para clusters Kubernetes com uma abordagem declarativa usando arquivos de configuração e artefatos externos.
Azure Service Fabric Nativo do Azure Use uma abordagem imperativa para implantar microsserviços em clusters de máquinas. Ele fornece um modelo de programação que permite aos desenvolvedores escrever código que descreve o estado desejado do sistema, e o tempo de execução do Service Fabric cuida de fazer com que o sistema corresponda a esse estado.

Hospedagem de contêiner pré-configurada significa que as opções de orquestração estão pré-configuradas para você. Sua capacidade de se comunicar entre contêineres ou clusters de contêineres pode exigir um serviço adicional, como o Dapr.

Serviço Utilizar
Serviço de Aplicações do Azure Hospedagem web de serviço completo
Azure Spring Apps Aplicações Spring Boot
Aplicativos de contêiner do Azure Hospedagem de contêiner sem servidor
Azure Container Instances Hospedagem simples e de contêiner único

O Azure fornece um registro de contêiner para armazenar e gerenciar suas imagens de contêiner ou você pode usar um registro de contêiner de terceiros.

Serviço Utilizar
Azure Container Registry Use quando você cria e hospeda suas próprias imagens de contêiner, que podem ser acionadas com confirmações de código-fonte e atualizações de imagem base.

Sem servidor

As soluções de hospedagem sem servidor são projetadas para executar código sem monitoração de estado, que inclui uma camada de preço baseada no consumo que pode ser dimensionada para zero quando não é usada.

Serviço Utilizar
Aplicativos de contêiner do Azure Hospedagem de contêineres.
Funções do Azure Hospedagem de código ou contêiner.

Microsserviços

As soluções de hospedagem de microsserviços são projetadas para executar serviços pequenos e independentes que trabalham juntos para compor um aplicativo maior. Os microsserviços são normalmente implantados como contêineres.

Serviço Utilizar
Aplicativos de contêiner do Azure Use para microsserviços em contêineres sem servidor.
Funções do Azure Use para código sem servidor ou microsserviços em contêineres.

Borda da nuvem

Cloud edge é um termo para indicar se o serviço de nuvem está localizado para beneficiar o usuário (cliente) ou o aplicativo (servidor).

Computação do cliente

Computação de cliente é a computação que é executada no cliente longe da nuvem do Azure. A computação do cliente é normalmente usada para renderização do lado do cliente e processamento do lado do cliente, como aplicativos móveis ou baseados em navegador.

Serviço Utilizar
Aplicativos Web estáticos do Azure Use para aplicativos Web estáticos que usam renderização do lado do cliente, como React, Angular, Svelte, Vue e Blazor.

Disponibilidade do cliente

Serviço Utilizar
Azure Front Door Use para todos os aplicativos voltados para a Internet para fornecer uma rede global segura e em cache para seus ativos estáticos e dinâmicos, incluindo proteção contra DDoS, criptografia TLS de ponta a ponta, firewalls de aplicativos e filtragem geográfica.

Computação do servidor

Os ativos de computação do servidor são arquivos que são processados pelo servidor antes de serem servidos ao cliente. Os ativos dinâmicos são desenvolvidos usando computação de servidor back-end, opcionalmente integrados com outros serviços do Azure.

Serviço Utilizar
Serviço de Aplicações do Azure Use este serviço para hospedagem típica na web. Isso suporta um amplo conjunto de pontos de extremidade de API de funcionalidade, aplicativos de pilha completa e tarefas em segundo plano. Este serviço vem com muitos tempos de execução de linguagem de programação, bem como a capacidade de fornecer sua própria pilha, linguagem ou carga de trabalho a partir de um contêiner.
Funções do Azure Use este serviço para fornecer seu próprio código nos idiomas com suporte para pontos de extremidade HTTP ou gatilhos baseados em eventos dos serviços do Azure.
Azure Spring Apps Use para implantar aplicativos Spring Boot sem alterações de código.
Aplicativos de contêiner do Azure Use para hospedar microsserviços gerenciados e aplicativos em contêineres em uma plataforma sem servidor.
Azure Container Instances Use isso para cenários de contêiner simples que não precisam de orquestração de contêiner.
Azure Kubernetes Service Use este serviço quando precisar de um cluster Kubernetes. O plano de controle para gerenciar o cluster é criado e fornecido para você sem custo extra.

Gerenciamento de ponto final do servidor

O Server Endpoint Management é a capacidade de gerenciar o ponto de extremidade do servidor e sua computação por meio de um gateway. Esse gateway fornece funcionalidades como controle de versão, cache, transformação, políticas de API e monitoramento.

Serviço Utilizar
Gestão de API do Azure Use esse serviço ao produzir suas APIs REST, OpenAPI e GraphQL com um gateway de API, incluindo cotas e limites de taxa, autenticação e autorização, transformação e respostas em cache.
Gateway de Aplicação do Azure Use para balanceamento de carga regional (camada OSI 7). Ele pode ser usado para rotear o tráfego com base no caminho da URL ou cabeçalhos de host e suporta descarregamento de SSL, afinidade de sessão baseada em cookie e recursos do Web Application Firewall (WAF).
Azure Front Door Use para balanceamento de carga global (camada OSI 7) para fornecer uma rede global segura e em cache para seus ativos estáticos e dinâmicos, incluindo proteção contra DDoS, criptografia TLS de ponta a ponta, firewalls de aplicativos e filtragem geográfica.
Gestor de Tráfego do Azure Use para distribuir tráfego por DNS (camada OSI 7) para seus aplicativos voltados para o público nas regiões globais do Azure. O Gerenciador de Tráfego usa o DNS para direcionar as solicitações do cliente para o ponto de extremidade de serviço apropriado com base em um método de roteamento de tráfego. Ele suporta vários métodos de roteamento de tráfego, como prioridade, desempenho e roteamento geográfico. É ideal para gerir o tráfego em várias regiões ou centros de dados.

Computação automatizada

A computação automatizada é automatizada por um evento, como uma agenda cronometrada ou outro serviço do Azure, e normalmente é usada para processamento em segundo plano, processamento em lote ou processos de longa execução.

Serviço Utilizar
Power Automate Use quando precisar automatizar processos de negócios e fluxos de trabalho.
Funções do Azure Use quando precisar executar código com base em uma agenda cronometrada ou em resposta a eventos em outros serviços do Azure.
Serviços de contêiner (Instâncias de Contêiner do Azure, Serviço Kubernetes do Azure, Aplicativos de Contêiner do Azure) Uso para cargas de trabalho automatizadas padrão
Azure Batch Use quando precisar de automação de alto desempenho.

cloud híbrida

A nuvem híbrida é um ambiente de computação que conecta os serviços de nuvem privada local de uma empresa e a nuvem pública de terceiros em uma infraestrutura única e flexível para executar os aplicativos e cargas de trabalho da organização.

Serviço Utilizar
Azure Arc Use quando necessário para gerenciar todo o seu ambiente, tanto na nuvem quanto recursos locais, incluindo segurança, governança, inventário e gerenciamento.

Se você não precisar manter sua própria infraestrutura, poderá usar o Azure Stack HCI para executar máquinas virtuais no local.

Computação de alto desempenho

A computação de alto desempenho (HPC) consiste na utilização de processamento paralelo para executar programas de aplicação avançados de forma eficiente, fiável e rápida. O termo aplica-se especialmente a sistemas que funcionam acima de um teraflop ou 10^12 operações de ponto flutuante por segundo.

Serviço Utilizar
Azure Batch O Azure Batch cria e gere um conjunto de nós de computação (máquinas virtuais), instala as aplicações que quer executar e agenda trabalhos para execução nos nós. Os programadores podem utilizar o Batch como um serviço de plataforma para criar aplicações SaaS ou aplicações cliente quando for precisa uma execução em grande escala.
Instâncias BareMetal do Azure Use quando precisar executar em um ambiente não virtualizado com acesso de nível raiz ao sistema operacional, armazenamento e rede.
Espaço de trabalho do Azure Quantum Use quando precisar desenvolver e experimentar algoritmos quânticos.
Genómica da Microsoft Uso para processamento genômico certificado pela ISO e em conformidade com a HIPAA.

Saiba mais sobre a computação de alto desempenho no Azure.

Computação baseada em eventos

A computação baseada em eventos é a computação acionada por um evento, como uma agenda cronometrada ou outro serviço do Azure. A computação baseada em eventos é normalmente usada para processamento em segundo plano, processamento em lote ou processos de longa execução.

Serviço Utilizar
Power Virtual Agents Use quando precisar criar chatbots com uma interface sem código.
Funções do Azure Use quando precisar executar código com base em uma agenda cronometrada ou em resposta a eventos em outros serviços do Azure.
Mensagens do Barramento de Serviço do Azure Use quando precisar dissociar aplicativos e serviços.

Computação CI/CD

A computação CI/CD é a computação usada para criar e implantar seu aplicativo.

Serviço Description
Azure DevOps Use o Azure DevOps para integração total com a nuvem do Azure, incluindo autenticação e autorização para os agentes hospedados, que criam e implantam seu aplicativo.
GitHub Actions Use as Ações do GitHub para criar e implantar seus aplicativos de repositório do GitHub. Use a CLI do Azure para acessar o Azure com segurança dentro da ação.
Máquinas Virtuais do Azure Se você usar outro sistema de CI/CD, poderá usar as Máquinas Virtuais do Azure para hospedar seu sistema de CI/CD.

Recursos Java

Recursos adicionais