3 ms·
They're good for when you need heavy lifting and processing on the backend. It's great as an API, with a javascript front end. The JVM ecosystem has amazing pa
by agibsonccc 12y ago
They're good for when you need heavy lifting and processing on the backend. It's great as an API, with a javascript front end.
The JVM ecosystem has amazing parallelism, and when tuned right has amazing speed and scales well. The distributed systems stack from hadoop et. al also has produced tooling for handling at scale operations for building services.
This is why facebook builds databases with it (presto) or twitter uses it for all of their services (mesos/scala).
The uberjar has also allowed for go like deployment schemes with everything in one package so it can play well with external services or using something like dropwizard.
Those mentioning RoR and the like as a middle man...if you're starting fresh, I'll pose the opposite question, if you aren't experienced in a particular language why have a middle man? It's great to keep your services modular, and if you already have an existing stack, yes rewrites are expensive.
Tooling wise, there's a lot of great support for hosting as well. Openshift, cloud foundry, and the usual suspects come to mind for java hosting.
That being said, use what you know.