O que são as Funções do Azure?
Você segue a equipe da web do Tailspin Space Game enquanto eles discutem a melhor forma de atender aos novos requisitos de marketing impulsionados pela gestão. A equipe precisa integrar alguma tecnologia sem servidor, especificamente o Azure Functions, em seu processo de DevOps.
Vamos ver como está a equipa.
Os novos requisitos
Irwin: Obrigado por se reunir em tão pouco tempo. As coisas estão a aquecer e a equipa de marketing fez algumas promessas que podem complicar as coisas para todos nós. Eles realmente gostam do nosso site. Eles acham que a tabela de classificação pode ser usada para promover o jogo à medida que nos dirigimos para o lançamento final e além. Eles querem dimensioná-lo muito além do que havíamos planejado originalmente.
Mara: Isso é ótimo, certo? Estamos no Azure, para que possamos expandir o serviço tanto quanto necessário.
Irwin: Eles só querem a capacidade de qualquer pessoa integrar dados da tabela de classificação em seus próprios aplicativos. Eles acham que seria muito legal ter as mesmas opções de tabela de classificação 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 tabela de classificação. Eles acham que devem construir e possuir a API daqui para frente.
Andy: Mara, você tem algum pensamento?
Mara: Tenho certeza de que podemos inventar algo. Aqui estão as minhas notas:
- Precisamos entregar rapidamente, então temos que encontrar uma solução onde possamos usar nosso código e habilidades.
- Precisamos refatorar uma pequena parte da funcionalidade em um serviço independente.
- Precisamos minimizar as despesas gerais administrativas na produção.
- Precisamos de ter uma escala maciça sem assumir um compromisso maciço.
A equipa acena de acordo.
Funciona na minha máquina
A reunião termina. Na manhã seguinte, Andy entra animado no escritório de Mara para um bate-papo improvisado.
Andy: Eu tenho! Encontrei uma solução que atende a todos os nossos requisitos para a API da tabela de classificação. É uma oferta sem servidor chamada Azure Functions.
Mara: Isso é ótimo! Quanto tempo antes de termos algo que podemos demonstrar?
Andy: Eu já pontuei alguma coisa. Eu bifurquei nosso repositório GitHub e refatorei o código da tabela de classificação em um novo projeto do Azure Functions. Ele expõe os dados da tabela de classificação por meio de uma simples solicitação HTTP GET. Eu também atualizei o site para usar esse ponto final ao solicitar a tabela de classificação, e qualquer outra pessoa pode fazer o mesmo.
Mara: Parece exatamente disso que precisamos. Posso ajudar a estender o pipeline de CI/CD existente para dar suporte à construção e implantação como fazemos para o projeto do site principal.
Nota
Neste módulo, não nos concentraremos em como conectar seu aplicativo ao Azure Functions. Se estiver interessado, pode rever o código-fonte. O código usa o tempo de execução do Azure Functions para C# para ler dados da tabela de classificação do Azure Functions.
O que são as Funções do Azure?
O Azure Functions é uma oferta específica dentro do espectro mais amplo das tecnologias de computação sem servidor do Azure. Ele fornece uma maneira fácil para os desenvolvedores criarem funções diretas que existem em um ambiente sem monitoração de estado e sem servidor. As funções podem ser acionadas usando vários métodos, como solicitações HTTP, alterações nos dados no armazenamento, recebimento de uma mensagem de uma fila e muito mais. Você pode saber mais sobre as associações de gatilho nos conceitos de gatilhos e associações do Azure Functions.
A equipe do Tailspin selecionou o Azure Functions para este cenário porque ele atendia a todas as suas necessidades:
- Precisamos entregar rapidamente, então temos que encontrar uma solução onde possamos usar nosso código e habilidades.
- Podemos construir 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 outra área de superfície de aplicação com a qual nos preocuparmos.
- Precisamos minimizar as despesas gerais administrativas na produção.
- O Azure Functions elimina a necessidade de se preocupar com ambientes de hospedagem.
- Precisamos de ter uma escala maciça sem assumir um compromisso maciço.
- As tecnologias sem servidor têm escala virtualmente ilimitada que pode aumentar e diminuir automaticamente mais rapidamente do que as máquinas virtuais ou os serviços de aplicativos.
O Azure Functions e outras tecnologias sem servidor nem sempre são adequados para todas as soluções. Mais tarde, discutiremos onde você pode encontrar recursos para ajudá-lo a selecionar a tecnologia certa para o trabalho.