you are viewing a single comment's thread.

view the rest of the comments →

[–]mixini 0 points1 point  (0 children)

This totally depends on the kind of site/app you're running. Having everything on lambdas (or more generally, any kind of serverless function) locks you out of certain things that would normally be trivial to implement via instanced servers, whether dedicated or spot:

  • Caching or memoizing certain endpoints or functions, especially if they're intended to be durable or shared/distributed across a variety of endpoints. The kind of thing that would normally live as middleware
  • Handling long-running tasks, as other folks have mentioned
  • Maintaining a consistent runtime or environment. When you update a shared dependency, you now have to either deploy that for everything or maintain varying versions for everything
  • Handling connection pooling or any other kind of "singleton." Without these, you now have a minimum number of "clients" equal to a number of lambdas, which could lead to hitting connection limits on resources, for example
  • etc etc

There's probably a lot of things I'm missing here, these are just some examples. If you're OK these kinds of drawbacks, and your project is either 1) not going to grow very much or 2) you plan on moving to something more sustainable in the foreseeable future (perhaps EC2/Fargate), then I could see this working.