Quando escolher o Azure Functions para executar sua lógica de negócios
Agora, analisaremos outro processo de uma empresa de aluguel de bicicletas e decidiremos qual tecnologia melhor atende às nossas necessidades. Consideraremos os aspectos técnicos do processo, o público-alvo e a maneira como o processo precisa evoluir.
Cenário
Atualmente, os mecânicos de bicicleta usam uma planilha para registrar as ações executadas no reparo e na manutenção de cada bicicleta. Há dificuldades quando é necessário o uso de peças de reposição, pois a equipe não tem meios de saber quando uma bicicleta está aguardando reparos ou peças. Esse problema fez com que fossem alugadas aos clientes bicicletas com freio desgastados, pneus furados e com outros defeitos que poderiam prejudicar a reputação da marca da empresa de aluguel de bicicletas de alta qualidade.
Você deseja criar um sistema que controle o processo de manutenção e reparo e permita que todos encontrem respostas para as perguntas a seguir:
- Quais trabalhos foram realizados em uma bicicleta?
- Quais trabalhos ainda precisam ser concluídos antes que a bicicleta possa ser alugada novamente?
- Quais bicicletas estão disponíveis para aluguel no momento?
- Quais bicicletas não estão disponíveis para aluguel no momento?
- Para cada bicicleta que não está disponível:
- Por que não podemos alugá-la?
- Estamos aguardando o recebimento de peças. Quais são essas peças?
- Quando a bicicleta provavelmente estará disponível para aluguel novamente?
Você gostaria de integrar esse sistema com o processo de reserva e aluguel de bicicletas da última unidade. Ao fazer isso, quando a equipe da loja procurar pelas bicicletas disponíveis, encontrará apenas as bicicletas que estão disponíveis para aluguel. Seu gerente solicitou que você fosse o desenvolvedor desse projeto.
Processo empresarial
Você quer garantir que os mecânicos de bicicleta nos dois campi sigam o seguinte fluxo de trabalho quando fizerem a manutenção de uma bicicleta após um aluguel:
Os detalhes são os seguintes:
- Um cliente devolve uma bicicleta em qualquer localização. O processo de manutenção de bicicletas é iniciado.
- Um mecânico marca a bicicleta como não disponível.
- Um mecânico preenche uma lista completa de verificações, incluindo os pneus, os freios, a transmissão de correntes e os faróis.
- Alguma peça nova é necessária?
- Peças novas são necessárias, mas não temos as peças em estoque.
- O mecânico faz o pedido de peças novas.
- As peças são recebidas.
- O mecânico encaixa a novas peças.
- Peças novas são necessárias, mas não temos as peças em estoque.
- Um mecânico conclui as alterações finais.
- Um mecânico marca a bicicleta como disponível para aluguel.
Escolher uma tecnologia
Para implementar o processo empresarial e integrá-lo ao banco de dados de localizações de bicicletas, vamos considerar o conjunto de tecnologias a seguir.
- Microsoft Power Automate
- Aplicativos Lógicos do Azure
- Azure Functions
- WebJobs dos Aplicativos de Serviço do Azure
Como vimos no cenário anterior, qualquer uma dessas tecnologias pode ser usada para criar o fluxo de trabalho. No entanto, há dois problemas que determinam a escolha ideal.
Design ou código como prioridade?
Seria difícil implementar esse fluxo de trabalho usando apenas os Aplicativos Lógicos ou o Power Automate. Embora não tenhamos ouvido muitos detalhes mais minuciosos, fica claro que esse processo precisa acessar um sistema de estoque e fazer pedidos para uma empresa de peças de terceiros. Essa é a nova lógica de negócios e não há nenhum requisito de que devemos considerar uma abordagem design-first. Podemos encapsular a solução em um conector personalizado para integrá-la a outros fluxos de trabalho criados com os Aplicativos Lógicos ou o Power Automate. Como desenvolvedor, você tem mais flexibilidade tratando esse cenário com uma abordagem que tem o código como prioridade, portanto, vamos fazer isso.
Azure Functions ou WebJobs do Serviço de Aplicativos do Azure?
Precisamos tomar uma decisão entre as duas tecnologias a seguir.
- Azure Functions
- WebJobs do Serviço de Aplicativo do Azure
Os seguintes fatores influenciarão sua escolha:
- Custo: Com o WebJobs, você paga pela VM inteira ou o Plano do Serviço de Aplicativo que hospeda o trabalho. O Azure Functions pode ser executado de acordo com um plano de consumo, portanto, você paga apenas quando a função é executada. Como esse processo só é iniciado quando uma bicicleta é devolvida, podemos economizar dinheiro escolhendo o Azure Functions.
- Integrações: Você deve integrar o fluxo de trabalho de manutenção ao aplicativo lógico criado para o processo de reserva e aluguel de bicicletas na unidade anterior. Embora seja possível chamar um WebJob por meio de um Aplicativo Lógico, a integração entre os Aplicativos Lógicos e o Functions é mais próxima. Por exemplo, você pode controlar com mais facilidade a chamada a uma função no designer visual de Aplicativos Lógicos.
Por esses motivos, escolheremos o Azure Functions para gerenciar o processo empresarial de manutenção de bicicletas.