DEV Community

Discussion on: Serverless or Containers?

Collapse
 
michaelgv profile image
Mike

It’s a matter of preference, for example where I work we do this:

  • each developer runs Xubuntu
  • all development happens on LXD based containers, with the files injected
  • all testing is done via Gitlab CI (self hosted)
  • all non-global but project specific tests are run on docker inside the development container, and gitlab is interacting with them directly when applicable
  • Jenkins builds the releases, containers, and runs tests when necessary

In our situation a serverless approach would be unfathomable. I’m all in favour of serverless when it makes sense.

In my opinion, when it makes sense:

  • simple application
  • simple deployment pipeline
  • not hard pressed if files override customer specific
  • no complex or time consuming functionality needs to be run continuously

When it doesn’t make sense:

  • development on local machine (LXD or docker here!)
  • complex or multi-Layer deployment cycles
  • remote vs local
  • cost efficiency versus developer time versus reward (pick two, if you want cost low, and high reward, don’t expect to have lots of free developer time, etc)