O que é o Azure Functions?
- 7 minutos
Você segue a equipe web do Tailspin Space Game enquanto eles discutem como melhor atender aos novos requisitos de marketing orientados pelo gerenciamento. A equipe precisa integrar alguma tecnologia sem servidor, especificamente o Azure Functions, ao processo de DevOps.
Você pode dar uma olhada com a equipe.
Os novos requisitos
Irwin: Obrigado por se reunir em tão pouco tempo. As coisas estão esquentando, e a equipe de marketing fez algumas promessas que podem complicar as coisas para todos nós. Eles realmente gostam do nosso site. Eles acham que o placar de classificação pode ser usado para promover o jogo à medida que avançamos para o lançamento final e após. Eles querem dimensioná-lo muito além do que tínhamos planejado originalmente.
Mara: Isso é ótimo, certo? Estamos no Azure, para que possamos expandir o serviço o máximo necessário.
Irwin: Eles só querem a capacidade de qualquer pessoa integrar dados do placar de líderes em seus próprios aplicativos. Eles acham que seria muito legal ter as mesmas opções de placar de líderes em nosso site, no jogo, em sites de revisão de jogos e até mesmo em blogs externos e sites pessoais. Um desafio é que a equipe do motor de jogo atualmente possui o banco de dados de produção do qual extraímos dados da classificação. Eles acham que devem construir e possuir a API no futuro.
Andy: Clara, você tem alguma idéia?
Mara: Tenho certeza que podemos chegar a alguma coisa. Aqui estão minhas anotações:
- Precisamos entregar rapidamente, portanto, temos que encontrar uma solução em que possamos usar nosso código e habilidades.
- Precisamos refatorar uma pequena parte da funcionalidade em um serviço independente.
- Precisamos minimizar a sobrecarga administrativa na produção.
- Precisamos ter grande escala sem assumir um compromisso maciço.
A equipe concorda.
Ele funciona no meu computador
A reunião é interrompida. Na manhã seguinte, Andy aparece animadamente no escritório de Mara para um bate-papo improvisado.
Andy: Eu tenho isso! Encontrei uma solução que atende a todos os nossos requisitos para a API do placar de líderes. É uma oferta sem servidor chamada Azure Functions.
Mara: Fantástico! Quanto tempo até que possamos fazer uma demonstração?
Paulo: Eu já criei algo. Criei o fork do nosso repositório GitHub e refatorei o código do placar de líderes em um novo projeto do Azure Functions. Ele expõe os dados do placar de líderes por meio de uma solicitação HTTP GET simples. Também atualizei o site para usar esse endpoint ao solicitar a classificação, e qualquer outra pessoa pode fazer o mesmo.
Mara: Parece exatamente o que precisamos. Posso ajudar a estender o pipeline de CI/CD existente para dar suporte à criação e implantação dele, como fazemos para o projeto de site principal.
Observação
Este módulo não se concentra como conectar seu aplicativo ao Azure Functions. Caso esteja interessado, analise o código-fonte. O código usa o Azure Functions Runtime para C# para ler dados do placar de líderes do Azure Functions.
O que é o Azure Functions?
O Azure Functions é uma oferta específica dentro do espectro mais amplo de tecnologias de computação sem servidor do Azure. Ele fornece uma maneira fácil para os desenvolvedores criarem funções simples que existem em um ambiente sem estado e sem servidor. As funções podem ser disparadas com vários métodos, como solicitações HTTP, alterações nos dados no armazenamento e recebimento de uma mensagem de uma fila. Você pode saber mais sobre as associações de gatilho nos conceitos de gatilhos e associações do Azure Functions.
A equipe da Tailspin selecionou o Azure Functions para esse cenário porque atendeu a todas as suas necessidades:
- Precisamos entregar rapidamente, portanto, temos que encontrar uma solução em que possamos usar nosso código e habilidades.
- Podemos criar a solução rapidamente como um aplicativo ASP.NET Core aplicando o código que já temos.
- Precisamos refatorar uma pequena parte da funcionalidade em um serviço independente.
- Podemos fornecer uma função independente sem nenhuma outra área da superfície do aplicativo com a qual nos preocupar.
- Precisamos minimizar a sobrecarga administrativa na produção.
- O Azure Functions remove a necessidade de se preocupar com ambientes de hospedagem.
- Precisamos ter grande escala sem assumir um compromisso maciço.
- As tecnologias sem servidor têm escala praticamente ilimitada que pode aumentar e reduzir automaticamente mais rapidamente do que máquinas virtuais ou serviços de aplicativo.
O Azure Functions e outras tecnologias sem servidor nem sempre são adequados para todas as soluções. Mais tarde, aprenda onde você pode encontrar recursos para ajudar a selecionar a tecnologia certa para o trabalho.