No ecossistema Microsoft, o Power Automate reina como ferramenta low-code para automatizar tarefas. Mas, à medida que as necessidades crescem, muitos de nós na Torpedo.pt — desde a equipa de Vendas até ao Desenvolvimento — percebemos que determinados processos ficam morosos, caros ou difíceis de manter.
Neste artigo mostramos porquê, apresentamos Azure Functions como alternativa flexível e escalável, e revelamos um caso prático que pode inspirar a próxima transformação digital da sua empresa.
Porque é que alguns fluxos no Power Automate se tornam um labirinto?
- Limite de 500 ações por fluxo; acima disso a Microsoft recomenda dividir em child flows, aumentando a complexidade 1.
- Profundidade de aninhamento máximo de 8 níveis, o que gera múltiplas condicionais difíceis de depurar 1.
- Performance: loops “Apply to Each” sobre grandes conjuntos de dados podem multiplicar a duração em 20× 2.
- Custo: conectores premium ou RPA não-assistido podem elevar a fatura para 150 $ por bot/mês 3 4.
Sintoma clássico
Um fluxo que começa simples — criar registos, enviar aprovações, atualizar CRM — acaba por conter dezenas de condições, loops e chamadas a APIs externas. Quando algo falha, localizar a etapa problemática pode ser tarefa de detetive digital.
Azure Functions: serverless, elástico e “pay-per-use”
Azure Functions permite executar código em C#, JavaScript, Python, PowerShell e mais, disparado por HTTP, filas, cron ou eventos na cloud. Paga-se apenas pela execução (primeiro 1 M execuções gratuitas/mês) 5.
Principais vantagens perante Power Automate:
- Escalabilidade automática até centenas de instâncias sem esforço de administração 6 7.
- Custos transparentes por consumo, sem licenças por utilizador ou conectores.
- Código completo: liberdade para implementar lógicas avançadas, pacotes NuGet/NPM e testes unitários.
- Latência reduzida e ausência de limites rígidos de ações ou profundidade.
- Integração nativa com DevOps (CI/CD), Application Insights e IaC (Bicep/Terraform).
Resumo em bullet points SEO-friendly
- Escalabilidade sob demanda sem servidor dedicado (serverless auto-scaling).
- Pagamento por milissegundo de execução, com free tier inicial.
- Suporte a múltiplas linguagens e bibliotecas de mercado.
- Deploy contínuo via GitHub Actions ou Azure DevOps.
- Monitorização detalhada com logs em tempo real e alertas.
- Possibilidade de expor APIs REST seguras com Azure AD.
Caso prático: automatizar gestão de contratos
Desafio original em Power Automate
- Trigger: ficheiro PDF enviado para SharePoint “Contratos Pendentes”.
- 40+ passos:
- Extração de metadados, loop pelos signatários, ramos condicionais por valor do contrato.
- Envio de aprovações sequenciais em Teams.
- Atualização de linhas em SQL Server e criação de pasta no OneDrive.
- Problemas sentidos:
- 280 ações → manutenção difícil.
- 3 min de execução média; picos acima do timeout de 120 s em chamadas HTTP externas.
- Dependência de conector premium para SQL.
Reescrito em Azure Functions
- Função HTTP “UploadHook” gera mensagem numa Azure Queue.
- Função “ProcessContract” lê a fila, usa AI Builder via REST para extrair metadados e grava num Cosmos DB.
- Orquestração com Durable Functions para enviar aprovações em paralelo e aguardar respostas.
- Função “Finalize” atualiza SQL e envia notificação por SendGrid.
- Resultado:
- Tempo médio 15 s (cold start mitigado com Premium plan), custo estimado < 1 € por 10 000 contratos.
- Código versionado em GitHub; CI/CD automático para produção.
Quando escolher cada um?
| Critério | Power Automate | Azure Functions |
|---|---|---|
| Equipa sem devs | Ideal | Requer competências de código |
| <500 ações, conectores 365 | Simples e rápido | Overkill |
| Alto volume/tempo-real | Pode estrangular | Escala automaticamente 7 |
| Custo previsível por utilizador | ✅ | Variável por consumo |
| Lógica custom avançada | Limitado a expressões | Código livre e testes |
Boas práticas de transição
- Mapear passos do fluxo para triggers e bindings de Functions (HTTP, Queue, Blob).
- Injetar configuração (connection strings, chaves) via Azure Key Vault.
- Automatizar deploy com pipelines YAML.
- Manter documentação no repositório e dashboards em Application Insights.
Conclusão
Power Automate continua imbatível para automação rápida e low-code, mas quando o seu workflow atinge limites de performance, escalabilidade ou custo, Azure Functions entra como super-poder. Combinar ambas as tecnologias permite prototipar depressa e escalar sem refazer tudo de raiz. Na torpedo.pt ajudamos a desenhar esta arquitetura híbrida, reduzindo time-to-market e poupando na fatura cloud.
Fale connosco e acelere a transformação digital da sua empresa!