This shouldn’t be a tough sell. AWS and Cloud are in my opinion (and many others) a game changer in the industry. Ideas and products that simply weren’t feasible 10 years ago are not attainable for even the smallest startup.
Wanna start your own streaming service? No problem
Keen to create an eCommerce website that scales regardless of your black friday peak traffic, AWS has you covered.
Or just want to reduce your data center bills….well you get the idea.
I suspect my blog isn’t your first contact with AWS and you’ve probably read a bunch of information about how AWS can help your business or career.
So I thought I’d put together a more practical set of reasons giving real world examples of how AWS is used in the industry. You may be surprise to see who’s already using AWS.
Buckle up and let’s dive in…
List all the sub headings:
- Joining an Impressive club
- 12 Month Free Tier
- The Biggest Player in Town
- Ever Decreasing Usage Costs
- Right Now, You’re Paying More Than you Need To
- Unlimited Scalability
- Regions and Availability Zones
- Security – You aint getting in my cloud
- Established Best Practices
- Talent Pool
- Management console
- Fast resource allocation
- VPC – why it matters
- Serverless – VM’s are so last tuesday
- Shared responsibility model
- Support Tiers
Reading the AWS customer list plays out like a who’s who of the tech world. To give you a sense of the scale of AWS here’s a few of those giants.
Netflix – you might think that Amazon Prime and Netflix are in direct competition and you’d be right. But that doesn’t stop Netflix hosting its entire infrastructure on AWS. If you’re interested in exactly how Netflix uses AWS to stream video then checkout A day in the life of a netflix engineer in which Dave Hahn talks you through the inner workings and philosophy of how Netflix was built.
Capital One – yes even banks can run on AWS infrastructure. When you think about it, it makes a lot of sense. Since AWS infrastructure is designed specifically to handle failure gracefully and seamlessly without interruption. Checkout out this case study from Rob Alexander CIO or Capital One
Incidentally I interviewed a Capital One cloud engineer in a recent post regarding AWS certifications. Check it out if you are interested in getting certified. Passing the AWS Architect Associate exam – Interview With Chris Green
I could go on and on for hours about the companies that make use of AWS such as Kellogs, NASA, BMW, Expedia, Airbnb, Amazon themselves! But that would go way outside the scope of this article. Fortunately AWS have a well written page on their case study website.
To the best of my knowledge none of the other major players in the cloud space offer quite as much for free as AWS does. For the first 12 months of use you get access to services including:
- Dedicated EC2 (VM) that can run 750 hours per month.
- Database instance (MySQL, PostgreSQL, SQL Server)
- 5 GB of simple file storage
- 1 Million Lambda requests per month (serverless)
- 750 hours ElastiCache (AWS caching solution) per month
- 30 GB of EBS storage for running OS’s and Databases
- 5 GB of EFS storage for mounting drives across EC2 instances
All the things list above expire after 12 months and you default back to the standard pay as you use model.
There are however a set of free features that never expire. That means you can use them as a free allowance on various AWS products before you even get charged. This is extremely useful as many of these features can be useful for not only users new to AWS but also existing customers that want to make use of AWS features that are useful for established software products.
Here’s a sample of them:
- 25 GB of DynamoDB storage – AWS NoSQL solution
- Device Farm – 1000 hours of testing your iOS or Android apps on real devices
- CloudWatch 10 metrics and 5 GB of log data
- CodeCommit – 5 Active users, 50 GB of storage and 10,000 git requests pm
- Cognito allows for sign into your apps using Facebook, Email, Active Directory etc..
For a comprehensive list of all the free features you get with AWS checkout their free tier homepage.
AWS accounts for roughly 35% of the total market share of cloud computing. Putting it way ahead of its rivals Microsoft Azure and Google Cloud. However that gap has narrowed in recent years as Microsoft continue to pour resources into the Azure platform.
According to the latest Gartner report the gap can clearly be seen between the two market leaders and the rest of the pack.
AWS continues to outpace the market and indeed sets the direction of the market. They have over a decade perfected a strategy for releasing new industry focused products and services. It is this continuing progress that keeps them on top in a competitive landscape.
Joining the AWS club means you benefit from massive economies of scale. AWS has has hundreds of data centers and hundreds of thousands of servers.
When you’re ordering equipment at that level then you start to see the benefits of economies of scale. AWS pass the saving on to the customer and you’ll find that as the user base grows their overall costs per client drop.
This very blog is hosted on AWS lightsail, which recently benefited from a price reduction from $5 per month to $3.5
Check out AWS’s own blog on where they list a bunch of products they’ve introduces price decreases AWS Blog Price Decrease.
So this is one for all you people who still aren’t convinced about cloud in general. The likelihood is that all the hardware you’re hosting at your own company or have hired from a data center is 90% under utilised.
Take a look right now, I wouldn’t be surprised if your usage was hovering around the 10% mark.
So you’re paying 100% of the costs and only using 10% of the resources.
Ok your going to say, but we need that extra 90% for when traffic spikes. Like for instance on black friday.
Two things are wrong with this statement. Firstly, of that 90% what happens if you’re usage demand exceeds it?! The server crashes or grinds to a halt and all that revenue would be lost.
Second, what about paying for all that hardware and maintaining it. That hurts your bottom line and takes a lot of work to keep running.
AWS scales based on demand.
When you’re company only requires a small amount of compute resources then you will only be charged for that and when you have a spike in demand AWS will scale your infrastructure to meet the demand. When the demand is gone, AWS can auto scale down to its previous levels.
You strike gold and your company is growing like crazy. That’s great, the profits will start rolling in right?
But wait, not so fast. You find out that the increased demand on your resources and existing infrastructure means you can’t adapt to the new customer influx. This is bad.
Customers start to drip away as they determine that you can’t handle their workload. This is a common scenario for startups that don’t have an effective plan in place to deal with increased demand.
A correctly configured AWS based software product can scale to almost unlimited proportions rapidly and responsively. And as was previously mentioned, you are only charged for what you use.
Don’t get me wrong, in some ways this kind of problem is a luxury. But you’d sleep more soundly knowing that you have a system in place to scale automatically based on demand.
This is something unique to cloud that your traditional in house data centers can’t easily offer. If they do then they are likely to charge a premium for it.
Essentially AWS is split up into geographic regions and those regions are further split into what’s called Availability Zones. Those Availability Zones or AZ’s for short are built up of one or more data centers where AWS Servers run.
In the AWS management console you can easily switch between regions and choose which AZ your software is run from.
Why is this useful?
When you start to consider that requirements like:
- Your client needs their data to reside in a particular geographic area for legal reasons
- You want a disaster recovery system in place that protects you from catastrophic loss of infrastructure.
- You want to distribute static content across multiple geographic regions to produce a high performing website.
- Or you just need to run a system that simply cannot fail and need the infrastructure to support that model.
- And many more…
Then you start to see why regions and availability zones become a crucial cog in the decision process on just how help AWS could be to your business or organisation.
|US West (Oregon) Region||us-west-2||https://rds.us-west-2.amazonaws.com|
|US West (N. California) Region||us-west-1||https://rds.us-west-1.amazonaws.com|
|US East (Ohio) Region||us-east-2||https://rds.us-east-2.amazonaws.com|
|US East (N. Virginia) Region||us-east-1||https://rds.us-east-1.amazonaws.com|
|Asia Pacific (Mumbai) Region||ap-south-1||https://rds.ap-south-1.amazonaws.com|
|Asia Pacific (Seoul) Region||ap-northeast-2||https://rds.ap-northeast-2.amazonaws.com|
|Asia Pacific (Singapore) Region||ap-southeast-1||https://rds.ap-southeast-1.amazonaws.com|
|Asia Pacific (Sydney) Region||ap-southeast-2||https://rds.ap-southeast-2.amazonaws.com|
|Asia Pacific (Tokyo) Region||ap-northeast-1||https://rds.ap-northeast-1.amazonaws.com|
|Canada (Central) Region||ca-central-1||https://rds.ca-central-1.amazonaws.com|
|China (Beijing) Region||cn-north-1||https://rds.cn-north-1.amazonaws.com.cn|
|EU (Frankfurt) Region||eu-central-1||https://rds.eu-central-1.amazonaws.com|
|EU (Ireland) Region||eu-west-1||https://rds.eu-west-1.amazonaws.com|
|EU (London) Region||eu-west-2||https://rds.eu-west-2.amazonaws.com|
|EU (Paris) Region||eu-west-3||https://rds.eu-west-3.amazonaws.com|
|South America (São Paulo) Region||sa-east-1||https://rds.sa-east-1.amazonaws.com|
This is one of those things that’s always going to be a concern for anyone who decides to host their products on servers outside of their direct ownership. Indeed it’s still going to be a factor for servers running in house!
I’m going to be frank and not pitch you a sale that makes AWS sounds like a security ninja that takes care of all your security worries.
AWS defined the line of responsible between itself and its customers clearly. In the the form of the shared responsibility model. In this model, AWS is responsible for the infrastructure, i.e. the data centers where your servers run and you as the client are responsible for the configuration of those servers. For instance, deciding which ports are open.
Although we could write an entire blog post about security, sufficed to say where the responsibility of security falls in AWS’s court they take it very seriously.
As the client you just need to be aware of what responsibilities fall under you.
Designing a infrastructure project from scratch can feel a little overwhelming. There’s literally 100s of things to consider.
This daunting task is made more manageable in AWS, simply because many people have walked this path before you. You’re not reinventing the wheel.
There’s a bunch of white papers that AWS employees have written over the years that outline various concepts and features AWS provides. Things like:
- Best Practices
- AWS Overviews
- Pricing structures
- Well Architected Framework
- Business Value of AWS
- And so on…
Checkout the white paper home page and have a read through some of these.
Reading through these in addition to speaking to experienced AWS architects which can be made available for a fee can dramatically reduce the guess work and get your project started all the quicker.
With AWS there’s literally 1000’s of potential employees and consultants that will be familiar with and contribute to your infrastructure if its run on AWS.
Can you say the same of a bespoke solution?
You could hire someone today and they’d be able to work on your infrastructure almost immediately This reduces your risk exposure to employee sickness or vacation time since the learning curve for picking up your companies infrastructure is dramatically reduced since the AWS environment will be familiar.
So which way would you prefer, I know what I’d want….
What’s the point of having a great cloud infrastructure if you don’t have an equally great interface into it.
The AWS team knows this and as a result they’ve created a simple to use and consistent GUI interface in the form of the management console.
From it, you can easily switch between regions, view your current and predicted bills, see and manage all your EC2 instances, the list goes on. Basically almost anything AWS has to offer is accessible via the management console.
The AWS team also make great efforts to keep the look and feel of the management console up to date. So over time the console will change.
Here’s a few screenshots on what the console looks like:
Old school purchase orders are a thing of the past. No massive lead time shipping hardware to your data centers. Just mouse clicks and hey presto your service is up and running.
In the ‘Good old days’ if you needed more hardware there’s a likelihood that you’d have to go through a mountain of red tape and sign offs to get it. Compounded with the fact that there may be shipping or stock delays and this starts to become a real problem at scale.
Switching to AWS literally removes this issue completely.
For instance you can request a new EC2 instance and expect to be able to access it within minutes.
Way back in 2009 AWS team introduced the VPC or Virtual Private Cloud into AWS. This was to address concerns that it wasn’t suitable for enterprise solutions and was a factor that gave traditional data centers the upper hand.
Flash forward 9 years and now in 2018 and AWS VPC use is widespread throughout its customer base. It is one of the main building blocks that a solutions architect will use to design a system.
What is a VPC? This is something that again warrants an entire blog post written about it. I’m planning on doing so when I launch a completely free course on passing the AWS architect associate exam.
In a few sentences though a VPC is virtual network that allows for IPSec, encrypted connection and allows for more granular level of security management. IP allocation based on subnet. Addresses the needs of Enterprise customers.
If there’s one truly revolutionary thing to come out of AWS in recent years then Lambda is surely it.
Essentially it allows you to write functions and have them be executed in the cloud with now server (albeit traditional server) running.
You simply write code and deploy it. That’s it. No servers to worry about.
Lambda runs only when it is called. There’s zero worry about a server going down. Simply because lambda doesn’t require 24/7 servers. When a request is made it will fire up response and shut down in a fraction of a second. To scale Lambda simply adds more instances in the background. As a developer you simply code.
This results in the removal the worry that “it works on my machine” syndrome. Because code is deployed and worked on in the cloud. Frameworks like serverless are springing up to support it.
Not only this it takes the concept of pay as you go to the next level. Along with scalability. While auto scaling groups allow you to increase the number of EC2 instances (virtual machines) Lambda scales automatically based on demand. No configuration required. Scaling guaranteed.
Companies can host their entire software products on Lambda and have extremely low operating costs. aCloudGuru is an example of this.
If you’re interested in Lambda, why not checkout Serverless Conf
This relates closely to the Secure – You aint getting in my cloud section I wrote earlier. Namely where the separation between the responsibility of AWS and the responsibility of the customer resides.
In order to address this AWS explicitly states where the line is defined and presents it in the form of the shared responsibility model. As seen above.
Here you can clearly see that AWS is responsible for the global infrastructure and hardware and the software used to run things like the storage, database, networking etc…
Where as the customer is responsible for things like Identity and Access management. Operating system upgrades in the context of EC2, firewall configuration and encrypting settings.
Knowing what you have to focus on in terms of system maintenance really helps focus your attention on the things that have the biggest impact on your company.
Infrastructure as code
Remember how I said Lambda was revolutionary? Well I’d put CloudFormation in the same category.
Cloud Formation is an amazing technology that turns infrastructure into code. The script builds the infrastructure. Dramatically reducing costs associated with building a solution.
Highly useful for companies who build solutions for lots of customers.
It means you can build up and tear down an entire enterprise system in the time it takes to deploy, provision and then shut down those services. This opens the possibility to do things like system level testing on projects what would otherwise be to expensive to run continuously.
Put simply, there’s a support level for every business or use case.
If you’re a startup, looking to basic coverage they have the developer plan.
If you’re a massive online multinational then they have Enterprise and everything in between.
I wrote a fairly in depth about AWS’s support plan a while back entitled AWS support plan – a detailed explanation and comparison of what they offer. Checkout it out if you want more info on this.
Ok so there’s my 17 reasons you should consider using AWS for your cloud solutions provider. Sign up for the 12 month free trial and start playing.
If you’re interested in further study then I’m going to create a totally free online course for learning AWS and gaining AWS Architect Associate certification.
If this is something that would be of interest to you then let me know in the comments below!