It happens a lot. Everyone wants a portal site that never goes down. It has to stay up no matter what. If an earthquake occurs, it has to stay up. If a server dies, it has to stay up. If the network croaks, it has to stay up. The typical response will always be, “How much money do you have because if you have a lot of budget, we can make that happen.” Once reality sets in, we can then get down to the details and create an architecture that meets your needs.
This post isn’t going to go into detail on everything high availability and disaster recovery. Let’s face it, a portal almost never stands by itself. It integrates to a large number of other systems and sites. We cannot ensure uptime of all those systems. So today, we focus on how to keep a Java portal up.
In order to achieve a decent uptime for your portal of at 99.99% or better, you have to look at all the points of failure. That can include the portal server, the content switch, the web server, the user repository or ldap, and your database server. If any of these components go down, then your site goes down. Let’s break it down:
1. Content Switch: Once you have more than one web server, you need a piece of software or hardware to take the request from the internet and route it correctly. This routing ensures you go to a server that can handle the load. If you only have one of these and it goes down, then no requests get to your portal server. You need at least two of them.
2. HTTP or Web Server: Most portals are fronted by a web server. The web server does what it does best and serves up html. The portal server does the rest of the heavy lifting. Similar to the content switch and anything else in this diagram, if it goes down and you have no backup, then you stop serving html requests.
3. Portal Server: Finally we get to the heart of the operation. The portal provides a lot of services like page building, personalization, search, content management, etc. (the services depends on which portal server you choose.) You must have two of these if you want to guarantee a decent amount of uptime.
4. Database Server: Every portal in existence needs to store configuration and other data in a database. That means that if the DB goes down, your portal will have either limited or no functionality. Some vendors like IBM go out of their way to break the db’s into separate components so that you have multiple redundancy. Others just choose simple redundancy and make sure the DB is clustered so that if one goes down, the other takes the load.
5. LDAP or user repository: Most portals require a login before you can get to the fun stuff like your applications or personalization. If you don’t require a login, then this component won’t need to be redundant. However, that almost never happens. Make sure your ldap has fail over.
So there you have it, the basics on how to make your portal server highly available. Like I said earlier, if you are integrating to other systems, you will need to think about more than this. But for just the portal, this works. Then all you have to worry about is what will happen if an earthquake or tornado takes out the data center where your servers reside. We can talk about Disaster recovery later.
Let me conclude with one final review of costs:
Simple Portal environment
Portal Server on a single box: $7,000 for the server
Database: $7,000 for the server or just re-use an existing db. Add in license costs if you have a commercial server
LDAP: Again $7,000 for the server or re-use. If your site isn’t huge, you can just put everything on one server
Web Server: Same again, although a web server is really lightweight. You can get away with $3,500
Total: $3,500 – $25,000 plus software costs and whatever time you take to install.
Highly available portal
Portal Server on a single box: $7,000 each server. Let’s assume two.
Database: $7,000 for the server or just re-use an existing db. Add in license costs if you have a commercial server. Assume two servers.
LDAP: Again $7,000 for the server or re-use. If your site isn’t huge, you can just put everything on one server. Assume two servers
Web Server: Same again, although a web server is really lightweight. You can get away with $3,500. Assume two servers
Content Switch: Now you need two of these and that costs ranges. I’m going to say $5,000 for arguments sake
Total: $54,000 plus software costs and whatever time you take to install. The time to install will more than double by the way. It’s harder to cluster servers than to do single installs.
As you can see, the costs is two to 15 times the costs of a single install on portal. Of course, having your server never go down can be priceless…………………………..