Allow me to preface this article by saying two words: good luck. Speculation on the “end” of Amazon Web Services (AWS) has been in circulation over the years. There have been numerous stories on AWS being in the fight of its life with this or that company/startup deserting. Simply google “companies leaving AWS,” and you’ll find a prolific amount of clickbait articles spelling its demise. And yet, take a look at Amazon’s stock price increasing by a factor of six since 20071, or the news earlier this year that Amazon is now a $5 billion dollar business.
That hardly sounds like the makings of a weakening enterprise. Why is this? AWS has proven itself to be an incredible innovator. There is this notion that behemoth companies will eventually fail because they became too slow to evolve. However, the entire nature of web services is constant iteration and improvement. A glance of AWS’s news page (aws.amazon.com/new) details a constant stream of numerous products being developed.
But enough praise, more AWS killing. Here are some initial avenues to send your mind down:
- Necessity - Nope, not happening. The cloud is going to outlive the readers of this article (sorry).
- Cost - Nope. Like any dominant force in industry, AWS has the ability to modulate its prices against other cloud services. But it does play a factor when going to private servers.
- Brand - Nope. On the individual consumer level, branding is negligible. “I’m switching to CapitalOne because they use AWS for their cloud” --No one ever. On the developer level for companies, branding doesn’t play too large a role. They will simply use the best tool for the job. Which, incidentally, often tends to be AWS. But for the times that it’s not; segue to the fourth option.
- Utility - Yes. Sort of... When AWS doesn’t have what you need, or doesn’t provide it in the manner you want, or is just costing overt amounts of money, it’s time to go private. This can and has been done. Examples of companies who have left AWS in some way or another: Dropbox, Twitch, Moz, etc. At some point in their growth, each of these companies decided that the utility provided by AWS simple wasn’t enough.
What I propose is simple: create a company, hire the best scaling, server, datacenter, and architecture engineers, and empower cloud-based company to use their own private datacenters. Remember that point when companies turned away from AWS? I aim to bring that about sooner for every company. I hereby dub this company Masters Cloud.
Let’s look at a case study: Twitch. CTO Kyle Vogt has shared the story of why they moved from AWS to Akamai, and finally to their own datacenters. First off, there was the issue of cost. Back in 2010, when they were considering the switch (and were still titled Justin.tv), Twitch calculated the cost per customer per month as:
Cloud Service Cost (per customer per month) CDN - $0.135
AWS - $0.0074
DATACENTER - $0.0017
Regarding these numbers, this accounts in about an 80x and 4x increase in cost for CDNs and AWS respectively over datacenters. (CDN costs have decreased some) Twitch’s 2014 recap4 reports 100 million unique users per month. Here’s how each of the services would translate into yearly costs:
Cloud Service Cost (per 100 million users per year) CDN - $162,000,000
AWS - $8,880,000
DATACENTER - $2,040,000
These numbers paint a simple picture. However, concerning the $6 million difference between AWS and a private datacenter, some companies (especially a billion dollar one like Twitch) might still pay that difference. It came down to utility.
Twitch streams live video from gamers to users on an international scale. AWS was simply too slow for their needs. For its users, Twitch requires a low latency network that’s fast and robust. Instead, Twitch was running on a near-capacity network alongside other users while performing at sub-300 Mbps speeds. The decision to move to private datacenters was clear. Datacenters were sprung up around the globe with multiple locations in large countries.
For their servers, Twitch created many custom tools, including Usher, a custom business logic server for handling the video streams along with diverting millions of users to appropriate datacenters. Usher accomplishes this by handling authentication, load balancing, and server logic for live streams. In real-time, Usher will (based on popularity) calculate how many video servers to send a broadcast to in order to maintain an optimal load. Then, when viewers go online, Usher directs them to either a server the viewers can peer from (no cost to Twitch) or the closest available datacenter for low latency. Additionally, upon users arriving at this server, over 95% of the web pages are served out of cache. Nice and fast.
So far, this is just one company who broke off from AWS. And in actuality, it’s not a clean break. Twitch does still use S3 services for storing profile images. Oh yeah, and Amazon purchased Twitch last year in 2014. Oh, the irony... Truth is, the nature of Twitch makes it well-suited for running on private datacenters. Not all companies share those same distinctions (live video streaming, millions of concurrent users, lots of reads, not as many writes). But any company can likely tell you of some manner with which AWS falls short. Masters Lab shall then swoop in, and facilitate a switch to private datacenters. Cost savings and high performance galore. At which point Amazon will buy you out for ten figures. You’re welcome.