5 Ways to Increase Application Availability
A service provider that offers software-as-a-service or another cloud-based solution should understand what customers are looking for and what compels those very customers to choose an off-premise, “cloud-based” solution vs. the more traditional on-premise, self-hosted solution. As a cloud service provider ourselves, we set out to understand how our customers went about choosing one service provider vs. another, even when the offering appeared identical on the surface. The results were not that surprising.
As a general rule, when organizations subscribe to cloud-based services, they often do it for just a few reasons, none of which are significantly influenced by any sort of “cool” factor or because anything called “cloud” might be trendy. We boiled down all of the feedback we received to come up with 7 reasons these customers looked to the cloud in the first place:
- The service needed is not their core competency or area of expertise
- The service needed is critical to operating their business efficiently or effectively
- They require increased application availability that self-hosted does not/has not delivered
- They no longer want the headache and responsibility of managing infrastructure/hardware
- They no longer want the expense of up-front software licensing & management
- They would like someone else to take care of offsite backups and disaster recovery
- They need to provide a service to a geographically distributed workforce or customer base
Of course, there were a few more reasons, but as we spoke to our customers, these 7 clearly rose to the top of the list. So with these in mind, now that an organization has made the decision that “cloud” might be the answer to these 7 challenges, it becomes crystal clear that availability is paramount to the success of the cloud provider because it is clearly seen in the majority of these reasons.
High expectations for cloud service providers
Everyone knows that all cloud service providers are not created equal... in fact, many solutions that once were labeled “hosted” are now labeled “cloud” or “SaaS”... which certainly should raise some red flags if nothing has really changed other than the name. But regardless of whether you rebrand a solution or create a new one, we believe that these 5 ways of increasing application availability apply to all cloud service providers.
- Eliminate single points of failure
Do not create or allow any single point of failure for your application infrastructure. Since all hardware will eventually fail, eliminate the impact the failure will have on your service when it happens! This means at least two of everything: Routers, switches, servers, power sources (power bar/PDU, UPS etc.), even data centers, DNS etc. configured in a high-availability design. Consider every component between the customer and your application to determine what could go wrong so you can ensure redundancy for everything within your control.
- Ensure Automatic Failover
Hopefully it goes without saying that the redundant hardware in point #1 should be configured active/active or N+1 and continue working flawlessly if a component or even a link between them fails. Here we’re talking about site-to-site failover, and automating it. It’s one thing if you have a major outage at a low traffic point where you have time to log in, determine if you can restore service or manually move to another site. But it’s a completely different situation when it happens during peak demand. Customers expect continuous availability in the cloud, especially if they have chosen you because it is critical to the success of their business, and seamless automatic failover meets that expectation. Even if your infrastructure is in the best data center on the planet, and everything in the rack is redundant, you need a contingency plan because failure will happen. It has impacted the likes of Amazon Web Services, Google Cloud, Microsoft Azure, SalesForce.com and others, so it will most definitely impact you eventually.
- Implement Geographic Redundancy
Host your application in at least two different geographies, preferably close to where your customers or end-users are. Not only does this offer increased availability by providing an alternate site you can fail over to, but it significantly improves performance too. If your users are only in the USA, consider an east-coast and a west-coast data center. If your users are in North America and Europe, consider one datacenter central to the vast majority of the users on each continent. If you don’t have a GEO-capable load balancer or DNS failover service that can dynamically route customers to the closest location, consider giving out separate URLs for customers based on geography, such as eu-app.example.com and us-app.example.com. While low-tech, it is still effective. Just remember to keep the TTL low so it’s easy to switch them both to the same site when the time comes.
- Keep Improving and Updating
Our customers said that software licensing and upgrading is a significant pain. So when they choose Cloud or SaaS, they want to eliminate that pain, and that means you – the cloud provider – must be on top of it. Not only is upgrading a general hassle, but it usually requires ongoing maintenance agreements or software licensing fees (which can be expensive), test/dev environments to QA the new version before moving it to production, planned maintenance windows at times the IT team would rather not work and, of course, at least a little downtime while running the updates. One of the significant benefits of a cloud-based solution should be continuous and agile software development and scripted deployments that delivers seamless upgrades. Not only does this ensure customers always have access to the latest version with those cool new features, but it ensures that shortly after security vulnerabilities are found, they are patched quickly and painlessly for all customers at once.
- Provide excellent support
Always take care of your customers well. When an organization outsources, one of the biggest hesitations is the fear that all control will be lost and that support will be extremely painful and time consuming. If the cloud provider is highly accessible 24x7 and extremely responsive to customers, then these concerns can be quickly quashed the very first time help is needed or when they test the waters by picking up the phone and calling support even before becoming a customer.
At Total Uptime we seriously strive to do all of these things for our customers. We understand why organizations choose the cloud and we seek to make it everything it should be and more. But we also help other cloud providers increase availability online too because it is at the heart of what we do. Contact us to see how we can help you!
Other posts you might like...
Downtime costs $7900 per minute, on average
The cost of datacenter downtime has increased more than 40% for many companies over the last 3 years, according to a recent study by Ponemon Institute, sponsored by Emerson Network Power. The report analyzes 67 datacenters...read more
What are the key differences between DNS Failover and Cloud Failover so I can better understand which one is right for my application?
Both solutions require that you tell us what the IP address(es) are for your ‘real servers’. That way we know how to alter DNS or route traffic...read more
Apple Suffers $32 Million Dollar DNS Outage
Yes, even the biggest and best organizations can suffer tremendous losses due to something as simple as a DNS issue. Unless you are immersed in DNS and it is one of your core competencies, it is easy to make a mistake, and that may be what transpired at Apple.read more