Visão geral dos Serviços de Nuvem do Azure (clássico)
Importante
Os Serviços de Nuvem (clássicos) agora foram preteridos para novos clientes e serão desativados em 31 de agosto de 2024 para todos os clientes. Novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido).
Os Serviços de Nuvem do Azure são um exemplo de uma plataforma como serviço (PaaS). Tal como o Serviço de Aplicações do Azure, esta tecnologia foi concebida para suportar aplicações que são escaláveis, fiáveis e económicas de operar. Da mesma forma que o Serviço de Aplicativo é hospedado em máquinas virtuais (VMs), os Serviços de Nuvem do Azure também são. No entanto, você tem mais controle sobre as VMs. Você pode instalar seu próprio software em VMs que usam os Serviços de Nuvem do Azure e pode acessá-los remotamente.
Mais controlo significa também menos facilidade de utilização. A menos que você precise de mais opções de controle, normalmente é mais rápido e fácil colocar um aplicativo Web em execução no recurso Aplicativos Web do Serviço de Aplicativo em comparação com os Serviços de Nuvem do Azure.
Há dois tipos de funções dos Serviços de Nuvem do Azure. A única diferença entre os dois é como sua função é hospedada nas VMs:
Função Web: implanta e hospeda automaticamente seu aplicativo por meio dos Serviços de Informações da Internet (IIS).
Função de trabalho: não usa o IIS e executa seu aplicativo de forma autônoma.
Por exemplo, um aplicativo simples pode usar apenas uma única função Web, servindo um site. Um aplicativo mais complexo pode usar uma função Web para lidar com solicitações de entrada de usuários e, em seguida, passar essas solicitações para uma função de trabalho para processamento. (Esta comunicação poderá utilizar Barramento de Serviço do Azure ou armazenamento de filas do Azure.)
Como a figura anterior sugere, todas as VMs em um único aplicativo são executadas no mesmo serviço de nuvem. Os usuários acessam o aplicativo por meio de um único endereço IP público, com solicitações com balanceamento automático de carga nas VMs do aplicativo. A plataforma dimensiona e implanta as VMs em um aplicativo dos Serviços de Nuvem do Azure de forma a evitar um único ponto de falha de hardware.
Embora os aplicativos sejam executados em VMs, é importante entender que os Serviços de Nuvem do Azure fornecem PaaS, não infraestrutura como serviço (IaaS). Aqui está uma maneira de pensar sobre isso. Com IaaS, como as Máquinas Virtuais do Azure, você primeiro cria e configura o ambiente em que seu aplicativo é executado. Em seguida, você implanta seu aplicativo nesse ambiente. Você é responsável por gerenciar grande parte desse mundo, fazendo coisas como implantar novas versões corrigidas do sistema operacional em cada VM. Em PaaS, por outro lado, é como se o ambiente já existisse. Tudo o que você precisa fazer é implantar seu aplicativo. O gerenciamento da plataforma em que ele é executado, incluindo a implantação de novas versões do sistema operacional, é tratado para você.
Dimensionamento e gerenciamento
Com os Serviços de Nuvem do Azure, você não cria máquinas virtuais. Em vez disso, você fornece um arquivo de configuração que informa ao Azure quantos de cada um você gostaria, como "três instâncias de função Web" e "duas instâncias de função de trabalho". Em seguida, a plataforma cria-os para si. Você ainda escolhe o tamanho dessas VMs de backup, mas não as cria explicitamente. Se seu aplicativo precisar lidar com uma carga maior, você poderá solicitar mais VMs e o Azure criará essas instâncias. Se a carga diminuir, você poderá desligar essas instâncias e parar de pagar por elas.
Um aplicativo dos Serviços de Nuvem do Azure normalmente é disponibilizado aos usuários por meio de um processo de duas etapas. Um desenvolvedor primeiro carrega o aplicativo para a área de preparação da plataforma. Quando o desenvolvedor está pronto para colocar o aplicativo no ar, ele usa o portal do Azure para trocar o preparo pela produção. Essa alternância entre preparo e produção pode ser feita sem tempo de inatividade, o que permite que um aplicativo em execução seja atualizado para uma nova versão sem incomodar seus usuários.
Monitorização
Os Serviços de Nuvem do Azure também fornecem monitoramento. Como as Máquinas Virtuais, ele deteta um servidor físico com falha e reinicia as VMs que estavam sendo executadas nesse servidor em uma nova máquina. Mas os Serviços de Nuvem do Azure também detetam VMs e aplicativos com falha, não apenas falhas de hardware. Ao contrário das Máquinas Virtuais, ele tem um agente dentro de cada função Web e de trabalho e, portanto, é capaz de iniciar novas VMs e instâncias de aplicativos quando ocorrem falhas.
A natureza PaaS dos Serviços de Nuvem do Azure também tem outras implicações. Uma das implicações mais importantes é que você deve escrever aplicativos criados nessa tecnologia para serem executados corretamente quando qualquer instância de função Web ou de trabalho falhar. Para atingir esse objetivo, um aplicativo dos Serviços de Nuvem do Azure não deve manter o estado no sistema de arquivos de suas próprias VMs. Ao contrário das VMs criadas com Máquinas Virtuais, as gravações feitas nas VMs dos Serviços de Nuvem do Azure não são persistentes. Não há nada como um disco de dados de Máquinas Virtuais. Em vez disso, um aplicativo dos Serviços de Nuvem do Azure deve gravar explicitamente todo o estado no Banco de Dados SQL do Azure, blobs, tabelas ou algum outro armazenamento externo. A criação de aplicações desta forma torna-as mais fáceis de dimensionar e mais resistentes a falhas. A escalabilidade e a resiliência são objetivos importantes dos Serviços de Nuvem do Azure.