Building Modular Cloud Apps with OSGi: Practical Modularity with Java in the Cloud Age