Uptime is everything! Today’s users expect their apps and websites to deliver their data fast and reliably, regardless of what’s happening at the data center. Defending against possible single points of failure may not be top-of-mind when you first build your infrastructure, but putting this protection in place is vital to keeping your data available 24/7. Ultimately, it’s critical to keeping your customers happy, and ensuring your peace of mind.
Protection is more affordable and easier than you think. While you can protect your data by backing it up regularly or adding a backup solution, the only way to ensure a totally bulletproof end user experience is by running a high availability (HA) hosted solution.
What is High Availability?
High availability is redundancy with automatic failover built-in. That means that if a server fails, for instance, the rest of your infrastructure picks up the slack. Having a “full HA” hosted solution means each level of your infrastructure — your firewall, load balancer, web/app servers, (optional) shared storage, and databases — are fully redundant with failover protection in place.
Why Go High Availability?
Say you’re hosting a web app that’s seeing rapid growth. You’re excited that your idea took off, and started to generate serious revenue. Once your project and hosting environment grows beyond a single server for testing, you need to add components to handle the growth and ensure that if a component fails, your entire production environment does not come to a screeching halt. While we never anticipate a failure, it’s crucial to plan for the “worst case scenario” if critical data or high volume transactions are involved. For instance, if your firewall fails for whatever reason, your entire stack will fail. That’s not the experience your users expect.
Convenience of Live Maintenance
Do your customers want to be down every time you apply a patch, or do an upgrade? No! An HA hosted solution also allows for normal maintenance without service interruption to your customers. You can virtually remove components to upgrade/repair your hardware or patch/upgrade your software without disrupting your service or needing to notify your customers about potential downtime. Want to perform routine maintenance on one part of your infrastructure? No problem! Take that component out, do the necessary work on it, then reinstall it — all with no downtime and without the need to alert your customers or inconvenience users.
Upgrading to an HA hosted solution also adds scalability. You can modularly plan and add individual components based on seasonal demand or growth. If you have an HA environment, you can upgrade individual components and port over data without downtime or performance hindrances. You can also have an upgraded, more powerful server mirrored to your live environment, hot and ready to go live if your current live server reaches a threshold.
The Key Components of High Availability
To create a full HA hosted solution, you need to consider, risk, and ultimately build redundancy at five levels: firewall, load balancer, web/app servers, database servers, and storage. It is not an all or nothing proposition, but you need to start minimizing risks and begin building an infrastructure that is HA one layer at a time.
- Firewalls: In a non-HA setup, if your firewall goes down, everything goes down. Are you comfortable risking your entire business on a single piece of hardware? By adding a second firewall, you’re literally buying peace of mind and preventing external attacks. If one gets overloaded, your other stays online. Your customers and clients will never know anything went wrong.
- Load Balancers: Adding a load balancer to your infrastructure helps you mitigate traffic spikes, and lets you easily manage the health of a pool of resources, ensuring fast content delivery. Adding a redundant load balancer gives you the same benefits of adding a redundant firewall: if one load balancer hangs, your other stays online and business continues as usual.
- Web/App Servers: Your front end servers will be mirrored as live instances of each other. These servers offer the same content to the public with governance handled by the load balancer.
- Database Server(s): Mirroring your database servers ensures you have available, redundant data. Depending on how demanding your front end, chances are you won’t need to load balance your database as the data will be served from one server while the other acts as a live spare.
- Storage: One of the key components of a high availability storage solution is giving you the ability to leverage a shared storage device (like NAS, SAN, or DAS) for your web servers (like config files and file storage) and database servers. As the complexity of your needs increases, centralizing your data keeps you from having to build in power and storage on every other level. Adding shared storage offers simplification, better control, and faster read/write speeds.
So now you’ve decided you need to get a high availability solution in place. But you don’t want to design or manage the environment? You should look into a fully managed solution. If you’re not ready to go HA quite yet, it’s always smart to start planning for the future. Feel free to get a free assessment by one of our experts at Codero.