The old adage “time is money” has been a truism in the business world for more than 200 years. But in today’s interconnected, always-on culture, a more fitting axiom might be “uptime is money.” As social media, cloud computing and mobile devices become increasingly ubiquitous, users of interactive online applications demand continuous uptime. But applications hosted in the cloud are often subject to failures, network latency, connectivity issues, and/or other forms of outages. When user demands are not met, the results can be painful.
When a cloud outage affects a trusted application, companies lose revenue, reputation and the confidence of their customers. We’ve seen it happen again and again. Outages have been widespread in recent years, with well-publicized instances affecting Netflix, Dropbox, Pinterest, Tumblr, Reddit and a number of other prominent Web services.
One response has been to look to solutions offered by cloud providers such as Amazon Web Services (AWS) that promise failover services between one or more datacenters within a single geographic region or Availability Zones (AZ). Cloud providers such as Amazon have built in these Availability Zone safeguards to help minimize outages.
For example, when developers launch an instance, they can distribute instances across multiple Availability Zones. They can design applications so that if one instance fails, an instance in another Availability Zone can handle requests. Elastic IP addresses can also mask the failure of an instance in one Availability Zone by rapidly remapping the address to an instance in another Availability Zone.
However, even this model is not immune to problems. The challenge of 100 percent availability lies at a higher level of cloud infrastructure: multi-region distribution. Failover between AZs happens within single regions; but when an entire region experiences problems, sites can still go dark for hours or days. This type of regional outage is what caused Instagram’s and Vine’s unavailability when AWS experienced problems with its northeast region, and with Netflix that was negatively affected by the elastic load balancer failure in the AWS West Coast region.
What is required is an additional layer in the infrastructure that connects the entire application stack across multiple regions so users can automatically be directed to a region that is available. The database is typically localized within a region or datacenter and therefore represents a single point of failure. However, by distributing the database across geographically separated regions and clouds, an application’s data can be spread from cloud provider to cloud provider and replicated around the globe, removing the database as a failure point and thereby maximizing availability.
With this multi-regional approach, even if one cloud provider experiences an outage due to technical or natural disasters, the availability of the application is preserved for users. This seamless connection of regions provides a critical extra layer of availability protection.
The challenge for IT teams has been to build a database in the cloud that can solve this geo-distribution challenge while maintaining the relational framework. This has been the biggest hurdle for MySQL developers who run applications similar to Facebook that must be highly available to users at all times and across all locations. Building such a resilient, geographically distributed database is exceptionally difficult and costly.
Game developer Phyken Media is a typical example of a company that required a simpler and more affordable way to gain these features. This rapidly growing gaming company serves a community of users that demands fast, responsive gaming applications with 100 percent availability. Phyken focuses on developing new features for their games and needed a way to distribute them in the cloud without sacrificing valuable time to build their own infrastructure or incur high costs.
Looking to the market, Phyken discovered Cloud MySQL-as-a-service from GenieDB. This solution is a globally distributed database-as-a-service that is built within standard MySQL; so the Phyken developers were not required to add code wrappings or use other database languages to distribute their gaming data.
The benefits of this platform are that it provides automated geographical database distribution, continuous availability during regional outages and better application response time for globally distributed users. The location-specific vulnerabilities that often result in cloud outages are avoided.
Best of all, Phyken developers can focus on their primary mission of building new gaming features instead of logging hours managing databases. The GenieDB MySQL-as-a-service ensures Phyken’s gamers have uninterrupted access to their data.
It is precisely this type of approach that is helping to eliminate the growing pains of cloud-based computing. Cloud outages are inevitable and managing this fact at the database layer is particularly difficult. But, by employing groundbreaking NewSQL technology, the impact these outages have on availability can easily be mitigated. This advancement can dramatically simplify the migration of enterprises into cloud-based infrastructures by reducing the uncertainties around cloud migration while raising the bar in terms of application availability and responsiveness.
As cloud becomes increasingly mainstream, this new best practices pattern is emerging, one that enables developers to effortlessly deploy applications in the cloud and know that their end users can access their application whenever they want and from anywhere in the world, without concern about resiliency of the cloud infrastructure itself or how to architect complex distributed systems. The full potential of cloud computing now can be realized. It is truly the silver lining in the cloud.
Cary Breese is CEO of GenieDB. He is a successful entrepreneur and financial executive with recognized achievements in technology, financial risk management and operations. Most recently Cary served as CFO/COO for Frost Venture Partners. Previously he was founder and CEO of Trafalgar, a profitable, technology-driven financial services firm, SVP at CIGNA and a software engineer at Lockheed Martin. He can be reached at firstname.lastname@example.org.