Computação sem servidor
O que é a Função do Azure?
O que é a Função do Azure?
Azure Functions is the serverless computing service on Microsoft Azure. While the service is here to stay, keep in mind that its Linux Consumption option retires on September 30, 2028. Developers utilize it to not manage servers but still execute code. Various events will trigger code-running, which is why it’s used by event-driven apps.
Azure Functions suporta multiple languages and is used for file uploads, web APIs, data stream processing, and other functions based on triggers/binding.
You’ll find Azure Functions within the Azure serverless ecosystem. Integrate it with Event Grid, Logic Apps, and Service Bus to scale cloud apps up or down.
Quando devo usar o Azure Functions?
You should use Azure Functions for task scalability based on triggers and events. The tool might be suitable if infrastructure management isn’t your priority, but running code is still necessary.
O Azure Functions é usado por desenvolvedores solo e organizações maiores. Os eventos para os quais você pode precisar usar a ferramenta incluem alterações de data, acionadores de temporizador e solicitações HTTP. Functions run only when activated by a trigger. To share data with other resources, bindings connect to the function to handle input and output automatically.
Você também pode usar o Azure Functions para integração de sistema/automação de fluxo de trabalho. Outros casos de uso são processamento de dados e criação de API. Alguns cenários comuns nos quais você usaria o Azure Functions são:
- Envio de e-mails/notificações e outras formas de automação de tarefas
- Criação de API sem servidor e microsserviço
- Integração com o Azure Storage, Logic Apps e ferramentas semelhantes
- Processamento de dados de sensores/dispositivos IoT
Revise a documentação do Azure Functions e veja os modelos/exemplos disponíveis antes de usá-lo.
Quais opções de hospedagem estão disponíveis para o Azure Functions?
Azure Functions gives you five main options: Flex Consumption, Premium, Dedicated, Azure Container Apps, and the older Consumption plan—though its Linux setup retires on September 30, 2028.(Microsoft Learn). On top of that, you can use KEDA to run functions on your own Kubernetes cluster with community support.
Preços e recursos variam dependendo de cada plano, o que significa que você precisará considerar sua carga de trabalho esperada. Pense em seus requisitos de escalabilidade e conectividade antes de fazer uma escolha. Desempenho, custos e recursos também devem ser analisados.
| Recurso | Plano de Consumo | Plano Premium | Plano Dedicado | KEDA |
|---|---|---|---|---|
| Características de Escalonamento | ||||
| Tipo de Escalonamento | Automático orientado a eventos | Automático orientado a eventos com controle aprimorado | Manual ou automático | Automático baseado em Kubernetes |
| Escalonamento em repouso | Reduz para zero quando inativo | Instâncias pré-aquecidas disponíveis | Sempre em execução | Escalonamento configurável |
| Desempenho e Recursos | ||||
| Nível de Desempenho | Desempenho básico | Desempenho aprimorado | Recursos dedicados | Desempenho baseado em contêiner |
| Alocação de recursos | Serverless | Recursos dedicados | Recursos fixos | Recursos do cluster Kubernetes |
| Custo e faturamento | ||||
| modelo de preços | Pagamento por execução | Taxa fixa com bursting | Custo mensal fixo | Com base no uso do cluster |
| Previsibilidade de Custos | Variável | Mais previsível | Altamente previsível | Depende do gerenciamento do cluster |
Quais são os benefícios de usar o Azure Functions?
The reasons to use Azure Functions come down to: automatic scaling, a choice of languages and pay-per-use pricing. arquitetura sem servidor dimensiona as cargas de trabalho com base na demanda, o que significa que os desenvolvedores podem se concentrar na codificação; no entanto, pode ser necessário alterar as regras de forma intermitente se suas necessidades mudarem.
Você pode usar o Azure Functions com JavaScript, Python e outras linguagens de programação. Você pode usar o Azure Functions com outros serviços do Azure, mas serviços externos podem ser utilizados em seu lugar. Os desenvolvedores usam o Azure Functions para funções baseadas em vários acionadores de eventos/associações de dados. Like AWS Lambda and Google Cloud Run functions, Azure is also a functions as a service (FaaS) platform.
Você também deve usar o Azure Functions para teste e implantação enquanto controla gerenciamento de acesso por meio do easy-auth. Os desenvolvedores podem usar o Azure Functions em nuvens em ambientes híbridos; você também pode pensar sobre o preço de pagamento por uso.
O que são Funções Duráveis?
Funções Duráveis é uma extensão do Azure Functions. Os desenvolvedores a usam para criar funções com estado sem servidor. Você deve usar Funções Duráveis se tiver fluxos de trabalho de longa execução que são mais complexos e podem precisar de pontos de verificação ou reinicializações automáticas. O gerenciamento de estado também deve ser considerado ao usar Funções Duráveis. According to Forrester (2024), serverless is still primarily used for short, lightweight tasks, while Durable Functions pick up the slack for longer, stateful workloads.
Use the Durable Functions’ programming model for stateful workflows/managing orchestrations. Coordinating multiple functions is also something you may need to consider. Use Durable Functions for:
- Processos de aprovação
- Processamento periódico de dados
- Fluxos de trabalho de interação humana
Quais idiomas posso usar para o Azure Functions?
Developers can use Azure Functions with PowerShell, Python, Java, TypeScript, C#, JavaScript, and other programming languages. Fully supported and preview (Microsoft Learn) are the two levels you can use.
While fully supported languages have native support that enables you to develop/run functions solely in one language, preview is more limited and should be used for testing/exploration.
Conclusão
O Azure Functions é uma ferramenta que você deve considerar usar se precisar de computação sem servidor; ele pode ajudar com escalabilidade, eficiência e custo-benefício, mas você precisará considerar as desvantagens de não gerenciar seu servidor. Use o Azure Functions para APIs da Web, sistemas orientados a eventos e requisitos semelhantes.