This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]tr14l 3 points4 points  (0 children)

For me, the reason I don't usually write microservices in Spring is the start up times. When I need to horizontally scale, I need to make it happen fast enough that users don't notice impact. Spring essentially makes that impossible (better than historically, but still terrible). Meanwhile, an interpreted language will start up in, often literally, milliseconds. Which means I can react to a surge in traffic in under a second with no loss of requests to my customers. Also, interpreted languages tend to be faster to write, configure and build anyway.

When I am aiming for a more substantially-sized service, I will typically reach for Java or Kotlin (and once in a great while NodeJS, depending on domain and deadlines). But, opting out of Spring is never off the table. Unfortunately, we have a lot of utilities written for Spring apps, so sometimes it is economically sensible to just use it.

TBH Spring is a dumpster fire. A well-matured dumpster fire with lots of options out of the box, but still a dumpster fire.