Quando deve escolher as Funções do Azure para executar a sua lógica de negócio
Agora vamos olhar para outro processo do nosso negócio de aluguer de bicicletas e decidir qual a tecnologia que melhor se adapta às nossas necessidades. Vamos considerar os aspetos técnicos do processo, o público e como nosso processo precisa evoluir.
Cenário
Atualmente, os técnicos da sua bicicleta utilizam uma folha de cálculo para registar as ações que tomam para reparar e manter cada bicicleta. Surgiram dificuldades quando são necessárias peças sobresselentes, porque o pessoal não tem forma de saber quando uma bicicleta está à espera de reparações ou peças. Esse problema resultou em bicicletas sendo alugadas para clientes com pastilhas de freio desgastadas, pneus furados e outras falhas que podem prejudicar a marca da empresa como uma empresa de aluguel de bicicletas de alta qualidade.
Você deseja construir um sistema que governe o processo de manutenção e reparo e permita que todos encontrem respostas para as seguintes perguntas:
- Que tarefas foram concluídas numa bicicleta?
- Que tarefas permanecem por concluir antes de ser possível alugar novamente a bicicleta?
- Que bicicletas estão atualmente disponíveis para aluguer?
- Que bicicletas estão atualmente indisponíveis para aluguer?
- Para cada bicicleta indisponível:
- Por que não podemos alugá-lo?
- Estamos a aguardar a chegada de algumas peças? Que peças são?
- Qual a previsão para a bicicleta estar novamente disponível para aluguer?
Você gostaria de integrar este sistema com o processo de reserva e aluguel de bicicletas da última unidade. Ao fazê-lo, quando o pessoal da loja procura bicicletas disponíveis, este encontra apenas as bicicletas que estão disponíveis para alugar no momento. O gestor pediu-lhe para ser o programador neste projeto.
Processo de negócio
Quer assegurar que os técnicos de bicicletas em ambos os campus adotam o seguinte fluxo de trabalho quando fazem a manutenção de uma bicicleta após um aluguer:
Os detalhes são os seguintes:
- Um cliente devolve uma bicicleta em qualquer localização. Inicia-se o processo de manutenção da bicicleta.
- Um técnico marca a bicicleta como indisponível.
- Um técnico conclui uma lista completa de verificações, incluindo pneus, travões, corrente e luzes.
- São necessárias peças novas?
- São necessárias peças novas, mas não existem em stock.
- O técnico encomenda peças novas.
- As peças chegam.
- O técnico encaixa peças novas.
- São necessárias peças novas, mas não existem em stock.
- Um técnico conclui as alterações finais.
- Um técnico marca a bicicleta como disponível para aluguer.
Escolher uma tecnologia
Para implementar o processo de negócios e integrar com o banco de dados de localização de bicicletas, vamos considerar o seguinte conjunto de tecnologias.
- Microsoft Power Automate
- Azure Logic Apps
- Funções do Azure
- WebJobs do Serviço de Aplicações do Azure
Como no cenário anterior, você pode usar qualquer uma dessas tecnologias para criar o fluxo de trabalho. No entanto, existem dois problemas que determinam a opção ideal.
Baseada em design ou em código?
Implementar esse fluxo de trabalho usando apenas Aplicativos Lógicos ou Power Automate seria difícil. Embora não tenhamos ouvido muitos detalhes de baixo nível, é claro que esse processo precisa acessar um sistema de estoque e fazer pedidos com uma empresa de peças terceirizada. Esta é uma nova lógica de negócios, e não há exigência de que consideremos uma abordagem de design em primeiro lugar. Podemos associar a nossa solução a um conector personalizado para se integrar noutros fluxos de trabalho criados com o Logic Apps ou o Power Automate. Como programador, tem maior flexibilidade com uma abordagem baseada em código neste cenário, portanto vamos a isso!
Funções do Azure ou WebJobs do Serviço de Aplicações do Azure?
Temos de tomar uma decisão entre as duas tecnologias seguintes.
- Funções do Azure
- WebJobs do Serviço de Aplicações do Azure
Os fatores seguintes irão influenciar a sua escolha:
- Custo: com WebJobs, você paga por toda a VM ou Plano do Serviço de Aplicativo que hospeda o trabalho. O Azure Functions pode ser executado em um plano de consumo, portanto, você só paga quando a função é executada. Como esse processo só é iniciado quando uma bicicleta é devolvida, podemos economizar dinheiro selecionando Azure Functions.
- Integrações: Você deseja integrar o fluxo de trabalho de manutenção com o aplicativo lógico que você cria para o processo de reserva e aluguel de bicicletas na unidade anterior. Embora seja possível chamar um WebJob a partir de um aplicativo lógico, a integração entre aplicativos lógicos e funções é mais próxima. Por exemplo, você pode controlar mais facilmente sua chamada para uma Função a partir do designer visual de Aplicativos Lógicos.
Por esses motivos, selecionaremos o Azure Functions para gerenciar seu processo de negócios de manutenção de bicicletas.