I’ve been looking into scalability and high availability a bit. The more I read the scarier it gets. 😉 It’s pretty easy to think the available solutions will solve it all for you, but there’s still important considerations to be made. Found a couple of good introductions in JavaWorld. Although they’re a bit old, I think it all still applies:
- Part 1: Clustering technology is crucial to good Website design; do you know the basics?
- Part 2: Migrate your application from a single machine to a cluster, the easy way
This mostly covers the high availability when running your app. Maintaining availability through application upgrades and redeploys is still a big mystery to me. Feel free to supplement. 🙂