O que é o Azure Functions?

Concluído

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 entrar em contacto com 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 concorda acenando com a cabeça.

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: Consegui! 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á desenvolvi uma versão inicial. Fiz um fork do nosso repositório do GitHub e refatorei o código da tabela de classificação para um novo projeto no 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: Isso soa exatamente como o 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.

Observação

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 é o Azure Functions?

Azure Functions é uma oferta específica dentro do espectro mais amplo das tecnologias de computação sem servidor do Azure. Ele proporciona uma maneira fácil para os programadores criarem funções simples que operam num ambiente sem 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 ligações de gatilho em conceitos de gatilhos e ligaçõ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 se preocupar.
  • Precisamos minimizar as despesas gerais administrativas na produçã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.

Verifique os seus conhecimentos

1.

Qual desses projetos é um bom candidato para computação sem servidor?

2.

Qual das seguintes opções não é um bom motivo para usar o Azure Functions?

3.

Qual das seguintes opções não é uma maneira suportada de acionar diretamente um aplicativo do Azure Functions?