Chapter 11. Alternative Deployment Methods
In the previous chapter, we discussed how to deploy modular applications in the cloud, including how to deal with cloud capabilities such as autoscaling and failover. Although we strongly believe this is the future of deployments, we also recognize that this might not be feasible for everyone. Company politics or legislation can require deployments on specific platforms and existing infrastructure. OSGi applications can be deployed in many ways, however, and we will discuss some of them in this chapter to give you some alternatives to consider.
You might also be wondering if using an OSGi container directly is not a little too bare bones. What about clustering, management, and failover? Instead, Java EE application servers have a rich set of features in the area of management consoles and administration features. Would it be worth using an application server like this? Most modern Java EE application servers support OSGi to some extent. There are even application servers specifically created for deploying OSGi applications. Why choose one over the other?
Whether it makes sense to choose an application server as your deployment platform really depends on your deployment model. For the production applications that we have been developing and deploying into the cloud, we used nothing but bare-bones Apache Felix runtimes. We very much support the idea of disposable runtimes, where you can simply replace a node completely on full deployments. ...