Chapter 15. Deployment and scaling


This chapter covers

  • A guide to choosing a container
  • Deployment techniques and tools
  • Your deployment options

In this book, you’ve seen a lot of different aspects of Lift and how they can affect your development cycle. Hopefully you’ve learned enough to build an application that you’d actually like to publish in the real world and expose to end users. For the most part, Lift applications can be deployed in much the same way regular Java web applications can. By default, this means packaging your application as a WAR file, which can be done by pretty much any of the build tools commonly used in the Scala and Java ecosystems. Moreover, with Scala and Lift being based on the JVM, you can benefit from the many years of research, tuning, and overall improvement in the platform, not to mention great security, protection from things like buffer overflow attacks, and blistering performance even at very high load.

Although there are many great servlet containers available, you can benefit from having a better understanding of how to leverage particular servlet containers. To that end, the first thing covered in this chapter is how to choose a container. This chapter presents some broad options, but we’ll focus on one main route of implementation that a lot of people use. Note that it’s by no means the only route available to you with regard to choosing a system configuration.

15.1. Choosing a servlet container

15.2. Handling state

15.3. Choosing a configuration

15.4. Deployment tools and techniques

15.5. Case studies

15.6. Summary