Y Combinator co-founder, Paul Graham, defines a startup as “a company designed to grow fast.” The definition highlights one of the hardest problems internet startups traditionally faced at the outset: weighing infrastructure capacity and cost.
No ad to show here.
Amazon changed things up when it launched Amazon Web Services (AWS) in 2006. It used economies of scale to offer services — many of them developed for internal use and opened up to the public later — to take the guess-work out of upfront infrastructure investments.
AWS allowed startups to start small, with the knowledge that AWS would grow to meet the demand should business take off.
EC2, one of the flagship AWS offerings — built by South Africans — has become a stalwart for the likes of Netflix, reddit, Foursquare, Pinterest to name a few.
With the dependability on AWS however, comes a certain amount of risk. The service suffered widespread outages in 2011 and 2012.
Despite the challenge Amazon has faced, the speed, flexibility, reduced workload, and disaster recovery capabilities that AWS offers, makes it a hard option for startups to ignore.
If you’re still unsure, here are six reasons why AWS might help you to build a scalable internet startup.
AWS is a Swiss-Army knife
There’s really no set use case that warrants the use of Amazon Web Services.
Amazon’s flagship service EC2 (Elastic Compute Cloud) for example, offers the power of a dedicated server with the ability to scale with a business as it grows. Great, but should you host your entire web startup on EC2, or only parts of it? Good question.
While some argue that EC2 is cost-effective as a one stop shop — see how to set up a complete LAMP stack on EC2 — others argue that it’s better to opt for a traditional dedicated or shared solution for the lion’s share of a service, and use EC2 for time-limited, power-hungry tasks like collating logs. What most people seem to agree on however, is that Amazon allows system administrators to provision dedicated environments a lot quicker.
The options are limitless (overwhelming), so it’s good to know you can experiment through the AWS Free Usage Tier.
AWS is a punching bag
EC2 shines as a testing and development environment — wipe and reload disk images as needed and only pay for the amount of time and resources you need.
AWS is a balloon
Amazon takes the guess-work out of how big your upfront infrastructure investment should be. Test out your business model on a small scale and watch AWS stretch to accommodate growth spurts, or run mega experiments cost effectively.
Startups that run on subscription models typically benefit a good amount as they can factor AWS resource costs into their per user fees. A photo storage startup for example, can make use of Amazon S3 (Simple Storage Service), to store its user uploads.
AWS is a vault
The combination of EC2 and S3 makes for a formidable backup solution. S3 is Amazon’s storage service and is a good option in itself for storing disk backups. EC2 however, allows system administrators to use the UNIX rsync utility to efficiently synchronise files between two computers — the one in your office and your Amazon EC2 instance for example. Be sure to read up on Amazon’s Elastic Block Storage (EBS) to enable data storage.
Free Wisdom Online has a great tutorial to get you started and even details how to use S3 for storing a second copy of the data.
Finally, EC2 makes a great place to host your version control platform. Code is the heartbeat of a fledgling web startup and Amazon’s cost structure and good uptime record makes it a good option for keeping code safe, which brings us to our next point.
AWS is a harbinger
Amazon’s services deserves some special consideration for mission critical systems. Think about the systems that you would like to access from anywhere, with maximum uptime — customer support services for example. In the early days of a startup things are less settled and being able to keep communication with customers flowing is important.
Using EC2 to ping critical services that you host elsewhere is also a compelling option. If something is amiss, use Amazon’s SES and SNS platform to send out notifications.
Amazon offers CloudWatch to monitor its own systems as well as load balancing through Elastic Load Balancing which automatically distributes incoming application traffic across multiple Amazon EC2 instances — allowing the applications you host on Amazon to stay up despite hiccups.
AWS is (almost) global
Startups often pursue a strategy of targeting success in their local market before deciding to go global, even if global domination is on the cards from the start. Where should infrastructure be located then? Amazon cover six major regions across the globe, that said, Africa is sorely lacking.