Os aplicativos sem servidor vêm com restrições operacionais estritas. Problemas de partida a frio, limites de tempo para execução de funções e a necessidade de usar linguagens de programação aprovadas são alguns dos problemas. Além disso, os desenvolvedores devem aprender a lidar com modelos de programação assíncronos, que complicam a depuração e aumentam a curva de aprendizado associada ao servidor sem servidor.
As despesas dispararam para muitas empresas usando o servidor sem servidor. O modelo de pagamento conforme o uso parece atraente para cargas de trabalho intermitentes, mas pode rapidamente ficar fora de controle se um aplicativo operar sob padrões de tráfego imprevisível ou contiver muitos pequenos componentes. O requisito de escalabilidade, embora benéfico, também requer um gerenciamento de orçamento cuidadoso – esse é um desafio se as equipes não estiverem preparadas para monitorar de perto o uso.
A depuração em um ambiente sem servidor representa obstáculos significativos. A localização da causa raiz de questões em vários componentes assíncronos se torna mais desafiadora do que nas arquiteturas tradicionais monolíticas. Os desenvolvedores geralmente gastavam o tempo que salvaram do gerenciamento do servidor que lutavam para solucionar essas interações complexas, minando as eficiências operacionais sem servidor sem servidor para fornecer.
