• Amazon Web Services (AWS) was the first to market with building blocks in 2006 and does Infrastructure-as-a-Service (IaaS) very well compared to its competitors.
    • AWS’ vast library of building blocks means you have unbound flexibility in how you design workloads.
    • The downside of so much flexibility is that more technical skill is required to work effectively develop and deploy effectively.

If you’ve wondered whether there are differences for designing an IT infrastructure for an on-premises environment vs the cloud, then you have come to the right place.

For a refresher on what cloud and AWS is, read Getting Started with AWS in 2022: The value of cloud.

Six AWS General Design Principles

To facilitate good design on AWS Cloud, it’s important to consider six general design principles:

  1. Stop guessing your capacity needs
  2. Test systems at production scale
  3. Automate to make architectural experimentation easier
  4. Allow for evolutionary infrastructures
  5. Drive architectures using data I
  6. mprove through game days

We won’t cover all of these in this blog, but these design principles highlight the differences between being your own data center and relying on any cloud hosting provider, AWS or otherwise.

Let’s dive in.

Principle #1: Stop guessing your capacity needs

I recall an enterprise I worked with that spent 8 months out of the year dedicating most of the IT to capacity planning.

They asked all kinds of questions:

  • How many servers do we need?
  • How are we going to save money?
  • Where are we going to be needed?
  • What is our change window for doing the physical installation (racking and stacking) of equipment in our on-prem data center?
  • How are we handling functional testing and load testing?
  • And the list goes on and on.

Guess what? When you operate in the cloud, you no longer worry about these questions because AWS takes care of all of it! Imagine all the time your IT team will save without this responsibility.

Principle #2: Test systems at production scale

You can always spin up temporary resources for testing for your Quality Assurance tests to match your production scale, then scale down or remove them when you no longer need them, which is typically after testing is complete. That way you only pay for the resources consumed, rather than any ideal capacity.

Principles #3 and #4: Automate for architectural experimentation and Allow for evolutionary infrastructure

These two principles may be the most important of the six. When you automate and evolve, you open the door to innovation.

When you have your own on premises data center, your team’s time is spent managing hardware. But with AWS, their time and minds are free to be more creative. AWS Cloud gives rise to a completely new way of thinking about IT architectures.

A simple example would we take our simple existing two on-premises data center model.

Traditional two data center design
Source: AWS

 

Which can then be evolved in a matter of minutes into several data centers or AWS likes to call as Availability Zones (AZs) which are organized into 24 Regions worldwide. Each AZ has redundant resources and uses separate facilities for power and operates in a different geographic vicinity from the next AZ thereby providing instant resiliency to your workloads in the cloud.

Diagram of AWS Region and availability
AWS global infrastructure. Source: AWS

Principles #5 and #6: Drive architectures using data and Improve through game days

Combined, these two principles take on security from AWS.

Many years ago in an AWS presentation, I came across five words that should describe every company’s security posture: Keep people away from data.

It was refreshing that someone from AWS coined this simple phrase so that we can highlight an important security principle to somebody who is not IT security savvy. The further you can keep people away from data, the better it will be for your organization.

AWS Building Blocks

Now let's turn to AWS building blocks.

AWS as an ecosystem is full of building blocks. An example of a two building blocks are Compute and Storage, where the Compute example is a server (e.g., Amazon Elastic Compute Cloud (EC2)) and the Storage example is cloud object storage such as Amazon S3. Building blocks can be combined together. For example, use EC2 to host and run your app and the underlying S3 for storage for your app’s data.

Full list of AWS Building Blocks

Analytics Front-End Web & Mobile
Application Integration Game Development
AR & VR Internet of Things
Blockchain Machine Learning
Business Applications Management & Governance
Compute Media Services
Containers Migration & Transfer
Cost Management Networking & Content Delivery
Customer Engagement Quantum Technologies
Customer Enablement Robotics
Database Satellite
Developer Tools Security, Identity & Compliance
End User Computing Storage



A common question people ask is: What’s the difference between AWS, Azure and Google Cloud?

Let’s start with some context.

First-to-market IaaS

AWS Cloud was first-to-market in 2006. Therefore, it has the first-mover advantage. Being first gave AWS the room to build inertia that has been difficult for followers to overcome.

AWS also has the biggest cloud ecosystem with the largest number of offerings. Back in 2006, Software-as-a-Service (SaaS) offerings and the idea of working with that level of sophistication through a browser hadn't happened yet. What AWS did early on with its offerings like its EC2 and VPC were close to the Infrastructure-as-a-Service (IaaS) types of offerings we see today. In fact, AWS does IaaS really well.

The competition arrives

Now enter Microsoft, Google Cloud and IBM to an extent. Today, AWS dominates the cloud market, then Microsoft through its Azure cloud brand. Then there is a huge drop to reach Google through its Google Cloud Platform (GCP). And then there is a huge drop again for everybody else.

Chart: Top Cloud Providers 2021
Top cloud providers by market share in 2021. Source: Statista

It took several years before we Azure and GCP came to attention. And when Azure and GCP came on to the scene, they started higher up the stack, meaning they started with more Platform-as-a-Service (PaaS) and SaaS offerings right out of the gate. It was easier to enter here because AWS was so far ahead with IaaS!

Essentially, Microsoft, Google, IBM, Oracle, and others deliver PaaS and SaaS offerings fairly well, but they don’t go down the stack IaaS. And none of them do IaaS as well as AWS.

The AWS Advantage

So, what does this mean for you? I’ll use an analogy to explain.

Imagine Lego blocks. Yes, those small colorful bricks we played with as children and now step on and cry out in pain thanks to my children. Azure and GCP are like those hundreds of boxes of kits you see when you walk into any Lego store. Each kit comes with its own set of instructions and the all the pieces you need to build.

Now imagine if you were to buy two different Lego kits and try and integrate them together. It’s not so easy to do that, especially without instructions for this job and few search engine results to help. AWS is like this Lego situation.

The individual kits (Azure and GCP) are fantastic as they come with their own set of good instructions and are a great if you are a new and can follow directions.

AWS, however, is like going straight to the Lego factory and walking in the door to see millions of different kinds of Lego pieces. Some of them are sorted into bins and some of them are sitting on shelves. All the pieces are there, but you must use your imagination to come up with what you want to build and how to build it without step-by-step instructions.

No Instructions, No Boundaries

While this sounds intimidating, AWS’ a la carte type of services is what makes it the ultimate provider in flexible cloud technology.

This unbound flexibility means you decide what kind of workload you want to implement, then pick and choose the services to make it happen. There’s always more than one way to do it is a mantra you quickly learn when you work in AWS.

Working in AWS takes your skills as a cloud practitioner from good to great. With some training and coaching and developing a knack for Google searches, you can get there. For example, if you have project that needs six technologies from AWS, you can search for resources on how to integrate any of them together.

AWS vs Azure vs GCP

Now comes the big question: Which cloud provider is the best?

Since all of them have similar cost models the answer is It depends.

My view having worked extensively in each platform and led training sessions is that it’s a good thing to have three cloud providers competing against each other. In the end, it’s the customers who win with a new services and features at a better cost. tooth and nail, because in the end the customers win.

I am a fan of and use AWS, Azure and GCP. More and more, businesses and enterprises are adopting all three as part of their multicloud strategy and operations.

But it’s important to highlight this: Azure and GCP make it really make it easy for new customers to get started. If you’re a developer and need to deploy a 3-tier architecture, you can do it more easily on Azure or GCP.

So where to start in AWS?

Because the AWS ecosystem is so large, the most common services are usually the best starting point. In fact the building blocks listed below are an excellent foundation to start from.

  • Compute
  • Storage
  • Database
  • Networking & Content Delivery
  • Application integration
  • Developer Tools
  • Security, Identity & Compliance
  • Management & Governance

So, keep in mind the above products are just a starting point and serve as a launchpad to more complex solutions and varied products such as Analytics, Machine Learning and Internet of Things (IoT) within the AWS ecosystem. Everything builds on each other, meaning Compute, Storage and Database products help build out more complex products in Machine Learning for example.

It is also important to remember, each of these solutions and products will need additional technical expertise. We at Cloud Institute look forward to supporting your learning journey in developing your technical expertise in all things Cloud and AWS related. Check out some of our AWS training options.