You can consider using Spring Framework (http://spring.io), if you prefer building your app in Java. Its really flexible, robust, well documented and easy to start framework. You can separate your app to different small micro services and make them use different technologies depends on what that micro service is gonna be doing. (e.g. data_processing -> python. etc.) That way its gonna be easier to manage and scale your app.