Quando deve escolher as Funções do Azure para executar a sua lógica de negócio
Agora, vamos analisar outro processo da nossa empresa de aluguer de bicicletas e decidir que tecnologia satisfaz melhor as nossas necessidades. Vamos considerar os aspetos técnicos do processo, o público e como nosso processo precisa evoluir.
Scenario
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. Este 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.
Quer criar um sistema que regule o processo de manutenção e reparação e que permita que todos possam encontrar respostas para as perguntas seguintes.
- 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?
Gostaria de integrar este sistema com o processo de reserva e aluguer 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. Tem início 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 as peças novas.
- As peças chegam.
- As peças novas são colocadas.
- 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 empresarial e integrá-lo na base de dados de localização de bicicletas, vamos considerar o conjunto de tecnologias seguinte.
- Microsoft Power Automate
- Azure Logic Apps
- Funções do Azure
- WebJobs do Serviço de Aplicações do Azure
Tal como no cenário anterior, pode ser utilizada qualquer uma destas 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?
Seria difícil implementar este fluxo de trabalho apenas com o Logic Apps ou o Power Automate. 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á nenhum requisito de que consideremos uma abordagem de design primeiro. 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ó começa 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.