There's more than one way to build microservices. Learn the Aggregator, Proxy, Chained, Branch, Shared Data, and Asynchronous Messaging Microservice Design Patterns
Speedment is an alternative to traditional ORMs, and older database classes requiring 100 lines of Java code may be replaced with a single line of Java 8
Different techniques can be used to handle multi-tenant data in Solr. This article discusses routing techniques you can use depending on the size and number of shards.