Guia: Criando aplicativos sem servidor

Hoje estamos elaborando um guia para a criação de aplicativos sem servidor. Inclui 3 seções principais: criação de lógica sem servidor, configuração de gatilhos e uso de ligações. Inscreva-se agora!



1. Introdução


Imagine trabalhar para uma empresa de escadas rolantes que investiu pesadamente em tecnologia IoT para rastrear seu produto localmente. Você controla o processamento de dados dos sensores de temperatura nos mecanismos de acionamento das escadas rolantes. Você acompanha os dados de temperatura e adiciona um sinalizador para indicar que a temperatura do mecanismo de acionamento está muito alta. Nos sistemas a jusante, esses dados permitem determinar a necessidade de serviço.

Sua empresa recebe dados de sensores de vários locais e de diferentes modelos de escadas rolantes. Esses dados são fornecidos em vários formatos, incluindo o envio de arquivos em lote, recuperações agendadas do banco de dados, mensagens na fila e dados recebidos do hub de eventos. Você deseja desenvolver um serviço reutilizável que permita processar dados de temperatura de todas essas fontes.

Ao desenvolver serviços como esse usando estratégias tradicionais de arquitetura corporativa, você precisará considerar a infraestrutura do servidor e sua manutenção com antecedência: aloque o equipamento necessário, planeje sua instalação, coordene o trabalho com o departamento de TI para gerenciá-lo etc. A computação sem servidor é uma alternativa. Com a computação sem servidor, o provedor de nuvem gerencia o provisionamento e a manutenção da infraestrutura, permitindo que você se concentre completamente na criação de aplicativos lógicos. O serviço Azure Functions é um componente essencial da oferta de Computação sem Servidor do Azure, permitindo que você execute trechos de código ou funções escritas em sua própria linguagem de programação por conta própria na nuvem.

Objetivos de aprendizagem


Neste módulo, você aprenderá como executar as seguintes tarefas:

  • Determinando a adequação da computação sem servidor para atender às necessidades de negócios.
  • Crie um Aplicativo de Recursos do Azure no Portal do Azure.
  • Executando uma função usando gatilhos.
  • Rastreando e testando recursos do Azure no portal do Azure

Determinando a adequação da computação sem servidor para atender às necessidades de negócios


Para ajudá-lo a descobrir se a computação sem servidor deve ser aplicada, primeiro forneceremos informações gerais sobre esse conceito.

O que é computação sem servidor?


A computação sem servidor é um FaaS (recurso como serviço) ou microsserviço hospedado em uma plataforma em nuvem. A lógica de negócios é executada no formato de funções, o que significa que você não precisa preparar ou dimensionar manualmente a infraestrutura. Todo o gerenciamento de infraestrutura é realizado pelo provedor de serviços em nuvem. O aplicativo aumenta ou diminui automaticamente, dependendo da carga. O Azure oferece várias maneiras de criar esse tipo de arquitetura. As duas abordagens mais comuns estão usando os Aplicativos Lógicos do Azure e os Recursos do Azure. Neste módulo, vamos considerá-los.

O que são os Recursos do Azure?


Recursos O Azure é uma plataforma de computação sem servidor. Ele permite que os desenvolvedores implementem a lógica de negócios que pode ser executada sem preparar a infraestrutura. As funções são estruturalmente bem dimensionadas e você paga apenas pelos recursos realmente usados. O código de função pode ser criado em qualquer linguagem conveniente, incluindo C #, F # e JavaScript. O NuGet e o NPM também são suportados, o que possibilita o uso de muitas bibliotecas populares na lógica de negócios.

Benefícios da solução de computação sem servidor


A computação sem servidor é uma ótima opção para hospedar código de lógica de negócios na nuvem. Os serviços sem servidor, como o Azure Functions, permitem criar lógica de negócios em qualquer idioma que seja adequado a você. Você obtém o dimensionamento automático, não precisa se preocupar com o gerenciamento de servidores e paga apenas pelos recursos realmente utilizados, e não pelo tempo reservado. Abaixo estão mais alguns recursos da solução sem servidor que você precisa considerar.

Falta de alocação excessiva de infraestrutura


Suponha que você preparou servidores de máquinas virtuais e forneceu a eles recursos suficientes para cargas de pico. Durante períodos de pouca carga de trabalho, é provável que você pague por infraestrutura não utilizada. A computação sem servidor ajuda a resolver o problema da alocação excessiva de recursos, uma vez que o dimensionamento é realizado automaticamente e você paga apenas pelo trabalho ativo da função.

Lógica sem estado


Funções sem estado são ótimas para computação sem servidor; instâncias de função são criadas e excluídas mediante solicitação. Se o rastreamento de estado for necessário, ele poderá ser armazenado no serviço de armazenamento apropriado.

Gerenciamento de eventos


Funções são orientadas a eventos. Isso significa que eles são executados apenas em resposta a algum evento (acionador), por exemplo, recebendo uma solicitação HTTP ou adicionando uma mensagem à fila. Os gatilhos são configurados na definição da função. Essa abordagem simplifica bastante a base de códigos, permitindo declarar apenas fontes de dados (ligação de gatilho / entrada) e destino (ligação de saída). Você não precisa escrever para criar seu próprio código para trabalhar com filas, blobs, hubs etc. Tudo o que resta é criar lógica de negócios.

As funções podem ser usadas em ambientes de computação tradicionais.


As funções são um componente essencial da computação sem servidor, mas, ao mesmo tempo, servem como plataforma de computação para a execução de qualquer tipo de código. Se o aplicativo precisar ser alterado, você sempre poderá implantar o mesmo projeto em um ambiente de servidor familiar, ganhando flexibilidade para controlar o dimensionamento, iniciar em redes virtuais e até isolar completamente as funções.

Desvantagens de uma solução de computação sem servidor


A computação sem servidor nem sempre é ideal para hospedar a lógica de negócios. A seguir, estão alguns dos recursos que podem afetar sua decisão de hospedar serviços na computação sem servidor.

Prazo de execução


Por padrão, as funções usam um tempo de espera de 5 minutos. Pode ser aumentado, mas não mais que 10 minutos. Se a função demorar mais de 10 minutos, poderá ser hospedada em uma máquina virtual. Além disso, se seu serviço iniciar com uma solicitação HTTP e você esperar receber uma resposta HTTP, o tempo de espera será limitado a 2,5 minutos. E, finalmente, há uma oportunidade adicional de criar funções estáveis ​​para orquestrar o desempenho de várias funções sem limite de tempo.

Frequência de execução


A segunda característica é a frequência de execução. Se é esperado que vários clientes executem a função continuamente de uma só vez, seria razoável avaliar o uso e calcular o custo do uso das funções adequadamente. Talvez hospedar um serviço em uma máquina virtual seja mais barato.

Ao dimensionar a cada 10 segundos, apenas uma instância do aplicativo de função pode ser criada, mas não mais de 200 instâncias no total. Lembre-se de que cada instância pode servir várias execuções simultâneas, ou seja, não há limite na quantidade de tráfego que cada instância pode manipular. Diferentes tipos de gatilhos têm diferentes requisitos de dimensionamento. Examine o gatilho selecionado e suas limitações associadas.

Crie um aplicativo de recurso no portal do Azure


Este tutorial requer uma sandbox

A sandbox fornece acesso gratuito aos recursos do Azure necessários para este tutorial. Sua assinatura do Azure não será cobrada.

Entre na sandbox

Agora você está pronto para começar a implementar o serviço de controle de temperatura. No módulo anterior, você determinou que uma solução sem servidor é mais adequada para resolver seus problemas. Agora vamos criar um aplicativo de função para armazenar a função do Azure.

O que é um aplicativo de funções?


As funções são colocadas em um contexto chamado aplicativo de função. Os aplicativos de funções permitem agrupar e estruturar logicamente funções e computar recursos no Azure. Em nosso exemplo, você criará um aplicativo de função para hospedar o serviço de controle de temperatura para o acionamento do elevador. Para criar um aplicativo de recursos, é necessário tomar várias decisões, incluindo a escolha de um plano de serviço e uma conta de armazenamento adequada.

Escolhendo um plano de serviço


Os aplicativos de funções podem usar um dos dois tipos de plano de serviço. O primeiro desses tipos é um plano de serviço baseado no consumo. Esse plano é útil ao usar a plataforma de aplicativos do Azure sem servidor. Um plano de serviço baseado em consumo fornece dimensionamento automático e o pagamento é cobrado apenas pela duração das funções. Um plano de serviço baseado em consumo permite que você configure um período de espera para concluir uma função. Por padrão, esse período é de 5 minutos, mas pode ser aumentado para 10 minutos.

O segundo tipo é o Plano de Serviço de Aplicativo do Azure. Esse plano evita períodos de espera executando continuamente o aplicativo na máquina virtual selecionada. Se você usar um plano de serviço de aplicativo, precisará gerenciar os recursos para o aplicativo em que a função é executada. A rigor, isso não nos permite considerar o plano sem servidor. Mas, em algumas circunstâncias, funciona melhor, por exemplo, se as funções forem usadas constantemente ou exigirem mais poder de processamento ou tempo de execução mais longo do que um plano baseado em consumo pode fornecer.

Requisitos da conta de armazenamento


O aplicativo de função criado deve estar vinculado à conta de armazenamento. Você pode selecionar uma conta de armazenamento existente ou criar uma nova. O aplicativo de funções usa essa conta de armazenamento para operações internas, como log de execução de funções e gerenciamento de gatilhos de execução. Se um plano de serviço baseado em consumo for usado, o código de função e os arquivos de configuração também serão armazenados aqui.

Criando um Aplicativo de Função


Vamos criar um aplicativo de recursos no portal do Azure.

Faça logon no portal do Azure usando a mesma conta com a qual você ativou a sandbox.

Clique no botão Criar Recurso no canto superior esquerdo do portal do Azure e selecione Introdução> Aplicativo de Função sem Servidor para abrir a coluna Criar para o aplicativo de função. A mesma coluna pode ser aberta através do item de menu Cálculos> Função do aplicativo.



Escolha um nome de aplicativo globalmente exclusivo. Será usado como o URL base do seu serviço. Você pode nomear, por exemplo, escalator-functions-xxxxxxx, substituindo as cruzes pelas iniciais e ano de nascimento. Se esse nome não for globalmente exclusivo, tente outras combinações. Os caracteres válidos são a - z, 0–9 e -.

Selecione a assinatura do Azure em que deseja hospedar o aplicativo de recursos.

Selecione um grupo de recursos existente chamado [nome do grupo de recursos da caixa de areia].

Selecione seu sistema operacional Windows.

Para Plano de canal, selecione Plano de consumo, que é usado para alocação sem servidor.

Na lista, selecione a localização geográfica mais próxima de você. No sistema de trabalho, você precisa escolher o local mais próximo das funções de seus clientes ou consumidores.

Uma sandbox gratuita permite criar recursos em um subconjunto das regiões globais do Azure. Ao criar qualquer recurso, selecione uma região da seguinte lista:

  • Oeste dos EUA 2
  • Centro-Oeste dos Estados Unidos
  • Centro-Sul dos EUA
  • EUA Central
  • Leste dos EUA
  • Europa Ocidental
  • Sudeste da Ásia
  • Leste do Japão
  • Brasil sul
  • Sudeste da Austrália
  • Índia central

Para o parâmetro Pilha de tempo de execução, selecione JavaScript na lista suspensa, pois é nesse idioma que implementaremos exemplos de funções neste exercício.

Crie uma conta de armazenamento. O Azure o nomeará automaticamente usando o nome do aplicativo. Você pode substituir esse nome por qualquer outro, mas sempre exclusivo.

Verifique se o Azure Application Insights está ativado e selecione a região mais próxima de você (ou de seus clientes).

Escolha Criar. A implantação levará vários minutos. Após a conclusão, você receberá uma notificação.

Validando um Aplicativo de Recursos do Azure


No menu no lado esquerdo do portal do Azure, selecione Grupos de Recursos. Você verá o grupo de recursos [nome do grupo de recursos da caixa de areia] na lista de grupos disponíveis.

.

Selecione o grupo de recursos [nome do grupo de recursos da caixa de areia]. Uma lista de recursos aparece, semelhante à imagem a seguir.



O elemento relâmpago designado aqui como serviço de aplicativo é a nova função de aplicativo. Clique nele para abrir os detalhes do novo recurso. Ela recebe uma URL pública que pode ser aberta no navegador e verifique se o aplicativo de funções está funcionando corretamente.

Você pode continuar estudando o guia em nosso portal Microsoft Learn .

Source: https://habr.com/ru/post/pt430194/


All Articles