Computação sem servidor
O que é o Azure Function?
Published: outubro 30, 2024
Last updated: novembro 26, 2024
O que é o Azure Function?
O Azure Function é hospedado no Microsoft Azure e é uma ferramenta de computação sem servidor. Os desenvolvedores a utilizam para não gerenciar servidores, mas ainda assim executar códigos. Vários eventos acionarão a execução do código, e é por isso que ele é usado por aplicativos orientados a eventos.
O Azure Functions tem vários idiomas e é usado para uploads de arquivos, APIs da Web, processamento de fluxo de dados e outras funções com base em gatilhos/vinculações.
Você encontrará o Azure Functions no ecossistema sem servidor do Azure. Integre-o ao Event Grid, Logic Apps e Service para aumentar ou diminuir os aplicativos em nuvem.
Quando devo usar o Azure Functions?
Você deve usar o Azure Functions para escalabilidade de tarefas com base em gatilhos e eventos. A ferramenta pode ser adequada se o gerenciamento de infraestrutura não for sua prioridade, mas ainda for necessário executar o código.
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, gatilhos de temporizador e solicitações HTTP.
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?
Você pode usar quatro funções de hospedagem no Azure Functions: Consumo, Premium e Planos Dedicados, e o Kubernetes Event-Driven Autoscaler (KEDA) se precisar de hospedagem baseada em Kubernetes.
Os preços e recursos variam dependendo de cada plano, o que significa que você precisará considerar sua carga de trabalho esperada. Pense sobre seus requisitos de escalabilidade e conectividade antes de fazer uma escolha. Desempenho, custos e recursos também devem ser analisados.
Quais são os benefícios de usar o Azure Functions?
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 gatilhos de eventos/vinculações de dados.
Você também deve usar o Azure Functions para teste e implantação enquanto controla gerenciamento de acesso via 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?
O Durable Functions é uma extensão do Azure Functions. Os desenvolvedores o usam para criar funções com estado sem servidor. Você deve usar o Durable Functions 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 o Durable Functions.
Use o modelo de programação Durable Functions para fluxos de trabalho com estado/gerenciamento de orquestrações. Coordenar várias funções também é algo que você pode precisar considerar. Use Durable Functions para:
- Processos de aprovação
- Processamento periódico de dados
- Fluxos de trabalho de interação humana
Quais idiomas posso usar para o Azure Functions?
Os desenvolvedores podem usar o Azure Functions com PowerShell, Python, Java, TypeScript, C#, JavaScript e outras linguagens de programação. Totalmente compatível e experimental são os dois níveis que você pode usar.
Embora as linguagens totalmente suportadas tenham suporte nativo que permite desenvolver/executar funções somente em uma linguagem, a experimental é mais limitada e deve ser usada para teste/exploração.
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.