AWS FOR SOLUTIONS ARCHITECTS -: Build and Migrate Your Workload to Amazon Web Services Using The... Cloud-Native Approach
Author: Saurabh. Srivastav Shrivastava (neelanjali. Artasanchez, Alberto.)
Date: 2023-12-15T05:41:37+00:00
Description: Grow your knowledge of AWS cloud and learn how to create robust, highly available, fault-tolerant, and scalable solutions. Key Features - Understand AWS cloud automation, AWS networking, AWS cloud migration, and cloud adoption framework - Explore AWS streaming analytics, big data design patterns, AI/ML, IoT, quantum computing, and blockchain - Upskill yourself as an AWS solutions architect and explore details of the new AWS certification Book Description AWS for Solutions Architects is a must-have guide for those interested in making the most of AWS and building scalable cloud solutions. This
Publisher: Packt Publishing Limited

AWS for Solutions Architects

Copyright © 2022 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Early Access Publication: AWS for Solutions Architects

Early Access Production Reference: B18475

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham

B3 2PB, UK

ISBN: 978-1-80323-895-1
www.packt.com

Table of Contents

AWS for Solutions Architects, Second Edition: Design your cloud infrastructure by implementing DevOps, containers, and Amazon Web Services

1 Understanding AWS Cloud Principles and Key Characteristics

What is cloud computing?

1. Cloud elasticity
2. Cloud virtualization
3. Definition of the cloud

Private versus public clouds

What is AWS cloud computing?

The market share, influence, and adoption of AWS

Basic cloud and AWS terminology

Why is cloud computing so popular?

1. Elasticity
2. Security
3. Availability
4. Faster hardware cycles
5. System administration staff

The Six pillars of a well-architected framework

1. The first pillar – Security
2. The second pillar – Reliability
3. Third pillar – performance efficiency
4. Fourth pillar – cost optimization
5. Fifth pillar – operational excellence
6. Sixth pillar – sustainability

AWS Well-Architected Lenses

Building credibility and getting certified

1. Building AWS Cloud Career for non-tech

2. AWS Certified Cloud Practitioner – Foundational

3. AWS Solutions Architect Path

4. AWS Certified Solutions Architect – Associate

5. AWS Certified Solutions Architect – Professional

6. AWS Cloud DevOps Engineer Path

7. AWS Certified SysOps Administrator – Associate

8. AWS Certified DevOps Engineer – Professional

9. AWS Cloud Developer Path
10. AWS Certified Developer – Associate
11. AWS Specialty Solutions Architect Path

12. AWS Certified Advanced Networking – Specialty

13. AWS Certified Security – Specialty

14. AWS Certified Machine Learning – Specialty

15. AWS Certified Database – Specialty
16. AWS Certified Data Analytics – Specialty
17. AWS Certified SAP – Specialty

Learning tips and tricks to obtain AWS certifications

1. Focus on one cloud provider

2. Getting Started in AWS

3. Focus on the Associate-level certifications

4. Get experience wherever you can

Some frequently asked questions about the AWS certifications

1. What is the best way to get certified?

2. How long will it take to get certified?

3. What are some last-minute tips for the days of the exam?

Summary

Join our book community on Discord

2 Leveraging the Cloud for Digital Transformation

1. A brief introduction to cloud computing

1. Cloud computing models

2. Understanding IaaS

1. Advantages of IaaS
2. Disadvantages of IaaS
3. Use cases for IaaS
4. Examples of AWS IaaS services

3. Understanding PaaS

1. Advantages of PaaS
2. Disadvantages of PaaS
3. PaaS use cases
4. Examples of AWS PaaS services

4. Understanding SaaS

1. Characteristics of SaaS
2. Advantages of SaaS
3. Disadvantages of SaaS
4. Examples of AWS SaaS solutions
5. Examples of third-party SaaS solutions

5. Selection by use case of SaaS, PaaS, or IaaS

6. Cloud Migration Strategy

1. The three-phase migration process

7. Cloud migration patterns - The 7 R’s

1. Rehost in the cloud
2. Re-platform in the cloud
3. Refactor in the cloud
4. Revise before migrating to the cloud
5. Repurchase in the cloud
6. Relocate to the cloud
7. Retain in on-premise
8. Retire

8. Migration assessment tools

9. Implementing a digital transformation program

1. What exactly is a digital transformation?
2. Digital transformation definition
3. Digital transformation drivers
4. Digital transformation examples
5. Digital transformation tips
6. Digital transformation pitfalls
7. AWS Cloud Adoption Framework (AWS CAF)

10. Summary

11. Join our book community on Discord

1. Cover

2. Table of contents

AWS for Solutions Architects, Second Edition: Design your cloud infrastructure by implementing DevOps, containers, and Amazon Web Services

Welcome to Packt Early Access. We’re giving you an exclusive preview of this book before it goes on sale. It can take many months to write a book, but our authors have cutting-edge information to share with you today. Early Access gives you an insight into the latest developments by making chapter drafts available. The chapters may be a little rough around the edges right now, but our authors will update them over time.You can dip in and out of this book or follow along from start to finish; Early Access is designed to be flexible. We hope you enjoy getting to know more about the process of writing a Packt book.

1. Chapter 1: Understanding AWS Cloud Principles and Key Characteristics

2. Chapter 2: Leveraging the Cloud for Digital Transformation

3. Chapter 3: AWS Networking and Content Delivery

4. Chapter 4: Storage in AWS – Choosing the Right Tool for the Job

5. Chapter 5: Harnessing the Power of Cloud Computing

6. Chapter 6: Selecting the Right Database Service

7. Chapter 7: Best Practices for Application Security, Identity, and Compliance

8. Chapter 8: Drive Efficiency with Cloud Automation, Monitoring, and Alert

9. Chapter 9: AWS EMR and AWS Glue – Extracting, Transforming, and Loading Data

10. Chapter 10: Amazon Athena and Amazon QuickSight– Combining the Simplicity of Files with the Power of SQL and Data Visualization

11. Chapter 11: Machine Learning, IoT, and Blockchain in AWS

12. Chapter 12: Serverless and Container Patterns

13. Chapter 13: Microservice and Event-Driven Architectures

14. Chapter 14: Domain-Driven Design

15. Chapter 15: Data Lake Patterns – Integrating Your Data across the Enterprise

16. Chapter 16: Availability, Reliability, and Scalability Patterns

17. Chapter 17: Hands-On Lab and Use Case

1 Understanding AWS Cloud Principles and Key Characteristics

The last decade has revolutionized the information technology industry, where cloud computing was introduced, and now it is everywhere. Nowadays, the cloud is the new normal. Everyone in the industry is adopting the cloud or seriously thinking about it. It all started with Amazon launching a cloud service called Amazon Web Services (AWS) in 2006 with a couple of services. Netflix migrated to AWS in 2008 and became a market disrupter. After that, no looking back and many industry revolutions led by cloud-born startups like Airbnb in hospitality, Robinhood in finance, Lyft in transportation, and many more. Cloud rapidly gain market share, and now all big names like Capital One, JP Morgan Chase, Nasdaq, NFL, General Electric, everyone accelerating their digital journey by cloud adoption.Even though the term cloud is pervasive today, not everyone understands what the cloud is. The cloud can be different things for different people. Another reason is that the cloud is continuously evolving.In this chapter, we will put our best foot forward and attempt to define the cloud, and then we will try to define the AWS cloud more specifically. We will also cover the vast and ever-growing influence and adoption of the cloud in general and AWS in particular. After that, we'll start introducing some elementary cloud and AWS terms to start getting our feet wet with the lingo.We will then try to understand why cloud computing is so popular. Assuming you buy the premise that the cloud is taking the world by storm. We will then learn how we can take a slice of the cloud pie and build our credibility by becoming certified. Finally, toward the end of the chapter, we will look at some tips and tricks you can use to simplify your journey to obtain AWS certifications. We will look at some frequently asked questions about the AWS certifications.In this chapter, we will cover the following topics:

- What is cloud computing?

- What is AWS cloud computing?

- The market share, influence, and adoption of AWS

- Basic cloud and AWS terminology

- Why is cloud computing so popular?

- The six pillars of a well-architected framework

- Building credibility by becoming certified

- Learning tips and tricks to obtain AWS certifications

- Some frequently asked questions about AWS certifications

Let's get started, shall we?

What is cloud computing?

The best way to understand the cloud is to take the electricity supply analogy. To get electricity in your house, you just flip the switch on. Electric bulbs lighten your home and other appliances. In this case, you only pay for your electricity use when you need them. When you switch off the electric appliances, you are not paying anything. Now, imagine if you need to power a couple of appliances, and for that, you have to set up an entire powerhouse. It will be costly, right? as it involves the cost of maintaining the turbine, generator, and building the whole infrastructure. Utility companies make your job easier by supplying the electricity quantity you need. They maintain the entire infrastructure to generate electricity. They could keep the cost down by distributing electricity to millions of houses which helped them benefit from mass utilization. Now let's come to cloud computing; while consuming cloud resources, you pay for IT infrastructure such as computing and storage in the pay-as-you-go model. Here, public clouds like AWS do the heavy lifting to maintain IT infrastructure and provide you access over the internet under pay as you go, model. They are revolutionizing the IT infrastructure industry, where traditionally, you have to maintain your servers all by yourself on-premise to run your business, but now you can offload that to the public cloud and focus on your core business. For example, CapitalOne's core business is banking and does not run a large data center. Before going deeper into cloud computing, let's analyze some of the key characteristics of the public cloud.

Cloud elasticity

One important characteristic of the public cloud providers such as AWS is the ability to quickly and frictionlessly provision resources. These resources could be a single instance of a database or a thousand copies of the same server used to handle your web traffic. These servers can be provisioned within minutes.Contrast that with how performing the same operation may play out in a traditional on-premises environment. Let's use an example. You need to set up a cluster of computers to host your latest service. Your next actions probably look something like this:

1. You visit the data center and realize that the current capacity is insufficient to host this new service.

2. You map out a new infrastructure architecture.

3. You size the machines based on the expected load, adding a few more terabytes and a few gigabytes to ensure that you don't overwhelm the service.

4. You submit the architecture for approval to the appropriate parties.

5. You wait. Most likely for months.

It may not be uncommon once you get the approvals to realize that the market opportunity for this service is now gone or that it has grown more. The capacity you initially planned will not suffice. It isn't easy to overemphasize how important the ability to deliver a solution quickly is when you use cloud technologies to enable these solutions.Image what will happen if, after getting everything set up in the data center and after months of approvals, you told the business sponsor that you made a mistake. You ordered a 64 GB RAM server instead of a 128 GB, so you won't have enough capacity to handle the expected load. Getting the right server will take a few more months? Also, the market is moving fast, and your user workload increases 5x by the time you get the server. Now it's good news for business, but as you cannot scale your server so fast, the user experience will ultimately be compromised, and they will switch to other options. It is not necessarily a problem in a cloud environment because instead of needing months to provision your servers, they can be provisioned in minutes. Correcting the size of the server may be as simple as shutting down the server for a few minutes, changing a drop-down box value, and restarting the server again. Even you can go serverless and let the cloud handle the scaling for you while you focus on your business problems.Hopefully, the above example here drives our point home about the power of the cloud. The cloud exponentially improves time to market. And being able to deliver quickly may not just mean getting there first. It may be the difference between getting there first and not getting there. Another powerful characteristic of a cloud computing environment is the ability to quickly shut down resources and, significantly, not be charged for that resource while it is down. In our continuing on-premises example, if we shut down one of our servers. Do you think we can call the company that sold us the server and politely asks them to stop charging us because we shut the server down? That would be a very quick conversation. It would probably not be a delightful user experience, depending on how persistent we were. They will probably say, "You bought the server; you can do whatever you want with it, including using it as a paperweight." Once the server is purchased, it is a sunk cost for the duration of the server's useful life.In contrast, whenever we shut down a server in a cloud environment. The cloud provider can quickly detect that and put that server back into the pool of available servers for other cloud customers to use that newly unused capacity.

Cloud virtualization

Virtualization is running multiple virtual instances on top of a physical computer system using an abstract layer sitting on top of actual hardware. More commonly, virtualization refers to the practice of running multiple operating systems on a single computer at the same time. Applications running on virtual machines are oblivious that they are not running on a dedicated machine. These applications are unaware that they share resources with other applications on the same physical machine.A hypervisor is a computing layer that enables multiple operating systems to execute in the same physical compute resource. These operating systems running on top of these hypervisors are Virtual Machines (VMs) – a component that can emulate a complete computing environment using only software but as if it was running on bare metal. Hypervisors, also known as Virtual Machine Monitors (VMMs), manage these VMs while running side by side. A hypervisor creates a logical separation between VMs. It provides each of them with a slice of the available compute, memory, and storage resources.It allows VMs not to clash and interfere with each other. If one VM crashes and goes down, it will not make other VMs go down with it. Also, if there is an intrusion in one VM, it is fully isolated from the rest.

Definition of the cloud

Let's now attempt to define cloud computing.The cloud computing model offers computing services such as compute, storage, databases, networking, software, machine learning, and analytics over the internet and on-demand. You generally only pay for the time and services you use. Most cloud providers can provide massive scalability for many of their services and make it easy to scale services up and down.As much as we tried to nail it down, this is still a pretty broad definition. For example, we specify that the cloud can offer software in our definition. That's a pretty general term. Does the term software in our definition include the following?

- Video Conferencing
- Virtual desktops
- Email services
- Contact Center
- Document Management

These are just a few examples of what may or may not be included as available services in a cloud environment. When it comes to AWS and other major cloud providers, The answer is yes. When AWS started, it only offered a few core services, such as compute (Amazon EC2) and basic storage (Amazon S3). As of 2022, AWS has continually expanded its services to support virtually any cloud workload. Currently, It has more than 200 fully featured services for compute, storage, databases, networking, analytics, machine learning, artificial intelligence (AI), Internet of Things (IoT), mobile, security, hybrid, virtual & augmented reality (VR and AR), media, application development, and deployment. As a fun fact, as of 2021, Amazon Elastic Cloud Compute (EC2) alone offers over 475 types of compute instances.For the individual examples given here, AWS offers the following:

- Video conferencing – Amazon Chime
- Virtual desktops – AWS Workspaces
- Email services – Amazon WorkMail
- Contact Center – Amazon Connect
- Document Management – Amazon Workdocs

As we will see throughout the book, here is a sample of AWS's offers many services. Additionally, since it was launched, AWS services and features have grown exponentially every year, as shown in the following figure:

Figure 1.1 – AWS – number of features

There is no doubt that the number of offerings will continue to grow at a similar rate for the foreseeable future. AWS is a cloud market leader as it has a lot of functionality. They are innovating faster, especially in new areas such as Machine Learning and Artificial Intelligence, the Internet of Things, Serverless Computing, Blockchain, and even quantum computing.You must have heard cloud terms more often in different contexts, including the public and private clouds. Let's learn more about it.

Private versus public clouds

A private cloud is a service dedicated to a single customer—it is like your on-premise data center, which is accessible to one large enterprise. A private cloud has become a fancy name for a data center managed by a trusted third party. All the elasticity benefits wither away. This concept has gained momentum to ensure security. Initially, enterprises were skeptical about public cloud security, which is multi-tenant. But having your own infrastructure dimmish the value of the cloud as you have to pay for resources even if you are not running it. Let's use an analogy to understand the private cloud further. The gig economy has great momentum. Everywhere you look, people are finding employment as contract workers. Uber drivers are setting up Airbnbs, and people are doing contract work for Upwork. One of the reasons contract work is getting more popular as it enables consumers to contract services that they may otherwise not be able to afford. Could you imagine how expensive it would be to have a private chauffeur? But with Uber or Lyft, you almost have a private chauffeur who can be at your beck and call within a few minutes of you summoning them.A similar economy of scale happens with a public cloud. You could have access to infrastructure and services that would cost millions of dollars if you bought them on your own. Instead, you can access the same resources for a small fraction of the cost.Even though AWS, Azure, GCP, and the other popular cloud providers are considered mostly public clouds. There are some actions you can take to make them more private. For example, AWS offers Amazon EC2 dedicated instances, which are EC2 instances that ensure that you will be the only user for a given physical server. Further, AWS offers AWS Outpost, where you can order server rack and host workload in your premise using the AWS control plane. Dedicated instance and Outpost costs are significantly higher than on-demand EC2 instances. On-demand instances ?? may be shared with other AWS users. As mentioned earlier in the chapter, you will never know the difference because of virtualization and hypervisor technology. One common use case for choosing dedicated instances is government regulations and compliance policies. That requires certain sensitive data to not be in the same physical server with other cloud users.Indeed private clouds are expensive to run and maintain. For that reason, many of the resources and services offered by the major cloud providers reside in public clouds. But just because you are using a private cloud does not mean that it cannot be set up insecurely and conversely. Suppose you are running your workloads and applications on a public cloud. You can use security best practices and sleep well at night knowing that you use state-of-the-art technologies to secure your sensitive data.Additionally, most major cloud providers' clients use public cloud configurations, but there are a few exceptions even in this case. For example, the United States government intelligence agencies are a big AWS customer. As you can imagine, they have deep pockets and are not afraid to spend. In many cases with these government agencies, AWS will set up the AWS infrastructure and services on the agency's premises. You can find out more about this here:https://aws.amazon.com/federal/us-intelligence-community/Now that we have gained a better understanding of cloud computing in general. Let's get more granular and learn about how AWS does cloud computing.

What is AWS cloud computing?

AWS is the undisputed market leader in cloud computing today. Even though there are few worthy competitors, it doesn't seem like anyone will push them off the podium for a while. Why is this, and how can we be sure they will remain a top player for years? Because this pattern has occurred in the history of the technology industry repeatedly. IN THEIR BOOK THE GORILLA GAME: PICKING WINNERS IN HIGH TECHNOLOGY, Geoffrey A. Moore, Paul Thompson, and Tom Kippola explained this pattern best a long time ago.Some important concepts covered in their book are listed here:

- There are two kinds of technology markets: Gorilla Games and Royalty Markets. In a Gorilla Game, the players are dubbed gorillas and chimps. In a Royalty Market, the participants are kings, princes, and serfs.

- Gorilla Games exist because the market leaders possess proprietary technology that makes it difficult for competitors to compete. This proprietary technology creates a moat that can be difficult to overcome.

- In Royalty Markets, the technology has been commoditized and standardized. In a Royalty Market, it's challenging to become a leader, and it's easy to fall off the number one position.

- The more proprietary features a gorilla creates in its product, the bigger the moat they establish. The more difficult and expensive it becomes to switch to a competitor, the stronger the gorilla becomes.

- This creates a virtuous cycle for the market leader or gorilla. The market leader's product or service becomes highly desirable, meaning they can charge more and sell more. They can then reinvest that profit to improve the product or service.

- Conversely, a vicious cycle is created for second-tier competitors or chimps. Their product or service is not as desirable, so even if they charge as much money as the market leader because they don't have as many sales, their research and development budget will not be as large as the market leader.

- The focus of this book is on technology, but if you are interested in investing in technology companies, the best time to invest in a gorilla is when the market is about to enter a period of hypergrowth. At this point, the gorilla might not be fully determined, and it's best to invest in the gorilla candidates and sell stock as it becomes obvious that they won't be a gorilla and reinvest the proceeds of that sale into the emerging gorilla.

- Once a gorilla is established, the way a gorilla is vanquished is by a complete change in the game, where new disruptive technology creates a brand new game.

To better understand, let's look at a King Market and an example of a Gorilla Game.Personal computers and laptops – Back in the early 1980s, when PCs burst onto the scene, many players emerged that sold personal computers, such as these:

- Dell
- Gateway
- IBM
- Hewlett Packard

I don't know about you, but whenever I buy a computer, I go to the store, see which computer is the cheapest and has the features I want, and pull the trigger regardless of the brand. This is the perfect example of a King Market. It is difficult to differentiate yourself and stand out, and there is little to no brand loyalty among consumers.Personal computer operating systems – Whenever I buy a new computer, I make sure that the computer comes with Microsoft Windows, the undisputed market leader in the space. Yes, the Macintosh operating system has been around for a long time. Linux has been around for a while, making some noise. The Google Chrome operating system is making some inroads, especially in the educational market. But ever since it was launched in November 1985, Microsoft Windows has kept the lion's share of the market (or should we say the gorilla's share?).Of course, this is a subjective opinion, but I believe we are witnessing the biggest Gorilla Game in the history of computing with the advent of cloud computing. This is the mother of all competitive wars. Cloud vendors are not only competing to provide basic services, such as compute and storage but are continuing to build more services on top of these core services to lock in their customers further and further. Vendor lock-in is not necessarily a bad thing. Lock-in, after all, is a type of golden handcuff. Customers stay because they like the services they are being offered. But customers also realize that as they use more and more services, it becomes more and more expensive to transfer their applications and workloads to an alternate cloud provider.Not all cloud services are highly intertwined with their cloud ecosystems. Take these scenarios, for example:

- Your firm may be using AWS services for many purposes, but they may be using WebEx, Microsoft Teams, Zoom, or Slack for their video conference needs instead of Amazon Chime. These services have little dependency on other underlying core infrastructure cloud services.

- You may be using Amazon Sagemaker for artificial intelligence and machine learning projects, but you may be using the TensorFlow package in Sagemaker as your development kernel, even though Google maintains TensorFlow.

- If you are using Amazon RDS and choose MySQL as your database engine, you should not have too much trouble porting your data and schemas over to another cloud provider that supports MySQL if you decide to switch over.

It will be a lot more difficult to switch to some other services. Here are some examples:

- Amazon DynamoDB is a NoSQL proprietary database only offered by AWS. If you want to switch to another NoSQL database, porting it may not be a simple exercise.

- Suppose you are using CloudFormation to define and create your infrastructure. In that case, it will be difficult, if not impossible, to use your CloudFormation templates to create infrastructure in other cloud provider environments. Suppose the portability of your infrastructure scripts is important to you, and you are planning on switching cloud providers. In that case, Terraform by HashiCorp may be a better alternative since Terraform is cloud-agnostic.

- Suppose you have a graph database requirement and use Amazon Neptune (the native Amazon graph database offering). You may have difficulty porting out of Amazon Neptune since the development language and format can be quite dissimilar if you decide to use another graph database solution like Neo4j or TigerGraph.

- As far as we have come in the last 15 years with cloud technologies, I believe. I think vendors realize that these are the beginning innings, and locking customers in right now while still deciding who their vendor is will be a lot easier than trying to do so after they pick a competitor.

However, looking at a cloud-agnostic strategy has its pros and cons. You want to distribute your workload between cloud providers to have competitive pricing and keep open your option like old days. But each cloud has different networking needs, and connecting distributed workloads between clouds to communicate with each other is a complex task. Also, each major cloud provider like AWS, Azure, and GCP has a breadth of services, and building a workforce with all three-skill sets is another charge. Finally, Cloud-like AWS provides you economy of scale, which means the more you use, the price goes down, which may not benefit you if you choose multi-cloud. Again, it doesn't mean you cannot choose a multi-cloud strategy, but you have to think about logical workload isolation. It will not be wise to run the application layer in one cloud and the database layer in other, but you can think about logical isolation like running the analytics workload and application workload in a separate cloud.A good example of one of those make-or-break decisions is the awarding of the Joint Enterprise Defense Infrastructure (JEDI) cloud computing contract by the Pentagon. JEDI is a $10 billion 10-year contract. As big as that dollar figure is, even more important is that it would be nearly impossible for the Pentagon to switch to another vendor once the 10-year contract is up.Let's delve a little deeper into how influential AWS currently is and how influential it has the potential to become.

The market share, influence, and adoption of AWS

It is hard to argue that AWS is not the gorilla in the cloud market. For the first nine years of AWS's existence, Amazon did not break down its AWS sales and profits. As of January 2021, Microsoft does not fully break down its Azure revenue and profit in its quarterly reports. They disclosed their Azure revenue growth rate without reporting the actual revenue number instead of burying Azure revenues in a bucket called Commercial Cloud, which also includes items such as Office 365 revenue. Google has been cagey about breaking down its Google Cloud Platform (GCP) revenue for a long time. Google finally broke down its GCP revenue in February 2019.The reason cloud providers are careful about reporting these raw numbers is precise because of the Gorilla Game. Initially, AWS did not want to disclose numbers because it wanted to become the gorilla in the cloud market without other competitors catching the wind. And if Microsoft and Google disclosed their numbers, it would reveal the exact size of the chasm between them and AWS. This practice of most cloud providers leaves the rest of us guessing the exact market share and other numbers. AWS has done a phenomenal job of protecting their market share by adding more and more services, adding features to existing services, building higher-level functionality on top of the core services they already offer, and educating the masses on how to best use these services. We are in an exciting period when it comes to cloud adoption. Until a few years ago, many C-suite executives were leery of adopting cloud technologies to run their mission-critical and core services. A common concern was that they felt having on-premises implementations was more secure than running their workloads on the cloud.Most of them have become apparent that running workloads on the cloud can be just as secure as running them. There is no perfectly secure environment, and it seems that almost every other day, we hear about sensitive information being left exposed on the internet by yet another company. But having an army of security experts on your side, as is the case with the major cloud providers, will often beat any security team that most companies can procure on their own.The current state of the cloud market for most enterprises is a state of Fear Of Missing Out (FOMO). Chief executives are watching their competitors jumping on the cloud, and they are concerned that they will be left behind if they don't leap.Additionally, we see an unprecedented level of disruption in many industries propelled by the power of the cloud. Let's take the example of Lyft and Uber. Both companies rely heavily on cloud services to power their infrastructure, and old-guard companies in the space, such as Hertz and Avis, that depend on older on-premises technology are getting left behind. Part of the problem is the convenience that Uber and Lyft offer by being able to summon a car on demand. Also, the pandemic that swept the world in 2020 did not help. But the inability to upgrade their systems to leverage cloud technologies undoubtedly played a role in their diminishing share of the car rental market.Let's continue learning some of the basic cloud terminologies and AWS terminology.

Basic cloud and AWS terminology

There is a constant effort by technology companies to offer common standards for certain technologies while providing exclusive and proprietary technology that no one else offers. An example of this can be seen in the database market. The Standard Query Language (SQL) and the ANSI-SQL standard have been around for a long time. The American National Standards Institute (ANSI) adopted SQL as the SQL-86 standard in 1986. Since then, database vendors have continuously supported this standard while offering various extensions to make their products stand out and lock in customers to their technology.Cloud providers provide the same core functionality for a wide variety of customer needs, but they all feel compelled to name these services differently, no doubt in part to try to separate themselves from the rest of the pack. As an example, every major cloud provider offers to compute services. In other words, it is simple to spin up a server with any provider, but they all refer to this compute service differently:

- AWS uses Elastic Cloud Computing (EC2) instances.

- Azure uses Azure Virtual Machines.

- GCP uses Google Compute Engine.

The following tables give a non-comprehensive list of the different core services offered by AWS, Azure, and GCP and the names used by each of them:

Figure 1.2 – Cloud provider terminology and comparison (part 1)

These are some of the other services, including serverless technologies services and database services:

Figure 1.3 – Cloud provider terminology and comparison (part 2)

These are additional services:

Figure 1.4 – Cloud provider terminology and comparison (part 3)

If you are confused by all the terms in the preceding tables, don't fret. We will learn about many of these services throughout the book and when to use them.The next section will learn why cloud services are becoming popular and why AWS adoption is prevalent.

Why is cloud computing so popular?

Depending on who you ask, some estimates peg the global cloud computing market at around USD 445 billion in 2021, growing to about USD 950 billion by 2026. This implies a Compound Annual Growth Rate (CAGR) of around 17% for the period.There are multiple reasons why the cloud market is growing so fast. Some of them are listed here:

- Elasticity
- Security
- Availability
- Faster hardware cycles
- System administration staff
- Faster time to market
- Access to emerging technologies

Let's look at the most important one first.

Elasticity

Elasticity may be one of the most important reasons for the cloud's popularity. Let's first understand what it is.Do you remember the feeling of going to a toy store as a kid? There is no feeling like it in the world. Puzzles, action figures, games, and toy cars are all at your fingertips, ready for you to play with them. There was only one problem: you could not take the toys out of the store. Your mom or dad always told you that you could only buy one toy. You always had to decide which one you wanted, and invariably, after one of two weeks of playing with that toy, you got bored with it, and the toy ended up in a corner collecting dust, and you have left longing for the toy you didn't choose.What if I told you about a special, almost magical, toy store where you could rent toys for as long or as little as you wanted, and the second you got tired with the toy, you could return it, change it for another toy, and stop any rental charges for the first toy? Would you be interested?The difference between the first traditional store and the second magical store is what differentiates on-premises environments and cloud environments.The first toy store is like setting up infrastructure in your own premises. Once you purchase a piece of hardware, you are committed to it and will have to use it until you decommission it or sell it at a fraction of what you paid for it.The second toy store is analogous to a cloud environment. If you make a mistake and provision a resource that's too small or too big for your needs, you can transfer your data to a new instance, shut down the old instance, and, importantly, stop paying for that instance.More formally defined, elasticity is the ability of a computing environment to adapt to changes in workload by automatically provisioning or shutting down computing resources to match the capacity needed by the current workload.In AWS and the main cloud providers, resources can be shut down without having to terminate them completely, and the billing for resources will stop if the resources are shut down.This distinction cannot be emphasized enough. Computing costs in a cloud environment on a per-unit basis may even be higher than on-premises prices, but the ability to shut resources down and stop getting charged for them makes cloud architectures cheaper in the long run, often in a quite significant way. The only time absolute on-premises costs may be lower than cloud costs is when workloads are extremely predictable and consistent. Let's look at exactly what this means by reviewing a few examples.

Web storefront

A famous use case for cloud services is to use it to run an online storefront. Website traffic in this scenario will be highly variable depending on the day of the week, whether it's a holiday, the time of day, and other factors—almost every retail store in the USA experiences more than a 10x user workload during Thanksgiving week. The same goes for boxing day in the UK, Diwali in India, Single day in china, and almost every country has some shopping festival. This kind of scenario is ideally suited for a cloud deployment. In this case, we can set up resource auto-scaling that automatically scales up and down compute resources as needed. Additionally, we can set up policies that allow database storage to grow as needed.

Apache Spark and Hadoop workloads

The popularity of Apache Spark and Hadoop continues to increase. Many Spark clusters don't necessarily need to run consistently. They perform heavy batch computing for a period and then can be idle until the next batch of input data comes in. A specific example would be a cluster that runs every night for 3 or 4 hours and only during the working week.In this instance, you need decoupled compute and data storage where you can shutdown resources that may be best managed on a schedule rather than by using demand thresholds. Or, we could set up triggers that automatically shut down resources once the batch jobs are completed. AWS provides that flexibility where you can store your data in Amazon Simple Storage Service (S3) and spin-up Amazon Elastic Map-reduce cluster (EMR) to run spark jobs and shut them down after storing results back in decoupled Amazon S3. You will learn more about these services in upcoming chapters.

Employee workspace

In an on-premise setting, you provide a high configuration desktop/laptop to your development team and pay for 24 hours, including weekends. However, they are using one-fourth of capacity considering eight hrs. workday. Cloud provides workspaces accessible by low configuration laptop, and you can schedule them to stop during off-hours and weekends, saving almost 70% of the cost.Another common use case in technology is file and object storage. Some storage services may grow organically and consistently. The traffic patterns can also be consistent. This may be one example where using an on-premises architecture may make sense economically. In this case, the usage pattern is consistent and predictable.Elasticity is by no means the only reason that the cloud is growing in leaps and bounds. The ability to easily enable world-class security for even the simplest applications is another reason why the cloud is becoming pervasive. Let's understand this at a deeper level.

Security

The perception of on-premises environments being more secure than cloud environments was a common reason companies big and small would not migrate to the cloud. More and more enterprises now realize that it is tough and expensive to replicate the security features provided by cloud providers such as AWS. Let's look at a few of the measures that AWS takes to ensure the security of its systems.

Physical security

You probably have a better chance of getting into the Pentagon without a badge than getting into an Amazon data center. AWS data centers are continuously upgraded with the latest surveillance technology. Amazon has had decades to perfect its data centers' design, construction, and operation.AWS has been providing cloud services for over 15 years, and they have an army of technologists, solution architects, and some of the brightest minds in the business. They are leveraging this experience and expertise to create state-of-the-art data centers. These centers are in nondescript facilities. You could drive by one and never know what it is. It will be extremely difficult to get in if you find out where one is. Perimeter access is heavily guarded. Visitor access is strictly limited, and they always must be accompanied by an Amazon employee.Every corner of the facility is monitored by video surveillance, motion detectors, intrusion detection systems, and other electronic equipment. Amazon employees with access to the building must authenticate themselves four times to step on the data center floor.Only Amazon employees and contractors that have a legitimate right to be in a data center can enter. Any other employee is restricted. Whenever an employee does not have a business need to enter a data center, their access is immediately revoked, even if they are only moved to another Amazon department and stay with the company. Lastly, audits are routinely performed and are part of the normal business process.

Encryption

AWS makes it extremely simple to encrypt data at rest and data in transit. It also offers a variety of options for encryption. For example, for encryption at rest, data can be encrypted on the server-side, or it can be encrypted on the client-side. Additionally, the encryption keys can be managed by AWS, or you can use keys that are managed by you using tamper-proof appliances like Hardware Security Module (HSM). AWS provides you with dedicated cloud HSM to secure your encryption key if you want one.

AWS supports compliance standards.

AWS has robust controls to allow users to maintain security and data protection. We'll be discussing how AWS shares security responsibilities with their customers, but the same is true with how AWS supports compliance. AWS provides many attributes and features that enable compliance with many standards established in different countries and organizations. By providing these features, AWS simplifies compliance audits. AWS enables the implementation of security best practices and many security standards, such as these:

- STAR
- SOC 1/SSAE 16/ISAE 3402 (formerly SAS 70)
- SOC 2
- SOC 3
- FISMA, DIACAP, and FedRAMP
- PCI DSS Level 1
- DOD CSM Levels 1-5

- ISO 9001 / ISO 27001 / ISO 27017 / ISO 27018

- MTCS Level 3
- FIPS 140-2
- I TRUST

In addition, AWS provides enables the implementation of solutions that can meet many industry-specific standards, such as these:

- Criminal Justice Information Services (CJIS)

- Family Educational Rights and Privacy Act (FERPA)

- Cloud Security Alliance (CSA)

- Motion Picture Association of America (MPAA)

- Health Insurance Portability and Accountability Act (HIPAA)

Another important thing that can explain the meteoric rise of the cloud is how you can stand up to high-availability applications without paying for the additional infrastructure needed to provide these applications. Architectures can be crafted to start additional resources when other resources fail. This ensures that we only bring additional resources when necessary, keeping costs down. Let's analyze this important property of the cloud in a deeper fashion.

Availability

When we deploy infrastructure in an on-premises environment, we have two choices. We can purchase just enough hardware to service the current workload or ensure that there is enough excess capacity to account for any failures. This extra capacity and eliminating single points of failure is not as simple as it may seem. There are many places where single points of failure may exist and need to be eliminated:

- Compute instances can go down, so we need a few on standby.

- Databases can get corrupted.

- Network connections can be broken.

- Data centers can flood or hit by earthquakes.

Using the cloud simplifies the "single point of failure" problem. We have already determined that provisioning software in an on-premises data center can be long and arduous. Spinning up new resources can take just a few minutes in a cloud environment. So, we can configure minimal environments knowing that additional resources are a click away.AWS data centers are built in different regions across the world. All data centers are "always-on" and deliver services to customers. AWS does not have "cold" data centers. Their systems are extremely sophisticated and automatically route traffic to other resources if a failure occurs. Core services are always installed in an N+1 configuration. In the case of a complete data center failure, there should be the capacity to handle traffic using the remaining available data centers without disruption.AWS enables customers to deploy instances and persist data in more than one geographic region and across various data centers within a region. Data centers are deployed in fully independent zones. Each data center is constructed with enough separation between them such that the likelihood of a natural disaster affecting two of them simultaneously is very low. Additionally, data centers are not built in flood zones.Data centers have discrete Uninterruptable Power Supplies (UPSes) and onsite backup generators to increase resilience. They are also connected to multiple electric grids from multiple independent utility providers. Data centers are connected redundantly to multiple tier-1 transit providers. Doing all this minimizes single points of failure.

Faster hardware cycles

When hardware is provisioned on-premises, it starts becoming obsolete from the instant that it is purchased. Hardware prices have been on an exponential downtrend since the first computer was invented, so the server you bought a few months ago may now be cheaper, or a new version of the server may be out that's faster and still costs the same. However, waiting until hardware improves or becomes cheaper is not an option. A decision needs to be made at some point to purchase.Using a cloud provider instead eliminates all these problems. For example, whenever AWS offers new and more powerful processor types, using them is as simple as stopping an instance, changing the processor type, and starting the instance again. In many cases, AWS may keep the price the same or even cheaper when better and faster processors and technology become available, especially with their own preoperatory technology like the Graviton chip.

System administration staff

An on-premises implementation may require a full-time system administration staff and a process to ensure that the team remains fully staffed. Cloud providers can handle many of these tasks by using cloud services, allowing you to focus on core application maintenance and functionality and not have to worry about infrastructure upgrades, patches, and maintenance.By offloading this task to the cloud provider, costs can come down because the administrative duties can be shared with other cloud customers instead of having a dedicated staff.

The Six pillars of a well-architected framework

That all leads us nicely into this section. The cloud, in general, and AWS, in particular, are so popular because they simplify the development of well-architected frameworks. If there is one must-read AWS document, titled AWS Well-Architected Framework, which spells out the six pillars of a well-architected framework. The full document can be found here:https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html AWS provides Well-Architected Review (WAR) Tool, which provides prescriptive guidance about each pillar to validate your workload against architecture best practices and generate a comprehensive report. Please find a glimpse of the tool below:

To kick off a well-architected review for your workload, first, you need to provide the workload information such as name, environment type (production or pre-production), AWS workload hosting regions, industry, reviewer name, etc. After submitting the information, you will see in the above WAR tool screenshot that there is a set of questions in relation to each well-architected pillar with the option to select what is most relevant to your workload. AWS provides prescriptive guidance and various resources to apply architecture best practices against each question asked on the right navigation.As AWS has provided detailed guidance for each WAR pillar in their document, let's look at the main points about the six pillars of a well-architected framework.

The first pillar – Security

Security should always be a top priority in both on-premises and cloud architectures. All security aspects should be considered, including data encryption and protection, access management, infrastructure security, network security, monitoring, and breach detection and inspection.

- To enable system security and to guard against nefarious actors and vulnerabilities, AWS recommends these architectural principles:

- Implement a strong identity foundation

- Enable traceability.

- Apply security at all levels.

- Automate security best practices.

- Protect data in transit and at rest:

- Keep people away from data:

- Prepare for security events:

You can find the security pillar checklist from Well-Architected Tool below, which has ten questions with one or more options relevant to your workload:The next pillar, reliability, is almost as important as security, as you want your workload to perform its business function consistently and reliably.

The second pillar – Reliability

Another characteristic of a well-architected framework is minimizing or eliminating single points of failure. Ideally, every component should have a backup. The backup should be able to come online as quickly as possible and in an automated manner, without human intervention. Self-healing is another important concept to attain reliability. An example of this is how Amazon S3 handles data replication. At any given time, there are at least six copies of any object stored in Amazon S3. If, for some reason, one of the resources storing one of these copies fails, AWS will automatically recover from this failure, mark that resource as unavailable, and create another copy of the object using a healthy resource to keep the number of copies at six. The well-architected framework paper recommends these design principles to enhance reliability:

- Automatically recover from failure

- Test recovery procedures

- Scale horizontally to increase aggregate workload availability

- Stop guessing capacity

- Manage change in automation

You can find the reliability pillar checklist from Well-Architected Tool below:

To retain the users, you need your application to be high performant and respond within seconds or milliseconds as per the nature of your workload. This makes performance a key pillar when building your application. Let's learn more details on performance efficiency.

Third pillar – performance efficiency

In some respects, over-provisioning resources are just as bad as not having enough capacity to handle your workloads. Launching a constantly idle or almost idle instance is a sign of bad design. Resources should not be at full capacity and should be utilized efficiently. AWS provides various features and services to assist in creating architectures with high efficiency. However, we are still responsible for ensuring that the architectures we design are suitable and correctly sized for our applications.When it comes to performance efficiency, the recommended design best practices are as follows:

- Democratize advanced technologies.
- Go global in minutes.
- Use serverless architectures
- Experiment more often
- Consider mechanical sympathy

You can find the Performance efficiency pillar checklist from Well-Architected Tool below with eight questions covering multiple aspects to make sure your architecture is optimized for performance :

Cost optimization is one of the primary motivators for businesses to move to the Cloud. However, Cloud can become expensive if you don't apply best practices and run the cloud workload the same way you run the on-premise workload. The Cloud can save you tons of money with proper cost optimization techniques. Let's look into the next pillar, cost optimization.

Fourth pillar – cost optimization

This pillar is related to the third pillar. Suppose your architecture is efficient and can accurately handle varying application loads and adjust as traffic changes. Additionally, your architecture should identify when resources are not being used and allow you to stop them or, even better, stop these unused compute resources for you. In this department, AWS also allows you to turn on monitoring tools that will automatically shut down resources if they are not being utilized. We strongly encourage you to adopt a mechanism to stop these resources once they are identified as idle. This is especially useful in the development and test environments.To enhance cost optimization, these principles are suggested:

- Implement cloud financial management
- Adopt a consumption model
- Measure overall efficiency

- Stop spending money on undifferentiated heavy lifting

- Analyze and attribute expenditure

Whenever possible, use AWS-managed services instead of services you need to manage yourself. Managed cloud-native services should lower your administration expenses. You can find the cost optimization pillar checklist from Well-Architected Tool below with ten questions covering multiple aspects to make sure your architecture is optimized for cost :

Significant work starts after deploying your production workload, making operational excellence a critical factor. You need to make sure your application maintains the expected performance in production and improves efficacy by applying maximum automation. Let's look at more details into the operational excellence pillar.

Fifth pillar – operational excellence

The operational excellence of a workload should be measured across these dimensions:

- Agility
- Reliability
- Performance

The ideal way to optimize these metrics is to standardize and automate the management of these workloads. To achieve operational excellence, AWS recommends these principles:

- Perform operations as code
- Make frequent, small, reversible changes
- Refine operations procedures frequently
- Anticipate failure
- Learn from all operational failures

You can find the operational excellence pillar checklist from Well-Architected Tool below with 11 questions covering multiple aspects to make sure your architecture is optimized to run in production:

Sustainability is now the talk of the town where all the organizations worldwide recognize their social responsibilities and take the pledge to make business more sustainable. As a leader, AWS is the first cloud provider to launch suitability as architecture practice in re: invent 2021. Let's look into more details of the sustainability pillar of the Well-Architected framework.

Sixth pillar – sustainability

As more and more organizations adopt Cloud, cloud providers can lead the charge to make the world more sustainable in improving the environment, economics, social and human life. The "United Nations World Commission on Environment and Development" defines sustainable development as "development that meets the needs of the present without compromising the ability of future generations to meet their own needs." Your organization can have direct or indirect negative impacts on the earth's environment by carbon emissions or damaging natural resources like clean water or farming land. To reduce environmental impact, it's important to talk about sustainability and adapt it in practice wherever possible. AWS is achieving that by adding the sixth pillar to its well-architected framework with the following design principle :

- Understand your impact
- Establish sustainability goals
- Maximize utilization

- Anticipate and adopt new, more efficient hardware and software offerings

- Use managed services

- Reduce the downstream impact of your cloud workloads

You can find the sustainability pillar checklist from Well-Architected Tool below with six well thoughts questions covering multiple aspects to make sure your architecture is sustainable:

While a Well-Architected framework provides more generic guidance to optimize your architecture which is applicable across workloads, there is a need for more specific architectural practice for the specialized workload. That's where AWS published well-architected lenses to address workload and domain-specific needs. Let's take an overview of AWS's well-architected lenses.

AWS Well-Architected Lenses

As of April-2022, AWS has launched 13 well-architected lenses addressing architecting needs specific to technology workload and industry domain. The followings are the important available lenses for AWS's well-architected framework:

- Serverless Applications Lens – Building a serverless workload saves the cost and offloads infrastructure maintenance to the Cloud. The serverless lens provides details on best practices to architect serverless application workloads in the AWS Cloud. More information on design principles is available on the AWS website - https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens.

- Internet of Things (IoT) Lens – To design an IoT workload, you must know how to manage and secure million on devices those need to connect over the internet. IoT lens provides details on designing IoT workload. More details on design principles are available on the AWS website - https://docs.aws.amazon.com/wellarchitected/latest/iot-lens

- Data Analytics Lens – Data is the new gold. Every organization is trying to put their data to the best use to get insight for their customer and improve their business aspect. The data analytics lens provide best practice to build a data pipeline. More details on design principles are available on the AWS website - https://docs.aws.amazon.com/wellarchitected/latest/analytics-lens

- Machine Learning (ML) Lens – ML applies to almost any workload, especially getting future insight from historical data. With the ever-increasing adoption of ML workload, it is essential to have the ability production the ML model and use it at scale. ML lens provides best practices to train, tune and deploy your ML model. More details on design principles are available on the AWS website - https://docs.aws.amazon.com/wellarchitected/latest/machine-learning-lens.

- Hybrid Networking Lens – Networking is the backbone of any application workload, whether on-premise or Cloud. As enterprises are adopting the Cloud, there is need for a hybrid cloud setup is increasing every day to establish communication between on-premise and cloud workloads. AWS hybrid networking lens takes you to the best practice of designing networks for the hybrid Cloud. More details on design principles are available on the AWS website - https://docs.aws.amazon.com/wellarchitected/latest/hybrid-networking-lens

Above, we have covered some of the important lenses, but I will encourage you to explore other industry focus well-architected lenses such as Game, Streaming Media, Finance, and workload-specific lenses, including SAP, SaaS, HPC (High-Performance Computing), and FTR (Functional Technical Review) to validate your cloud platforms. You can apply various lenses when defining your workload in AWS's well-architected Tool, as shown below:

After applying the lens to your workload, you will get a best practice checklist specific to the domain; for example, the below screenshot shows a Well-Architected checklist for Serverless Lens:

AWS users need to constantly evaluate their systems to ensure that they are following the recommended principles of the AWS Well-Architected Framework and AWS Well-Architected Lenses and that they comply with and follow architecture best practices. As you are getting more curious about AWS by now, let's learn how to build your knowledge in the AWS cloud and establish yourself as a subject matter expert.

Building credibility and getting certified

It is hard to argue that the Cloud is not an important technology shift. We have established that AWS is the clear market and thought leader in the cloud space. Comparing the Cloud to an earthquake, we could say that it started slowly as a slight rumbling that started getting louder and louder, and we are now at a point where the walls are shaking, and it's only getting stronger.In the market share, influence, and adoption of AWS section, we introduced the concept of FOMO. We mentioned that enterprises are now eager to adopt cloud technologies because they do not want to fall behind their competition and become obsolete. Hopefully, by now, you are excited to learn more about AWS and other cloud providers, or at the very least, you're getting a little nervous and catching a little FOMO yourself.We will devote the rest of this chapter to showing you the path of least resistance for becoming an AWS guru and someone who can bill themselves as an AWS expert. As with other technologies, it is hard to become an expert without hands-on experience, and it's hard to get hands-on experience if you can't demonstrate that you're an expert. The best method, in my opinion that you use to crack this chicken-and-egg problem is to get certified.Fortunately, AWS offers a wide array of certifications to demonstrate your deep AWS knowledge and expertise to potential clients and employers. As AWS creates more and more services, they continue to offer new certificates aligned with these new services. Following are the available AWS certification listed on the AWS website as of April 2022.

Note: Above list does not include AWS SAP specialty certification, which is currently under beta and will be available for everyone to take tests starting April 26, 2022.AWS continuously updates existing certification exams to accommodate all new services and feature launches. Let's review the available certifications and how they fit into your career aspiration to enhance your existing skill in the Cloud.

Building AWS Cloud Career for non-tech

You may often see it as a very tech-savvy job for the Cloud. However, that is not always the case. Several Cloud roles don't require deep technical knowledge; just a basic understanding will get your foot in the door to start a cloud career. For example, anyone from a sales and marketing background can thrive in cloud marketing, Cloud business development, or cloud sales role without deep technical knowledge. Similarly, program managers are required in any industry where basic cloud knowledge will help you get started on the role. However, it's recommended to build cloud foundation knowledge to prepare yourself self-better, which you can gain from AWS Certified Cloud practitioner certification. Let's look into more details.

AWS Certified Cloud Practitioner – Foundational

This is the most basic certification offered by AWS. It is meant to demonstrate a broad-stroke understanding of the core services and foundational knowledge of AWS. It is also a good certification for non-technical people that need to be able to communicate using the AWS lingo but are not necessarily going to be configuring or developing in AWS. This certification is ideal for demonstrating a basic understanding of AWS technologies for people such as salespeople, business analysts, marketing associates, executives, and project managers.

AWS Solutions Architect Path

A solutions architect is one of the most sought roles in the cloud industry. Often, solutions architects carry the responsibilities of designing your workload in the Cloud and applying architecture best practices using the AWS Well-Architected Tool. Following AWS certifications can help you kick-start your career as an AWS cloud solutions architect.

AWS Certified Solutions Architect – Associate

IMPORTANT NOTE - Starting August 30, 2022, a new version of the AWS Certified Solutions Architect - Associate exam will be available.

This is the most popular certification offered by AWS. Many technically minded developers, architects, and administrators skip taking the Cloud Practitioner certification and start by taking this certification instead. If you are looking to demonstrate technical expertise in AWS, obtaining this certification is a good start and the bare minimum to demonstrate AWS proficiency. However, to demonstrate proficiency in architecting IT workload in AWS cloud, you should pursue Solution Architect professional certification as mentioned below:

AWS Certified Solutions Architect – Professional

This certification is one of the toughest to get and at least five to six times harder than the Associate-level certification. Earning this certification will demonstrate to employers that you have a deep and thorough understanding of AWS services, best practices, and optimal architectures based on the particular business requirements for a given project. Obtaining this certification shows potential employers that you are an expert in designing and creating distributed systems and applications on the AWS platform. It used to be that having at least one of the Associate-level certifications was a prerequisite to sitting for the professional-level certifications, but AWS has eliminated that requirement.You refer to "Solution Architect's Handbook 2nd Edition," available on Amazon (https://www.amazon.com/gp/product/1801816611) for more details on the AWS Solutions architect role and to gain in-depth knowledge building use case focused architecture in the AWS platform. DevOps is one of the key components to operationalizing any workload. Let's learn more about the DevOps path in AWS.

AWS Cloud DevOps Engineer Path

DevOps is a critical engineering function that makes the development team more agile by automating the deployment pipeline. Automation is key to adopting Cloud and using its full potential, where DevOps engineer plays an essential role. Followings AWS certification can help you navigate the DevOps path in the AWS cloud.

AWS Certified SysOps Administrator – Associate

This certification will demonstrate to potential employers and clients that you have experience deploying, configuring, scaling up, managing, and migrating applications using AWS services. You should expect the difficulty level of this certification to be a little bit higher than the other Associate-level certifications, but also expect quite a bit of overlap in the type of questions that will be asked with this certification and the other Associate-level certifications.

AWS Certified DevOps Engineer – Professional

This advanced AWS certification validates knowledge on how to provision, manage, scale, and secure AWS resources and services. This certification will demonstrate to potential employers that you can run their DevOps operations and proficiently develop solutions and applications in AWS. This certification is more challenging than any associate certification but easier than AWS Solutions Architect Professional certification.

AWS Cloud Developer Path

Developers are central to any IT application. They are builders who bring life to ideas that make developers a vital role in the Cloud. However, software developers are more focused on programming language and algorithms but build software in Cloud; they need to be aware of various development tools that cloud providers facilitate. Following is the certification to gain the required cloud knowledge for building software in AWS.

AWS Certified Developer – Associate

Obtaining this certification will demonstrate your ability to design, develop, and deploy applications in AWS. Even though this is a developer certification, do not expect coding in any questions during the exam. However, knowing at least one programming language supported by AWS will help you achieve this certification. Expect to see many of the same concepts and similar questions to what you would see in the Solutions Architect certification. AWS doesn't have any professional certification for developers, but it is recommended to pursue AWS DevOps Engineer certifications to scale and operationalize your software application in Cloud. While we talked about the generalist career path in the Cloud, several specialty paths are available where AWS has certifications to validate your knowledge. Let's look into the AWS certifications overview if you have expertise in a specific area.

AWS Specialty Solutions Architect Path

While generalist solutions architects design overall workload, they need to dive deep into certain areas where more in-depth knowledge is required. In that case, specialist solutions architects come to the rescue; they provide their expertise to apply best practices for a specific domain such as security, networking, analytics, machine learning, etc. You have seen in Well-Architected tool sections where AWS has domain-specific lenses to optimize specialty workload and engage specialist solutions architects. The following are AWS certifications to validate your specialty knowledge in the AWS cloud.

AWS Certified Advanced Networking – Specialty

IMPORTANT NOTE – New version of networking specialty certifications will be available starting July-2022.

This AWS specialty certification demonstrates that you possess the skills to design and deploy AWS services as part of comprehensive network architecture and the know-how to scale using best practices. This is one of the hardest certifications to obtain, like AWS Certified Solutions Architect Professional.

AWS Certified Security – Specialty

Possessing the AWS Certified Security – Specialty certification demonstrates to potential employers that you are well-versed in AWS the ins and outs of AWS security. It shows that you know security best practices for encryption at rest, encryption in transit, user authentication and authorization, penetration testing, and generally being able to deploy AWS services and applications in a secure manner that aligns with your business requirements.

AWS Certified Machine Learning – Specialty

This is an excellent certification to have in your pocket if you are a data scientist or a data analyst. It shows potential employers that you are familiar with many of the core machine learning concepts and the AWS services that can be used to deliver machine learning and artificial intelligence projects.

AWS Certified Database – Specialty

Having this certification under your belt demonstrates to potential employers your mastery of the persistence services in AWS and your deep knowledge of the best practices needed to manage them. Some of the services tested are these:

- Amazon RDS
- Amazon Aurora
- Amazon Neptune
- Amazon DynamoDB
- Amazon QLDB
- Amazon DocumentDB

AWS Certified Data Analytics – Specialty

Completing this certification demonstrates to employers that you have a good understanding of the concepts needed to perform data analysis on petabyte-scale datasets. This certification shows your ability to design, implement, and deploy analytics solutions that deliver insights by enabling data visualization and implementing the appropriate security measures.

AWS Certified SAP – Specialty

SAP specialty is a brand new certification exam that anyone can attempt starting April-2022. AWS SAP specialty certification is for SAP professionals to demonstrate their knowledge in the AWS cloud. It shows your ability to implement, migrate and support SAP workload in AWS using AWS's well-architected framework. While AWS continues adding new certifications to validate your cloud skill, they also retire old certifications that are not relevant with time; for example, AWS had bigdata specialty certification, which checks your knowledge across database, ML, and analytics. With time as a number, so services increased in Database and AIML, AWS launched separate certifications called AWS database specialty and AWS machine learning Specialty. In April-2020, AWS deprecated bigdata specialty certification and renamed it to AWS analytics specialty certifications to focus just on data analytics services. Similarly, AWS retired the AWS Certified Alexa Skill Builder - Specialty exam on March 23, 2021. Let's learn some tips and tricks to achieve AWS certifications.

Learning tips and tricks to obtain AWS certifications

Now that we have learned about the various certifications offered by AWS let's learn about some of the strategies we can use to get these certifications with the least amount of work possible and what we can expect as we prepare for these certifications.

Focus on one cloud provider

Some enterprises are trying to adopt a cloud-agnostic or multi-cloud strategy. The idea behind this strategy is not to depend on only one cloud provider. In theory, this seems like a good idea, and some companies such as Databricks, Snowflake, and Cloudera offer their wares to run using the most popular cloud providers.However, this agnosticism comes with some difficult choices. One way to implement this strategy is to choose the least common denominator, for example, only using compute instances so that workloads can be deployed on various cloud platforms. Implementing this approach means that you cannot use the more advanced services offered by cloud providers. For example, using AWS lambda in a cloud-agnostic fashion is quite tricky.Another way that a multi-cloud strategy can be implemented is by using the more advanced services, but this means that your staff will have to know how to use these services for all the cloud providers you decide to use. You will be a jack of all trades and a master of none, to use the common refrain.Similarly, it isn't easy to be a cloud expert across vendors individually. It is recommended to pick one cloud provider and try to become an expert on that one stack. AWS, Azure, and GCP, to name the most popular options, offer an immense amount of services that continuously change and get enhanced, and they keep adding more services. Keeping up with one of these providers is not an easy task. Keeping up with all three, in my opinion, is close to impossible.Pick one and dominate it.

Getting Started in AWS

AWS launched a skill builder portal (https://explore.skillbuilder.aws/) which enhances the version of AWS's training portal. AWS Skill builder has thousands of self-paced digital training and a learning path, as shown below.

You can pick any learning path you need and explore related digital courses. If you want classroom training, those are available in the AWS training portal; however, those may come with a price. AWS provides free cloud practitioner training in their skill center, where you can register and get instructor-led training for free. AWS has started its first free training center located in Seattle and planning to expand more in the coming months. If you have skill centers in your location, you can get benefits by registering on the AWS website directly https://aws.amazon.com/training/skills-centers/.

Focus on the Associate-level certifications

As we mentioned before, there's quite a bit of overlap between the Associate-level certifications. In addition, the jump in difficulty between the Associate-level certificates and the Professional-level ones is quite steep.Its highly recommend sitting down for at least two, if not all three, of the Associate-level certifications before attempting the Professional-level certifications. Not only will this method prepares you for the professional certifications, but having multiple Associate certifications will make you stand out against others that only have one Associate-level certificate.

Get experience wherever you can

AWS recommends having one year of experience before taking the associate-level certifications and two years of experience before sitting for the professional-level certifications. This may seem like a catch-22 situation. How can you get experience if you are not certified? However, it's a recommendation and not a mandatory requirement. This means that you can gain experience in training and study for the exam. You can do your project using an AWS free-tier account with pretty decent amounts of services available in the first year, and you can gain good hands-on experience. Now, let's address some of the questions that frequently arise while preparing to take these certifications.

Some frequently asked questions about the AWS certifications

While preparing for certifications, you may have several questions like where to start and how to finish. The following section will list frequently asked questions that often come to mind.

What is the best way to get certified?

Before we get to the best way to get certified, let's look at the worst way. Amazon offers extremely comprehensive documentation. You can find this documentation here:https://docs.aws.amazon.com/AWS docs are a great place to help you troubleshoot issues you may encounter when you are directly working with AWS services or perhaps to size the services you will be using correctly. However, it is not a good place to study for the exams. It will get overwhelming quickly, and much of the material you will learn about will not be covered in the exams.The better way to get certified is to use the training materials that AWS specifically provides for certification, starting with the roadmaps of what will be covered in each certificate. These roadmaps are a good first step to understanding the scope of each exam.You can begin to learn about all these roadmaps, or learning paths, as AWS likes to call them, here: https://aws.amazon.com/training/learning-paths/.You will find free online courses and paid intensive training sessions in these learning paths. While the paid classes may be helpful, those are not mandatory for you to pass the exam.Before you look at the learning paths, the first place to find out the scope of each certification is the study guides available for each certificate. In these study guides, you will learn at a high level what will and what won't be covered for each exam. For example, the study guide for the AWS Cloud Practitioner Certification can be found here:https://d1.awsstatic.com/training-and-certification/docs-cloud-practitioner/AWS-Certified-Cloud-Practitioner_Exam-Guide.pdfNow, while the training provided by AWS may be sufficient to pass the exams, and I know plenty of folks that have passed the certifications using only those resources, there are plenty of third-party companies that specialize in training people with a special focus on the certifications. The choices are almost endless. Let's look at a few more resources here.

Online courses

In addition to the course provided by AWS, other training organizations and independent content creators provide excellent courses to achieve AWS certification.

A Cloud Guru

A cloud. guru has been around since 2015, which is a long time in cloud years. A cloud. guru has courses for most of the AWS certifications. They have a few other courses unrelated to certifications that are also quite good. Linux academy used to be another good resource to prepare for the certification exam, but that got acquired by A Cloud Guru, which means now you can access the best of these in one place.They constantly update and refresh their content, which is good because AWS constantly changes its certifications to align with new services and features. Sam and Ryan Kroonenburg, two Australian brothers, started the company in Melbourne, Australia. Initially, Ryan was the instructor for all the courses, but they now have many other experts on their staff to help with the course load.They used to charge by the course, but a few years back, they changed their model to a monthly subscription, and sign up for it gives you access to the whole site. The training can be accessed here: https://acloud.guru/.

1. A cloud guru is the site used the most to prepare for my certifications. Following is the recommendation for tackling the training:

Unless you have previous experience with the covered topics, watch all the training videos at least once. If it's a topic you feel comfortable with, you can play the videos at a higher speed, and then you will be able to watch the full video faster.

1. For video lessons that you find difficult, watch them again. You don't have to watch all the videos again – only the ones that you found difficult.

2. Make sure to take any end-of-section quizzes.

3. Once you finish watching the videos, the next step is to attempt some practice exams. One of my favorite features of A cloud. guru is the exam simulator. Keep taking practice exams until you feel confident and consistently correctly answer a high percentage of the questions (anywhere between 80 and 85%, depending on the certification).

The questions provided in the exam simulator will not be the same as the ones from the exam, but they will be of a similar difficulty level, and they will all be in the same domains and often about similar concepts and topics.By using the exam simulator, you will achieve a couple of things. First, you will be able to gauge your progress and determine whether you are ready for the exam. I suggest you keep taking the exam simulator tests until you consistently score at least 85% and above. Most real certifications require you to answer 75% of the questions correctly, so consistently scoring a little higher should ensure that you pass the exam.Some of the exams, such as the Security Specialty exam, require a higher percentage of correct answers, so you should adjust accordingly. Using the exam simulator will also enable you to figure out which domains you are weak. After taking a whole exam in the simulator, you will get a list detailing exactly which questions you got right and which were wrong, and they will all be classified by domain.So, if you get a low score on a certain domain, you know that's the domain that you need to focus on when you go back and review the videos again. Lastly, you will be able to learn new concepts by simply taking the tests in the exam simulator. Let's now learn about another popular site that I highly recommend for your quest toward certification.You can also explore other training providers such as Cloud Academy and Coursera. However, you don't need to sign-up for multiple course providers.

Udemy courses

Several independent content creators on Udemy, such as Stephane Maarek and Jon Bonso, have excellent content and are passionate about AWS with a growing following. For example, as of April 2022, Stephane Maarek's Solution Architect Associate course has over half a million students with over 120,000 ratings and a satisfaction rating of 4.7 stars out of a possible five stars.The pricing model used is also similar to Whizlabs. The practice exams are sold separately from the online courses.

YouTube Videos

As always, YouTube is an excellent source of free learning. AWS has its own YouTube channel with nearly 600K subscribers and 14000 videos. These videos cover AWS services from 100 to 400 levels by AWS product manager and solutions architect. AWS uploads all re: invent and summits videos in the YouTube channel, the best resources to dive deep for any services. You can find serval playlists people have created to prepare for certifications.

Books

If you are a book reader, there are multiple AWS certification-related books available on Amazon, which you can refer to prepare for the exam. If you are preparing for the AWS Solutions Architect Professional exam and solidifying your concept, refer to "Solution Architect's Handbook " (https://www.amazon.com/gp/product/1801816611). It explains multiple architectural patterns using the AWS platform and goes deep into each of the Well-Architected pillars to apply architectural best practices.

Practice Exam websites

It doesn't matter how much you are reading or watching courses. There are always knowledge gaps, and practice exams are the best sources to identify and focus on weak areas. Whizlabs (https://www.whizlabs.com/ ) is suitable for associate-level certification and test your knowledge in multiple areas to find weak points. Whizlab also provides answers with details explanations and associated resources which can help you fill the knowledge gap by exploring related content against questions you got wrong. Whizlabs divides the charges for their training between their online courses and their practice tests. One disadvantage of Whizlabs is that unlike the exam simulator with A cloud.guru, where they have a bank of questions and randomly combine them, the Whizlabs exam questions are fixed and will not be shuffled to create a different exam. They also have a free version of their practice exams for most certifications, with 20 free questions.Like Whizlabs, you can use Brain Cert for AWS professional and specialty level certification (https://www.braincert.com). They have a perfect set of questions near exam difficulty level with details explanations for each answer. While Whizlabs practice exams have lifetime validity, Braincert provides only one-year validity.The same strategy as mentioned before can be used with Whizlabs or Braincert. You don't need to sign up for multiple vendors for the more straightforward exams, but you can combine a couple for the harder exams.

How long will it take to get certified?

A question frequently comes about how many months you should study before sitting down for the exam. At least look that into hours instead of months.As you can imagine, you will be able to take the exam a lot sooner if you study 2 hours every day instead of only studying 1 hour a week. If you decide to take some AWS-sponsored intensive full-day or multi-day training, that may go a long way toward shortening the cycle.One way to optimize your time is instead of watching the videos, you can listen to them in the car or while on the train going into the city. Even though watching them is much more beneficial, you can still embed key concepts while listening to them, and that time would have been dead time anyway.You don't want to space the time between study sessions too much. If you do that, you may find yourself in a situation where you start forgetting what you have learned. The number of hours it will take you will also depend on your previous experience. If you are working with AWS for your day job, that will shorten the number of hours needed to complete your studies.The following subsections will give you an idea of the amount of time you should spend preparing for each exam.

Cloud Practitioner certification

Be prepared to spend anywhere from 15 to 25 hours preparing to complete this certification.

Associate-level certifications

If you don't have previous AWS experience, plan to spend between 70 and 100 hours preparing. Also, keep in mind that there is considerable overlap between the other certifications once you pass one of the associate certifications. It will not take another 70 to 100 hours to obtain the second and third certifications. As mentioned in this chapter, it is highly recommended to take the two other associate-level certifications soon after passing the first one.Expect to spend another 20 to 40 hours studying for the two remaining certifications if you don't wait too long to take them after passing the first one.

Professional-level certifications

There is quite a leap between the associate-level certifications and the professional-level certifications. The domain coverage will be similar, you will need to know how to use the AWS services covered in much more depth, and the questions will certainly be harder. Assuming you took at least one of the associate-level certifications, expect to spend another 70 to 100 hours watching videos, reading, and taking practice tests to pass this exam.AWS removed the requirement of having to take the associate-level certifications before being able to sit for the professional-level certifications. However, it is still probably a good idea to take at least some associate exams before taking the professional-level exams.As is the case with the associate-level exams, once you pass one of the professional-level exams, it should take much less study time to give the other Professional exam as long as you don't wait too long to take the second exam and forget everything.

Specialty certifications

I am lumping all the Specialty certifications under one subheading, but there is significant variability in the difficulty level between all the Specialty certifications. If you have a background in networking, you will be more comfortable with the Advanced Networking certification than with the Data Science certification.When it comes to these certifications, you may be better off focusing on your area of expertise unless you are collecting all certifications. For example, if you are a data scientist, the Machine Learning Specialty certification and analytics certification may be your best bet.Depending on your experience, expect to spend about these amounts of time:

- Security Specialty – 40 to 60 hours
- SAP Specialty – 40 to 60 hours
- Machine Learning Specialty – 50 to 70 hours
- Data Analytics Specialty– 40 to 60 hours
- Database Specialty – 30 to 50 hours

- Advanced Networking Specialty – 50 to 70 hours

What are some last-minute tips for the days of the exam?

A decent half marathon time is about 90 minutes, which is when you get to take the Associate-level exams, and a good marathon time is about 3 hours, which is how long you get to take the Professional-level exams.Keeping focus for that amount of time is not easy. For that reason, you should be well-rested when you take the exam. It is highly recommended to take the exam on a day when you don't have too many other responsibilities; I would not take it after working a full day. You will be too burnt out.Make sure you have a light meal before the exam – enough so that you are not hungry during the test and feel energetic, but not so much that you feel sleepy from digesting all that food.Just as you wouldn't want to get out of the gate too fast or too slow in a race, keep pace yourself during the exam. You also don't want to be beholden to the clock, checking it constantly. The watch will always appear in the top-right part of the exam, but you want to avoid looking at it most of the time. I recommend writing down the three sheets you will receive where you should be after every 20 questions and checking the clock against these numbers only when you have answered 20 questions. This way, you will be able to adjust if you are going too fast or too slow, but you will not spend excessive time watching the clock.Let's now summarize what we have learned in this chapter.

Summary

This chapter could piece together many of the technologies, best practices, and AWS services we covered in the book. We weaved it all together into a generic architecture that you should be able to leverage and use for your projects.As fully featured as AWS has become, AWS will certainly continue to provide more and more services to help enterprises, large and small, simplify the information technology infrastructure.You can rest assured that Amazon and its AWS division are hard at work creating new services and improving the existing services by making them better, faster, easier, more flexible, and more powerful, and adding more features.As of 2022, AWS offers 200+ services and 3000+ features. That's a big jump from the two services it offered in 2006. AWS's progress in the last 16 years has been monumental. We also covered some reasons that the Cloud in general and AWS, in particular, are so popular. As we learned, one of the main reasons for the Cloud's popularity is the concept of elasticity, which we explored in detail.After reviewing the Cloud's popularity, we have hopefully convinced you to hop aboard the cloud train. Assuming you want to get on the ride, we covered the easiest way to break into the business. One of the easiest ways to build credibility is to get certified. We learned that AWS offers 12 certifications. We learned that the most basic one is AWS Cloud Practitioner and that the most advanced certifications are the Professional-level certifications. In addition, as of 2022, we learned that there are six Specialty certifications for various domains. We also covered some of the best and worst ways to obtain these certifications.Finally, we hope you became curious enough about potentially getting at least some of AWS's certifications. I hope you are as excited as I am about the possibilities that AWS can bring.The next chapter will cover how the AWS infrastructure is organized and understand how you can use AWS and cloud technologies to lead a dig.

Join our book community on Discord
https://packt.link/AWS4SAs

2 Leveraging the Cloud for Digital Transformation

AWS has come a long way since Amazon started in 2006 when it offered just two basic services. In this chapter, you will begin with understating of cloud computing models. Further, you will learn the differences between software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) and how AWS complements each model with its services and infrastructure. You will also learn how today's businesses use AWS to transform their technology infrastructure, operations, and business practices completely.In this chapter, we will cover the following topics:

- A brief introduction to cloud computing
- Cloud computing models PaaS, IaaS, and SaaS
- Cloud migration strategy

- Implementing a digital transformation program

- AWS Cloud Adoption Framework (CAF)

Without further ado, let's get down to business.

A brief introduction to cloud computing

The first large-scale electronic general-purpose computer was the Electronic Numerical Integrator and Computer (ENIAC), and it was built between 1943 and 1945. Its design was proposed by the physicist John Mauchly. Until it was disabled in 1955, the ENIAC and the engineering team supporting it most likely performed more calculations than had been performed in the history of humanity until that point. As momentous as that achievement was, we have certainly come a long way since then.The term paradigm shift was first introduced in 1962 by the American science philosopher Thomas Kuhn in his influential book The Structure of Scientific Revolutions. Kuhn defines a paradigm as the formal theories, classic experiments, and trusted scientific research and thought methods. Kuhn posited that scientists accept the predominant paradigm but continuously challenge it by questioning it, refining theories, and creating experiments to validate it. Sometimes the paradigm eventually becomes inadequate to represent the observed behavior through experimentation. When this happens, a paradigm shift occurs, and a new theory or methodology replaces the old ways. Kuhn, in his book, walks us through the example of how the heliocentric model eventually replaced the geocentric solar system model because the evidence became overwhelming supporting the latter.Similarly, in computing, we have observed a few situations where a better and more efficient method replaced the accepted way of doing things. A couple of tectonic shifts have occurred since the ENIAC days. Determining which one is the most relevant is a subjective exercise, but in our view, these are the most important:

- The creation of the first electronic computers, starting with ENIAC

- The advent of mainframes: An ENIAC in every company's backroom

- The PC revolution: A mainframe on everyone's desk

- The emergence of the internet: PCs being connected

- The cloud tsunami: Turning computing into a utility service

As mentioned, this list is by no means final. You can easily argue that there have been other shifts. Does IoT belong on the list? What about blockchain? I don't think we are quite there yet, but the next paradigm shift will be the pervasive implementation of artificial intelligence. Also, not all these paradigm shifts have killed the previous paradigm. Many corporations trust their mission-critical operations to mainframes, PCs are still around, and the internet has a synergistic relationship with the cloud. Let's focus now on the last paradigm shift since that is the topic of this chapter.What exactly is cloud computing? It is a term often thrown around by many people who don't understand it and wonder what it means. Having your infrastructure in the cloud does not mean you have your servers up in the sky. Let's try to define it most plainly. Essentially, cloud computing is outsourcing a company's hardware and software infrastructure to a third party. Instead of having their own data center, Enterprises borrow someone else's data center. It has many advantages:

- Economies of scale are associated with buying in bulk.

- You only pay for the time you use the equipment in increments of minutes.

- Arguably one of the most important benefits is the ability to scale up, out, down, and in.

When using cloud computing, you are not buying the equipment; you are leasing it. Equipment leasing has been around for a long time, but not at the speed that cloud computing provides. Cloud computing makes it possible to start a resource within minutes, use it for a few hours, minutes, or even seconds, and then shut it down. You will only pay for the time you use it. Furthermore, with the advent of serverless computing, such as AWS Lambda services, we don't even need to provision servers, and we can call a Lambda function and pay by the function call. One example of driving the point home is that the latest P3 instances available with the AWS Sagemaker Machine Learning service can be used for nearly $3.00 per hour (2022 pricing- on demand). This might sound like a high price to pay to rent one computer, but a few years ago, we would have had to spend millions of dollars for a super-computer with similar capabilities. And importantly, after a model is trained, the instance can be shut down, and the inference engine can be deployed into more appropriate hardware. The idea of being able to scale out and, notably, to scale is often referred to as elasticity or elastic computing. This concept allows companies to treat their computing resources as just another utility bill and only pay for what they need at any given moment in time.Next, we will learn about terms commonly used to specify how much of your infrastructure will live in the cloud versus how much will stay on-premises.

Cloud computing models

Cloud computing allows organizations to focus on their core business and leave unwanted work like IT infrastructure capacity planning, procurement, and maintenance to cloud providers. As cloud computing has grown exponentially in recent years, different models and strategies have surfaced to help meet the specific needs of organizations as per their user base. Each type of cloud computing model provides you with additional flexibility and management. There are many ways to classify cloud services, and understanding the differences between them helps you decide what set of services is suitable for your application workload. In this section, we will cover a common classification. Cloud services can be categorized as follows:

- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)

As the names indicate, each model provides a service at a different stack level.Each of these solutions has its advantages and disadvantages. It is essential to fully understand these tradeoffs to select the best option for your organization:

Figure 2.1 – Cloud service classification

As you can see in the preceding image, the amount of services managed by yourself or AWS determines how the stack will be classified. On one extreme, we have an on-premises environment, where all the infrastructure is located in your own data center. On the other extreme, we have a SaaS architecture, where all the infrastructure is located on the cloud. The following sections will explore the advantages and disadvantages of using each and examples of services under each classification.

Understanding IaaS

Cloud infrastructure services, also known as IaaS, comprise highly flexible, fault-tolerant compute and storage resources. IaaS provides access and full management and monitoring of compute, storage, networking, and other miscellaneous services. IaaS enables enterprises to use resources on an as-needed basis, so they don't need to purchase the equipment.IaaS leverages virtualization technology. AWS allows you to quickly provision hardware through the AWS console, using the Command-Line Interface (CLI) or using an API, among other methods. By using an IaaS platform, a business can provide a whole host of resources and functionality with their current infrastructure without the headache of physically maintaining it. From a user perspective, they might not even be aware that the backend services are being provided by an IaaS platform instead of being a company-owned data center.As you saw in Figure 2.1, when using the IaaS solution, you are responsible for managing more aspects of the stack such as applications, runtime, operating systems, middleware, and data. However, AWS will manage servers, hard drives, networking, virtualization, databases, and file storage in these cases.You will now learn the advantages and disadvantages of IaaS services and look at some IaaS use cases; finally, you will see some examples of IaaS offerings.

Advantages of IaaS

In the IaaS model, you have maximum control which means you can achieve the required flexibility as per your application need. These are the advantages of using the IaaS model:

- It offers the most flexibility of all the cloud models.

- Provisioning of compute, storage, and networking resources can be done quickly.

- Resources can be used for a few minutes, hours, or days.

- Complete control of the infrastructure.

- Highly scalable and fault-tolerant.

Disadvantages of IaaS

In the IaaS model, having more control means you need to put additional effort into maintaining, monitoring, and scaling infrastructure by yourself. Many of the disadvantages that apply to the SaaS and PaaS solutions – such as issues with data encryption and security, vendor lock-in, potential cost overruns, and configuration issues – are also applicable to the IaaS model. More specifically, the disadvantages of IaaS include the following:

- Security: In this case, customers have much more control over the stack, and for this reason, it is highly critical that they have a comprehensive plan in place for security. Since customers manage applications, data, middleware, and the operating system, there are possible security threats, such as if certain ports are left open and intruders guesses which ports are open. Attacks from insiders with unauthorized access and system vulnerabilities can leave data exposed between the backend servers and VMs from nefarious sources.

- Legacy systems: While customers can migrate legacy applications into AWS, the older hardware may not be able to provide the needed functionality to secure the legacy applications. Modifications to the older applications may be required, potentially creating new security issues unless the application is thoroughly tested for new security vulnerabilities.

- Training costs: As with any new technology, training may be needed for the customer's staff to get familiar with the new infrastructure. The customer is ultimately responsible for securing their data and resources, computer backups, and business continuity. Without this training, it may be challenging to secure the necessary staff to support and maintain the new infrastructure.

Let's look at some use cases where you want to use the IaaS model.

Use cases for IaaS

Like SaaS and PaaS, IaaS is best suited to certain scenarios. It is most suitable when enterprises want to have more control over their infrastructure. Some of the most common instances when an IaaS is used are as follows:

- Backups and snapshots
- Disaster recovery
- Web hosting
- Software development environments
- Data analytics

Examples of AWS IaaS services

These are a few of the IaaS services offered in AWS:

- Elastic Cloud Compute (EC2): One of the most popular services in AWS. EC2 is a fancy word for a server on the cloud.

- Elastic Block Storage (EBS): Amazon EBS is block-level storage. You can think of it as a SAN (Storage Area Network) drive on the cloud.

- Elastic File Storage (EFS): Amazon EFS is file-level storage. You can think of it as a NAS (Network Attached Storage) drive on the cloud.

There are many other AWS IaaS services that you will learn through this book. The next section will cover another common paradigm used in PaaS cloud deployments.

Understanding PaaS

Defining a SaaS service is easy. If AWS manages everything, it's a SaaS service. The same applies to a definition of an on-premises service. If you manage everything on your infrastructure, it's clear you have an on-premises service. As you start going up and down the stack and start taking over the management of some of the components or start offloading some of the management, the line starts getting fuzzy. We'll still try to provide you with a definition for PaaS.An initial definition could be this: any application where you are responsible for the maintenance of some of the software and some of the configuration data. More formally, Platform as a Service (PaaS) is a type of cloud computing service that supplies an environment to enable its users to develop, run, and manage data and applications without worrying about the complexity associated with provisioning, configuring, and maintaining the infrastructure. These complexities come in the IaaS model, where you are responsible for creating applications, including the servers, storage, and networking equipment.In some ways, PaaS is like SaaS, but instead of providing services to end-users that do not need to be technically savvy to use the Software, PaaS delivers a platform for developers to potentially use the PaaS service to develop SaaS solutions.PaaS enables developers to design and create applications while operating at a very high level of abstraction and focusing primarily on business rules and user requirements. These applications, sometimes called middleware, can be highly scalable and available if developed appropriately. Let’s take an example of a PaaS service called Amazon RDS (Relational Database Service), where AWS provides managed relational databases such as Oracle, MS SQL, MYSQL, etc., in the cloud. AWS handles database engine installation, patching, backup, recovery, repair, etc. You need to build schema and store your data as per business needs. Like SaaS, PaaS takes advantage of virtualization technology. Resources can be started or shut down depending on demand. Additionally, AWS offers a wide selection of services to support PaaS applications' design, development, testing, and deployment.Let's now look into the advantages and disadvantages of PaaS. Some use cases for PaaS and some examples of services are considered PaaS services.

Advantages of PaaS

It doesn't matter if you are a three-person start-up or a well-established multinational; using PaaS provides many benefits such as:

- Cost-effective and continuous development, testing, and deployment of applications

- High availability and Scalability

- Straightforward customization and configuration of an application

- Reduction in development effort and maintenance

- Security policies simplification and automation

AWS also offers a variety of tools to simplify the migration from an on-premises model to a PaaS model. While you learned about PaaS model pros, let's look at some cons.

Disadvantages of PaaS

PaaS solutions have some limitations as well:

- Integrations: Having multiple parties responsible for the technology stack creates some complexity in how integrations need to be performed when developing applications. That becomes particularly problematic when legacy services are on-premises and not scheduled to be moved to the cloud in the near future. One of the reasons enterprises like to minimize the number of technology vendors is not to allow these vendors to be able to point fingers at each other when something goes wrong. When something invariably goes wrong, enterprises know precisely who they must contact to fix the problem.

- Data security: The data will reside in a third-party environment when running applications using a PaaS solution. This poses concerns and risks. There might also be regulatory requirements to be met to store data in a third-party environment. Customers might have policies that limit or prohibit the storage of data off-site. For example, China recently passed regulations that require Personally Identifiable Information (PII) generated in China not to leave China. More specifically, if you capture your customer's email on your site and your site is available in China, the servers that store the email must reside in China, and that email cannot leave the country. Using a PaaS approach to comply with this regulation requires standing up full-fledged infrastructure mimicking your existing infrastructure in other locations.

- Runtime issues: PaaS solutions may not support the language and framework that your application may require. For example, if you need an old version of a Java runtime, you might not be able to use it because it may no longer be supported.

- Legacy systems customizations: Existing legacy applications and services might be difficult to integrate. Instead, complex customization and configuration might need to be done for legacy applications to integrate with the PaaS service properly. The result might yield a non-trivial implementation that may minimize the value provided by your PaaS solution. For example, many corporations rely on mainframes for at least some of their needs. If they wanted to move these mainframe applications to the cloud, they would have to rewrite the applications that do not require a mainframe since mainframes are not one of the types of hardware that most typical cloud providers support.

Operational limitation: Even though you have control of some of the layers in the PaaS stack, other layers are controlled and maintained by AWS. If the AWS layers need to be customized, you have little or no control over these optimizations. For example, if you are required to use a certain operating system but your PaaS provider does not support it, you are stuck with choosing one from the list of available operating systems. Let’s look at more details about when it makes sense to use the PaaS model.

PaaS use cases

PaaS can be beneficial, and one could argue critical, to the success of today's enterprises. Take a company such as Lyft taxi service (an AWS customer). It is not uncommon for traffic to their app to go up by 50% to 100% during certain holidays. Accordingly, Lyft needs more servers during the holidays than on other days. If Lyft had an on-premises environment, they would have no choice but to bite the bullet and buy servers for the worst-case scenario when they have the highest traffic. But because they operate in a cloud environment, resources can spin up more when they have usage spikes, and it can bring those instances down when site traffic goes down. They don't need as many compute' resources.Here are some examples of PaaS use cases:

- Business Process Management (BPM): Many enterprises use PaaS to enable BPM platforms with other cloud services. BPM software can interoperate with other IT services. These combinations of services enable process management, implementation of business rules, and high-level business functionality.

- Business Analytics/Intelligence (BI): BI tools delivered via PaaS enable enterprises to visualize and analyze their data, allowing them to find customer patterns and business insights. This enables them to make better business decisions and more accurately predict customer demand, optimize pricing, and determine which products are their best sellers.

- Internet of Things (IoT): IoT is a key driver for PaaS solution adoption and will likely be even more important in the coming years. You have probably only scratched the surface for IoT applications enabled by a PaaS layer.

- Databases: A PaaS layer can deliver persistence services. A PaaS database layer can reduce the need for system administrators by providing a fully managed, scalable, and secure environment. You will visit the topic more deeply in a later chapter, but AWS offers a variety of traditional and NoSQL database offerings.

- API management and development: A common use case for PaaS is to develop, test, manage, and secure APIs and microservices.

- Master Data Management (MDM): MDM came about from the need of businesses to improve the quality, homogeneity, and consistency of their critical data assets. These critical data are customer, product, asset, and vendor data. MDM is used to define and manage these critical data. Additionally, it provides a single point of reference or a single source of truth for this data. MDM enables methods for ingesting, consolidating, comparing, aggregating, verifying, storing, and routing essential data across the enterprise while ensuring a common understanding, consistency, accuracy, and quality control. PaaS platforms have proven to be a boon for developing MDM applications, enabling them to process data quickly and efficiently.

Using PaaS is beneficial, sometimes even critical, in many applications. PaaS can streamline a workflow when several parties simultaneously work on the same task. PaaS is functional when customized applications need to be created. PaaS can reduce development and administration costs. Let's look at some examples of AWS PaaS services.

Examples of AWS PaaS services

Here are some examples of the most popular PaaS offerings in the AWS ecosystem:

- AWS Elastic Beanstalk: Beanstalk is a simple service that enables the deployment of web applications in various programming languages and can scale up and down automatically.

- Amazon RDS: Amazon RDS is another excellent example of a PaaS. Amazon offers a variety of databases, such as MySQL, Postgres, and Oracle. When using Amazon RDS to use these databases, You can focus on writing our applications against them and let Amazon handle the underlying management of the database engine.

- AWS Lambda: Lambda is another relatively simple and fully managed service that can quickly scale to handle thousands of requests per second. It requires almost no configuration and removes the worry of having to provide your hardware. AWS Lambda is also referred to as a Function as a Service (FaaS).

- Amazon Elastic Kubernetes Service (Amazon EKS): Amazon EKS is a fully managed service that enables running Kubernetes on the cloud without installing Kubernetes or deploying your servers.

This concludes the PaaS section. Now, let's learn about the following possible scenario – Software as a Service (SaaS).

Understanding SaaS

SaaS, or cloud application services, are services where most of the heavy lifting is done by the cloud provider (in this case, AWS). In this case, you will not have to install software or worry about the operating system or software patches. Your focus will be on customizing the application's business logic and supporting your users. Most SaaS will only need browser access as most of the computation will be done on the cloud side.SaaS gets rid of the need for your staff to visit individuals' devices in terms of software installation. AWS is fully responsible for any issues on the server, middleware, operating system, and storage levels. Let's now analyze the characteristics that makeup SaaS, the advantages and disadvantages of using a SaaS deployment, and some SaaS examples.

Characteristics of SaaS

These are the clues that will help determine if a service is a SaaS:

- It is managed by the vendor (such as AWS).

- It is hosted on a third-party server.

- It can be accessed over the internet.

- AWS is responsible for managing applications, infrastructure, operating systems, and software patches and updates.

Advantages of SaaS

SaaS has several advantages:

- Reducing the time, money, and effort spent on repetitive tasks

- Shifting the responsibility for installing, patching, configuring, and upgrading software across the service to a third party

- Allowing you to focus on the tasks that require more personalized attention, such as providing customer service to your user base

A SaaS solution allows you to get up and running efficiently. This option, versus the other two solutions we'll analyze, requires the least effort. This option enables companies big and small to launch services quickly and finish a project on time.

Disadvantages of SaaS

SaaS solutions have some limitations as well:

- Interoperability: Interoperability with other services may not be straightforward. For example, if you need integration with an on-premises application, it may be more complicated to perform this integration. Most likely, your on-premises installation does not use the same software and technologies in AWS, complicating the integration. Your on-premises environment is an assortment of technology from different vendors, making it difficult to integrate. In contrast, before you spin up your first service, AWS goes to great lengths and performs rigorous testing to ensure that services interoperate and integrate smoothly.

- Customization: The convenience of having AWS manage many things for you comes at a price. Opportunities for customization in a SaaS solution will not be as great as with other services that are further down in the stack. For example, an on-premises solution that offers complete control of all levels in the stack will allow full customization. In your on-premises environment, you install the patch if there is a requirement to use a particular version of Linux with a certain security patch. In contrast, if you are using AWS Lambda as your deployment environment, installing a certain version of Linux is not possible. In fact, with AWS Lambda, which operating system is being used under the covers is transparent to you.

- Lack of control: If your organization requires that you only use a certain approved version of an operating system, this may not be appropriate. For example, there might be a regulatory requirement requiring detailed testing approval of the underlying operating systems, and if the version is changed, a retest and approval are required. In this case, SaaS will most likely not be an acceptable solution. In a SaaS environment, you have non-deterministic latency issues. In other words, it is hard to control how long your processes will take.

- Limited features: If the SaaS solution you are using does not offer a feature you require, you might not be able to use that feature unless the SaaS vendor provides that feature in the future.

Examples of AWS SaaS solutions

Some of the solutions that AWS offers that could be classified as SaaS solutions are as follows:

- Amazon WorkMail: This allows users of the service to access email functionality, update their contacts, and manage calendars using any client application, such as Microsoft Outlook, Apple iOS, or Android email applications. Any email application that supports the IMAP protocol can be used. WorkMail is also directly accessible via a web browser.

- Amazon WorkSpaces: This provides system administrators the ability to provide virtual Microsoft Windows or Linux Virtual Desktop Infrastructure (VDIs) for their users. It obviates the need to purchase, procure, and deploy hardware and eliminates the need to install the software. Administrators can add or remove users as the organization changes. Users can access their VDIs from various supported devices and web browsers. With Amazon Workspaces, you no longer have to visit every machine to install commonly used software such as Microsoft Office and other security software. Amazon Workspaces enables virtual environments for your users where this software is already installed, and all they need is access to a browser.

- Amazon QuickSight: This is a business intelligence and analytics service used to create charts, and visualizations, perform ad hoc analysis and obtain business insights. It seamlessly integrates with other AWS services to automatically discover AWS data sources.

- Amazon Chime: Similar to Slack and Zoom, Amazon Chime can be used for online meetings, video conferencing and calls, online chat, and sharing content.

Examples of third-party SaaS solutions

Also, many third-party vendors, including some that offer their services on the AWS Marketplace, are SaaS solutions. There are many examples, but here are a few that decided to build their SaaS offerings on AWS:

- Splunk: A software platform that enables search, aggregation, analysis, and visualizations of machine-generated data collected from disparate sources such as websites, mobile apps, sensors, and IoT devices.

- Send bird: A chat solution specializing in real-time chat and messaging development for mobile apps and websites. It provides client-side SDKs in various languages, a user-friendly dashboard, and moderation tools.

- Twilio: A company that offers a wide variety of ways to securely communicate with customers, including email, SMS, fax, voice, chat, and video. Whenever you get an SMS to prove your identity when you log into your bank account, there is a decent chance that Twilio was involved in the process.

Now that you have gone over SaaS, PaaS, and IaaS in great detail, let's see when it's appropriate to use them.

Selection by use case of SaaS, PaaS, or IaaS

Each model you learned, including the on-premises model, has advantages and disadvantages. The one you should choose depends on your specific business requirements, what features are needed, and the developers and testers that comprise your team. You might need a fully out-of-the-box solution, and time to market might be a more important consideration than price. Or perhaps you have regulatory constraints that force you to have complete control of the environment. AWS offers a lot of assurances regarding their Service Level Agreements (SLAs) and compliance certifications. The more levels in the stack you decide to manage, the more effort you will exert to verify that your systems comply with the different regulations.In general, one good rule of thumb is to let AWS take over the management of your resources whenever possible. You only take over the responsibility whenever necessary. For example, could you imagine trying to implement the functionality that Amazon Elastic Load Balancing or the Elastic Kubernetes Service provides? Now that you have a comprehensive understanding of the classification covered in the previous sections, you will learn about some of the fundamental services that underpin these models.There are two main reasons why not to use SaaS and instead use IaaS or PaaS:

- The use case requires a certain type of database or software not supported by the AWS SaaS solutions. For example, you may already have purchased Tableau licenses for your organization and built reports. So instead of using Amazon QuickSight as a SaaS BI platform, you can install Tableau in EC2 instances as an IaaS model.

- The total cost of ownership of running an application using PaaS or IaaS is significantly lower than the SaaS model. A specific example may be AWS Athena versus using Presto directly. If you plan to run thousands of queries per day, with the current cost structure, some cloud users have found deploying Presto more cost-effective than using AWS Athena. Another option is to use Amazon Redshift as a PaaS model rather than Athena as a SaaS model cost-efficiently. It's important to note that these cost calculations should be carried out using all relevant costs, including staffing and support costs, not just software costs.

As you learned about different cloud computing models with understanding to make the right choices, now let's learn about cloud migration strategy.

Cloud Migration Strategy

The proportion of IT spending shifting to the cloud is accelerating. With predictions, over 45% of system infrastructure, infrastructure software, application software, and more will move from traditional solutions to the cloud by 2024. Migrating to AWS Cloud makes your organization more innovative by enabling them to experiment and be agile. The ability to move fast and achieve business values quickly for your users is what truly matters for your company's cloud migration.By migrating your digital assets to the cloud, you can gain better insights from your data, innovate faster, modernize aging infrastructure, scale globally, and restructure organizational models to create better customer experiences. Often, cost reduction is one of the primary drivers of migrating workloads to the cloud. In practice, organizations regularly see the value of migration going well beyond the cost savings from retiring legacy infrastructure.As you have started to discover, there are additional tasks you can perform in addition to migrating workflows to the cloud. What tasks should be performed and when they should be done will depend on the available budget, staff technical expertise, and leadership buy-in.It is hard to create discrete cohorts to classify these tasks since they are more of a continuum. Having said this, and without further ado, let's attempt to create a classification nonetheless. Keep in mind that this classification is not meant to be dogmatic. You may run into other ways to classify this migration. Additionally, you may be able to mix and match the approaches, depending on your needs. For example, your CRM application may be moved without changing it. But perhaps your accounting software was built in-house, and now you want to use a vendor-enabled solution such as QuickBooks Online.AWS use a three-phase approach that integrates modernization into the migration transition. AWS’s three-phase process, along with the seven migration patterns, helps provide the guiding principles for structuring the cloud migration journey so you can quickly realize continuous, quantifiable business value. Let’s look at this pattern in the three-phase migration process.

The three-phase migration process

The followings are three phases of cloud migration:

1. Assessment phase – This is the discovery phase where; you can assess your on-premises or co-location resources and build out a right-sized and optimized cost projection for your specific needs for running workloads in the cloud. You can build a Migration Readiness Assessment (MRA) to evaluate an organization's cloud readiness using AWS Migration Evaluator, formerly known as TSO Logic. You can use AWS Cloud Adoption Framework (CAF) to guide cloud readiness and migration organizations. You will learn details about CAF later in this chapter.

2. Mobilize phase- In the Mobilize phase, you address gaps in your organization's readiness uncovered in the assessment phase. Your focus should be on building your baseline environment, driving operational readiness, and developing cloud skills. You can use the AWS cloud adoption readiness tool that helps you develop plans for your cloud adoption based on your migration readiness. Further, the AWS Migration hub helps automate the planning and tracking of application migration across multiple AWS and Partner tools, allowing you to choose the migration tools that best fit your needs.

3. Migrate phase– During the Migrate & Modernize phase, each of your workloads will be designed, migrated, and validated. AWS Migration Hub enables you to get progress updates quickly across all your migrations, easily identify and troubleshoot any issues, and reduce the overall time and effort spent on your migration projects. For many workloads, the best approach is to move rapidly to the cloud, then re-architect in AWS. Many businesses use migration as a valuable opportunity to also modernize their businesses by refactoring their legacy technology.

The above three-phase process is the best way for your organization to efficiently and quickly migrate hundreds of workloads. And while all three phases are standard components of a successful migration, they are not set in stone. For example, an initial application migration develops into an iterative process of migrating additional applications and workloads to AWS. As you migrate more workloads, you can enable repeatable and predictable process processes and procedures, accelerating and optimizing your migration efforts.Let's review the migration patterns, also known as "The 7 R's," when migrating to the cloud and learn when to pick one over the others.

Cloud migration patterns - The 7 R’s

There is more than one way to handle migration. The followings are the 7 R’s cloud patterns defined by AWS:

1. Rehost
2. Re-platform
3. Refactor
4. Relocate
5. Repurchase
6. Retain
7. Retire

Creating a detailed strategy that identifies your workloads’ best patterns is essential to accelerating your cloud journey and achieving your desired business objectives. Let’s learn a full breakdown of the 7 R’s and what each migration pattern brings to the table.

Rehost in the cloud

This method is also commonly known as lift and shift. By rehosting your application in the cloud, you perform the least work to move your workloads to the cloud. Applications are being rehosted as they are in a different environment. Services are simply migrated. Let's say, for example, that you are hosting a simple three-tier application on your on-premises environment that is using the following:

- A webserver
- An app server
- A database server

Using the lift and shift strategy, you would set up three similar servers on the cloud, install the applicable software on each server, and migrate the necessary data. Therefore, this approach will have the lowest migration costs. This simplicity comes at a price. Any problems in the existing applications will come along during the migration. If the current applications are obsolete and suboptimal, they will remain obsolete and suboptimal.Have you ever had to move from one house to another? It's a painful process, right? In broad strokes, there are two ways that you can pack for the move:

- You can just put everything in a box and move it to the new house.

- You can be judicious and sort through what you have, item by item, and decide if you will toss, sell, recycle, or take the thing with you.

Packing everything and going is a quick way because you avoid sorting through everything, but as you know, it can be more expensive because you will be moving more things, and it is painful because you may realize later that you should not have moved some items, to begin with.The move to the cloud is not very different. Using the lift and shift is good if you are already confident that your processes and workflows are solid and not need to be changed. This is rarely the case. This approach takes everything from the on-premise data center and moves it to the cloud. However, additional work is still required, such as preparing servers, creating VPC, managing user access, and other tasks. You can automate most rehosting with AWS-provided tools such as Cloud Endure and TSO logic. AWS Server Migration Service offers agentless capabilities when you cannot install an agent on the server—making it faster and easier for you to migrate large on-premises workloads to AWS from a snapshot of the existing servers.The Lift and Shift approach may not always allow us to achieve the desired cost optimization, but it is the first step toward the cloud and is still a highly cost-effective option for many organizations. This approach is often the best choice if you want to start the migration process while getting a feel for cloud benefits. Let's look into other approaches.

Re-platform in the cloud

Sometimes referred to as "lift-tinker-and-shift," it entails making a handful of cloud optimizations to achieve tangible benefits without changing the application’s core architecture. For example, by migrating a Windows-based application running on an older version such as Windows 2008, you can use the migration opportunity to update it to the latest version, such as windows 2022. To reduce the amount of time you spend managing database instances, you can move to an Amazon Aurora, a fully managed database in the AWS cloud.One of AWS' Database Migration benefits is that moving from one database source or version to a new platform or software version keeps the source database fully operational throughout. That means near-zero downtime during the migration, saving you time and money.Re-platform your services to run in the cloud entails migrating the applications and changing the underlying infrastructure architecture. However, the code of the higher-level services will not be changed. This way, you can leverage your existing code base, languages, and the frameworks you are currently using. It may be a good balance between taking advantage of some of the properties inherent to the cloud, such as elasticity and Scalability, without having to make wholesale changes to your existing applications. It is advisable to use this method when you are comfortable with your current set of applications but you want to take advantage of certain cloud advantages and functionality. For example, you may wish to add failover to your databases without buying the software needed to run this setup reliably. If you were implementing this functionality on-premises, you would have to own all the infrastructure. A specific example is Oracle Data Guard, which allows you to implement this failover but not without having to install the product, and you need enough expertise to ensure that the product is configured correctly. Instead, when you are in a cloud environment, you can leverage the virtualization nature of the cloud, and costs can be shared with other cloud customers.

Refactor in the cloud

This process is also known as re-architecture, and it changes the way you build the application, such as building microservice-based architecture. It frequently requires employing cloud-native features such as building a serverless application. To continue to meet user demand, a business needs to add continuous new features, scale to a global user base, or improve performance that would otherwise be difficult in the application’s existing environment is what drives a refactoring approach. Refactor is the most advanced migration approach used to adopt applications and underlying infrastructure for the cloud entirely. Refactor approach will enable you to use all the cloud features and fully take advantage of them. This will allow you to use state-of-the-art technologies to create new services and reinvent your existing business workflows. There will be considerable work to accomplish this rewrite. In many cases, especially for established enterprises that new start-ups disrupt, they will soon find themselves relegated to a footnote in history if they don't reinvent themselves. In this approach, you make wholesale changes and start from scratch to create your new applications and workflows. It is essential to have subject matter experts and business experts involved in the design process because you may want to make changes even to how you do business and spend all your current beliefs about how things should be done. Overall migration is a long process and requires application developers, business stakeholders, infrastructure engineers, security experts, etc., involvement. The collaboration between different teams in organizations is necessary because significant changes to apps and infrastructure are critical for success.However, refactor offers the best value to capture all AWS tools and services from infrastructure to continuous integration and deployment. Utilizing refactor results in faster roll-out for new features and improved release processes while strengthening disaster recovery. If your organization is looking to boost agility or improve business continuity by moving to a service-oriented micro-service architecture, this strategy may be worth pursuing despite its costs.

Revise before migrating to the cloud

Another potential strategy is to modify, optimize, and enhance the existing applications and code base before migrating to the cloud in preparation for migrating to the cloud. Only then do you rehost or refactor the applications to the cloud. This may be a good strategy and provide business continuity and enhancement in the long run. The downside of this approach is the cost associated with changing and testing the code upfront. In addition, changing the code in the on-premises environment may not allow you to take advantage of all the features that creating the code in the cloud would offer. For example, you may want to create reports using AWS QuickSight. AWS QuickSight is a great tool for creating dashboards and reports. However, AWS QuickSight can only be used in a cloud environment and not in your on-premises environment because QuickSight is only supported within AWS.This method is suitable for you when you know that your applications are suboptimal and need to be revised. You take cloud migration as an opportunity to enhance and fix your applications. Using this approach, you will only need to test your application once. The drawback is that if things go south, it may be difficult to ascertain if the problems that cropped up are because of new bugs in the code or because you migrated to the cloud.

Repurchase in the cloud

Repurchase replaces your existing environment and is known as “drop and shop.” It happens when there is a decision to purchase an entirely new solution that is more cloud-native. You may also be looking for a new software licensing model such as per user or per transaction that allows you greater flexibility to match your business needs. So, instead of rebuilding your applications, it is to get rid of them but replace them with commercially available SaaS alternatives such as Salesforce, Workday, ServiceNow, or SAP. Depending on how deep and talented your talent pool is and their areas of expertise, this option may or may not be more expensive than rebuilding your application. Using this option, your software costs will likely be higher, but lower development and maintenance costs will be offset. If you decide to rebuild, you will not have to pay for CRM and commercial software licenses, but development cycles will likely be longer. You will have fewer defects, and higher maintenance may apply.The previous methods of migration implied that all development was done in-house. One difference with the repurchase approach is migrating from in-house systems to software built by professional vendors. As with the other approaches, this approach has advantages and disadvantages. One of the advantages is that the learning curve and the development life cycle will be potentially shortened. Not as much development will be needed. However, a disadvantage is that the software will require additional licenses.

Relocate to the cloud

Relocate method allows to move vSphere-based applications to AWS without any application changes. With AWS VMware cloud, you can quickly relocate hundreds of applications virtualized on vSphere to the AWS Cloud in just days. You will maintain consistent operations with your VMware Cloud environments. You can adapt and integrate additional cloud services while existing your data centers. It leads to a decreased Total Cost of Ownership (TCO) as you move to operational costs from upfront capital investment. After moving to the cloud, you can optimize or re-architect to take advantage of the various AWS services. You can add advanced features using the VMware Cloud hybrid, data engineering, machine learning, containerization, and mobility capabilities backed by the power of AWS.

Retain in on-premise

Retain method means do nothing for now and leave your on-premise workload as-is. You may have portions of your IT workload that you are not ready to migrate or believe are best-kept on-premises—as more of your portfolio moves to the cloud, allocating data center expenses across fewer workloads may create a need to revisit the retained workloads.Working from a hybrid cloud standing can be achieved with VMWare cloud on AWS or AWS Outposts to host workload on-premises. AWS Outposts brings the AWS data center hardware to your premise with the same services and APIs. You can use the AWS control plains with the same management tools, support, and operating model for any on-premises facility. With AWS Outposts, you have a truly consistent hybrid cloud. You can develop once and deploy across AWS Outposts on-premises or AWS Cloud without recertifying your applications.

Retire

Finally, while analyzing your workload for cloud migration, you may realize that many servers are running unutilized, or you have decided to replace the existing application with cloud-native software.The retire method is to decommission unwanted portions of your IT workload. During the discovery phase of your migration, you may encounter applications no longer being used. By rationalizing your IT portfolio, you can identify no longer useful assets that can be turned off. It will strengthen your business case and direct your team’s attention toward maintaining the more widely used resources.AWS provides prescriptive guidance to plan and decide which migration strategy will fit your workload. You can refer AWS guide given here - https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/prioritization-and-migration-strategy.html to customize the flow for your enterprise on-premise workload while working on migration planning. Let’s look into some of the tools provided by AWS to help you with cloud migration.

Migration assessment tools

You don't have to reinvent the wheel as you migrate your workloads and projects from your current environment to the cloud. As you can imagine, many others have already started this journey. AWS and third-party vendors offer various tools to facilitate this migration to facilitate this process. A few examples of services and tools that are worth exploring are as follows:

- AWS Migration Hub: AWS Migration Hub is a central repository that can be used to keep track of a migration project

- AWS Application Discovery Service: AWS Application Discovery Service automates the discovery and inventory tracking of different infrastructure resources, such as servers and dependencies.

- AWS Migration Pattern Library: This is a collection of migration templates and design patterns that can assist in the comparison of migration options and alternatives.

- CloudEndure Migration: CloudEndure Migration is a product offered by AWS that simplifies cloud migration by automating many of the steps necessary to migrate to the cloud.

- AWS Data Migration Service: This service can facilitate data migration from your on-premises databases to the cloud, for example, into Amazon RDS.

This by no means is not a comprehensive list. Many other AWS and third-party services can assist in your migration. You can complete the list by visiting the AWS migration page link here- https://aws.amazon.com/free/migration/.Now that you have reviewed the different ways to migrate to the cloud let's understand a little bit better why you might want to migrate to the cloud to begin with. You will gain this understanding by learning about the concept of digital transformation. Let's now dive deeper into how organizations leverage digital transformation using the cloud model.

Implementing a digital transformation program

In the previous section, you spent some time understanding AWS cloud migration strategy. In this section, you will learn how to perform the transformation from legacy on-premises technologies into the cloud.As you can imagine, this can be a difficult exercise, especially for large enterprises that have a long history of using old technologies and have made significant investments in them. Deciding to start migrating applications and on-premises services to the cloud is not a decision that can be made lightly. A complete migration will likely take years and potentially can cost millions of dollars just on migration, transformation, and testing costs.For this reason, important decisions need to be made along the way. Some of the most critical decisions that need to be made are as follows:

- Should you perform the bare minimum amount of tasks to achieve the migration, or do you want to use this change as an opportunity to refactor, enhance, and optimize our services? Doing the bare minimum (only migrating our workloads to the cloud) will mean that any problems and deficiencies in the current environment will be brought over to the new environment.

- Should the migration be purely technological, or should you use this opportunity to transform our current business processes? You could take this opportunity to thoroughly assess how your organization does business today and figure out how you can improve it. It will potentially create efficiencies, cut costs, and increase customer satisfaction. However, this option will inherently have a higher upfront cost, and it may or may not work.

In this section, you will start learning the primary strategies for migration to the cloud and weigh up some of the options.

What exactly is a digital transformation?

The term "digital transformation" is harder and harder to define because it is being overloaded to the point that it has become a nebulous concept. Like many fantastic technology trends, it is over-hyped and over-used. According to International Data Corporation (IDC), some studies report that up to 40% of tech spending will be digital transformation, while enterprises plan to spend over $2.8 trillion by 2025. The source of these details is the following website: https://www.idc.com/.The term "digital transformation" has become something that simply means platform modernization, including migrating on-premises infrastructure to the cloud. You can blame CIOs, consultants, and third-party vendors for this confusion. They are all trying to convince the C-Suite that their solution can cover today's enterprise infrastructure and business requirements.But savvy high-level executives understand that there is no magic bullet, and a digital transformation will require planning, strategizing testing, and a great deal of effort to accomplish.Let's try to nail it down and define it.

Digital transformation definition

Digital transformation involves using the cloud and other advanced technology to create new or change existing business flows. It often involves changing the company culture to adapt to this new business type. The end goal of digital transformation is to enhance the customer experience and to meet ever-changing business and market demand.A digital transformation is an opportunity to reconsider everything, including the following:

- The current structure of teams and departments

- Current business flows

- The way new functionality is developed

For digital transformation to succeed, it should not be limited to one aspect of the business, such as marketing, operations, or finance. It should eventually be all-encompassing and cover the whole gamut of how you engage with your customers. It should be an opportunity to completely transform how you interact with your potential and existing customers. It should go well beyond simply swapping one server in one location for another more powerful or cheaper one in the cloud.In some regards, start-ups have a big advantage over their more significant, more established rivals because they don't have to unlearn and reimagine their processes. Start-ups have a clean slate that can fill with anything in the AWS service catalog and other technologies. Existing players must wipe the slate clean while keeping their existing client base and finding a way to keep the trains running while they perform their digital transformations.Digital transformation goes well beyond changing an enterprise's technology infrastructure. For a digital transformation to be successful, it must also involve rethinking processes, using your staff in new ways, and fundamentally changing how business is done.Disruptive technological change is usually undertaken to pursue new revenue sources or increase profits by creating efficiencies. Today's customers continue to raise the bar of expectations driven by so many successful businesses that have delivered on the execution of their digital transformations.Many companies usually not thought of as technology companies are wolves in sheep's clothing, meaning they are technology companies under the covers even though they operate in non-technology areas. A few examples are as follows:

- Biotech: They use computational chemistry and machine learning to create new drugs.

- Banking: Countless examples of fintech companies, such as SoFi, Lending Club, Marcum, and Prosper, use technology to disrupt the current players.

- Lodging: Companies such as Airbnb and VRBO rely heavily on the cloud and new technologies to compete against existing entrenched competitors successfully.

- Insurance: Companies in this space use technology to improve underwriting and reduce costs. An example here is a company called Lemonade, which recently went public.

- Health care: Doctors use technology to streamline back-office operations and digitize their paper records. In addition, a trend that is gaining more traction is the concept of telemedicine. It is the ability to consult a doctor without visiting their office and conducting the appointment in a videoconference session. One of the leaders in this space is Teledoc.

- Finance: Robinhood and Stripe are making their mark through technology by challenging well-established large firms in trading and payment.

In the next section, you will learn about some of the forces that push companies into embarking on digital transformation. The status quo is a powerful state. Most companies will find it challenging to move from what's already working even though they may realize that the current approach is not ideal. It usually takes significant pressure to bite the bullet and migrate to the cloud finally.

Digital transformation drivers

One of the most important reasons companies are finally beginning to migrate their workloads to the cloud and transform their business is because they realize if they don't disrupt themselves, someone else will do it for them. They see competition from start-ups that can start with a clean slate and without legacy baggage, or they also see incumbent competitors embarking on digital transformation initiatives.Take the examples of Uber and Lyft. Both companies have upended the transportation business. Taxi companies, rental car companies, and even trucking companies have been noticed and realized that they must adapt or die. A big reason for Uber's and Lyft's success is using the cloud to host their operations.Another obvious example is none other than Amazon's e-commerce operations. In this case, many of its competitors failed to adapt and have been forced to declare bankruptcy. A partial list of famous retailers that had to file for bankruptcy are as follows:

- Tailored Brands
- Lord & Taylor
- Brook Brothers
- Lucky Brand
- GNC
- J.C. Penney
- Neiman Marcus
- J. Crew
- Modell's Sporting Goods
- Pier 1

In some ways, you can think of Amazon's special e-commerce operations as simply just another use case of AWS.Let's take examples of companies that have survived and thrived by migrating to the cloud or creating their applications in the cloud.

Digital transformation examples

Digital transformation without tangible positive business outcomes will inevitably result in a short stay with your employer or the marketplace. Innovation might be refined in academia and research institutions, but in the business world, innovation must always be tied to improvement in business metrics such as increased sales or higher profits.Remember that digital transformation could mean more than just moving your operations to the cloud. As you saw in the previous section, it may involve refactoring and replacing existing processes. Furthermore, it could also mean applying other previously not used technologies, such as robotics, the Internet of Things (IoT), Blockchain, and Machine Learning.For example, how many restaurants offer advance booking through the web or via a mobile app?A few more concrete examples are as follows:

- TGI Fridays are using virtual assistants to enable mobile ordering.

- McDonalds uses voice recognition technology in their drive-throughs, and they have almost replaced their point-of-the-system with a self-ordering Kiosk.

- Chipotle restaurants in the US have entirely changed their ordering model during the Covid-19 pandemic. Instead of allowing customers to come into the restaurant and order, customers had to put in their orders via the Chipotle mobile app. Customers would get a time when they could come up and pick up their order or, if they ordered far enough in advance, they could choose when to pick it up.

- Rocket Mortgage (previously Quicken Loans) has upended the mortgage industry by enabling consumers to apply for a mortgage in a streamlined manner and without needing to speak to a human. To achieve this, they heavily relied on technology, as you can imagine.

What are some best practices when implementing a cloud migration? In the next section, we will help you navigate so that your cloud migration project is successful regardless of how complicated it may be.

Digital transformation tips

There are many ways to implement a digital transformation. Some methods are better than others. This section will cover some of our suggestions to shorten the implementation time and minimize disruption to our existing customer base. Let's look at those tips.

Tip #1 – Ask the right questions

You should not just be asking this:

- How can we do what we are doing faster and better?

You should also be asking this:

- How do we change what we are doing to serve our customers better?

- Can we eliminate certain lines of business, departments, or processes?

- What business outcomes do we want to achieve when interfacing with our customers?

- What happens if we will not do anything?

- What are our competitors doing?

Having a precise understanding of your customer's journey and experience is critical.

Tip #2 – Get leadership buy-in

Digital transformations have a much better chance of success when performed from the top down. If there is no buy-in from the CEO and the rest of the C-Suite, cloud adoption is destined to be relegated to a few corners of the enterprise but has no chance of full adoption. This does not mean that a Proof of Concept (POC) cannot be performed in one department to work out the kinks. Once the technology is adopted in that department, the bugs are worked out, and tangible business results are delivered, we can roll out this solution to all other departments.

Tip #3 – Delineate goals and objectives

In this day and age, where Agile development is so prevalent, it is not uncommon to pivot and change direction as new requirements are discovered. However, the overall objective of the digital transformation should be crystal clear. Is the objective to merely lift and shift the current workflows into the cloud? Then keep your eye on the prize and ruthlessly concentrate on that goal. Is the digital transformation supporting a merger between two companies? In that case, the completion of the union of both companies' backend systems and operations should take precedence over everything else. Whatever the goal is, you need to focus on completing that objective before taking on other initiatives and transformations.

Tip #4 – Apply an Agile methodology to your digital transformation

Embrace adaptive and agile design. The days of waiting for a couple of years to start seeing results, only to discover that you were climbing the wrong mountain, are over. Many corporations now run with lean budgets and only provide additional resources once milestones have been reached and functionality has been delivered. Embracing an adaptive design enables transformation advocates to quickly tweak the transformation strategy and deploy staffing and resources where they can have the highest impact. There needs to be a healthy push and pull between accomplishing the objectives for the digital transformation and the inevitable changes in how the goals will be met. If some of the objectives change midstream, these changes need to be clearly defined again. Make sure to precisely spell out what is changing, what is new, and what is no longer applicable. There are but a few instances where development and projects are run using a waterfall model and Agile methodologies to deliver results faster and incrementally. Agile increases ROI by taking advantage of features as soon as they are available instead of waiting for all functionality to be delivered. Adaptability must be deeply ingrained in the ethos and culture of your digital transformation team members.Look for singles and not home runs. Home run hitters normally also have a lot of strikeouts. Players that specialize in hitting singles get on base much more often. You should take the same approach in your digital transformation. Instead of attempting a moon shot, taking smaller steps that produce results is highly recommended. If you can demonstrate value early in your transformation, this will validate your approach and present to leadership that your approach is working. How much job security do you think you will have if your transformation takes three years and the project falls behind with no tangible results?Pick the low-hanging fruit and migrate those workloads first. You will be able to provide quick results with this approach, and you will learn from the mistakes you make in the process, which will help you when you need to accomplish other more difficult migrations.

Tip #5 – Encourage risk-taking

In other words, fail fast. There are only so many times you can fail to deliver results. But if failing only takes one week and you have a month to deliver results, that affords us the luxury of failing three times before we get it right the fourth time. Therefore, in the first couple of attempts, you can attempt to shoot further and achieve more. Ideally, you don't have to completely throw out the work performed in the first few attempts, and hopefully, you can reuse what was created in the first phases. But at the very least, you will be able to use the lessons learned from those mistakes.It's better to disrupt yourself than to have someone do it for you.

Tip #6 – On-way door Vs. Two-way door decision

One way of defining risk strategy is to understand if your decision to invest in digital transformation for a project or department is a one-way door or two-way door decision. Try to have more two-way door decisions where you can retract if things go wrong and have fewer one-day door decisions where you have to move forward once started, and there is no looking back. You can be more agile and fast in two-way door decisions where you define existing strategy and timeline; however, you need to be extra careful and analyze more data for one-way door decisions. For example, in a two-way door decision example, you can move your HR payroll application to migrate to the cloud and keep an exit strategy to purchase SaaS solutions like Workday or ADP if migration isn't complete in two months or after certain budgets. However, if you decide to move your e-commerce application to the cloud, it will impact your end-user experience. Hence, you need to carefully analyze data as it will be a one-way door decision, and there is no going back without a significant impact.

Tip #7 – Clear delineation of roles and responsibilities

Fully delineate roles and responsibilities. Make sure that all team members are aligned on their responsibilities and check that there are no gaps in your team. Ideally, you will have a good mix of people with vast experience in cloud migration, digital transformation, and process optimization. Couple that with engineers and analysts that are not billing at an expert rate but can execute the plan laid out by these expert resources.Current technology in general and AWS, in particular, is changing at an ever-increasing pace. For that reason, attracting talent with the right skills is an essential yet difficult step to achieve in digital transformations.Some of the positions that will most likely need to be filled in your journey are as follows:

- Software engineers
- Infrastructure architects
- Cloud computing specialists
- Data analysts and data scientists
- Solution architects
- Security specialists
- Project managers
- Quality assurance testers
- DevOps administrators
- UX designers
- Trainers and documentation specialists
- Business analysts

Above is a partial list, and your project may require more or fewer people to fill these roles. Perhaps not all roles will be required. And in your case, you may need additional roles to those included in this list.This section taught us best practices and what to do in your cloud migration project. In the next section, you will learn about what you should not do and how to avoid making mistakes.

Digital transformation pitfalls

There are many more ways to fail and not as many ways to succeed. There are, however, common patterns to how digital transformations typically fail. Let's review some of them.

Lack of commitment from the C-Suite

Even when the CEO says they are committed to completely transforming their business, they may still clearly delineate a vision and the path to success or fail to provide the necessary resources for the transformation to succeed.

Not having the right team in place.

It is difficult to know what you don't know because you don't know it. It may take reading this sentence a couple of times before it can be understood, but the important takeaway is that you should engage people that have performed similar digital transformations to the one you are trying to attempt. Why reinvent the wheel if someone else already invented it?Many reputable consulting companies specialize in cloud migration and digital transformation. Your chance of success increases exponentially if you engage them to assist you with your initiative. They understand the challenges, and they can help you avoid the pitfalls. AWS has a large partner network that can help you migrate to the cloud.These resources may come with a hefty price tag, and engaging them may not always be easy. Many digital transformation initiatives fail because of a failure to engage the people with the right expertise to perform them.

Internal resistance from the ranks

With many of these transformations, there may be an adjustment in personnel. Some new people may join the team, in some cases permanently. Some consulting staff may be brought in temporarily, and some staff may become obsolete and need to be phased out. It is important to consider the friction these changes will create and deal with them accordingly. When moving workloads to the cloud, some of the on-premises administrators may no longer be required, and you can fully expect that they may be a roadblock to the completion of the migration of these workflows.Specifically, it is not uncommon for infrastructure and system administrators to resist cloud adoption. They often sense that some of their responsibilities may disappear or change. And in many instances, they are not wrong. Properly communicating the objective, how the migration will occur, and delineating new responsibilities are key to a successful migration.

Going too fast

To succeed, you must crawl before you walk and walk before you run. It is essential to prove concepts at a smaller scale before scaling them up across the enterprise and before you spend millions of dollars. Taking this route will allow you to make small mistakes and refine the transformation process before implementing it in an enterprise-wide fashion. Remember one-way Vs. Two-way door decision while investing in cloud migration projects. Not just for cloud migration, but for any project in general, a highly recommended method is to perform PoC projects before going all in. For example, if you have 100 databases in your organization, it is not bad to migrate only one or a few to the cloud instead of doing all of them simultaneously.

Going too slow

Once you prove the process in a couple of guinea pig departments, it is also important not to continue implementing the lessons learned one department at a time. Once you have the right template, it is recommended to roll out the new technology across the board. If you take a step-by-step approach, it may be too slow to enable you to keep up with more nimble competitors.Once you get familiar with the migration process and absorb the lessons learned from the first migration, you can accelerate your migration and migrate more of them.

Outdated rules and regulations

In some cases, the reason for failure may not be in the hands of the company's leadership. Current regulations may be a stumbling block to success. In this case, business leaders may have made the mistake of thinking that they would be able to change the rules and failed, or the rules may have changed in the middle of the game.Take, for example, the real estate industry in the US. Proving that someone owns a property and recording such ownership requires recording physical documents in the courthouse, in many cases requiring wet signatures. With the advent of blockchain and other enabling concepts, the technology already exists to transform local governments' archaic and heterogeneous methods. However, a patchwork of laws at the state level and a wide array of methods used to record these documents at the county level are disrupting this industry and implementing this technology.Another example is at an online pharmacy. They want a pill-dispensing robot that could fill tens of thousands of prescriptions per minute. As you can imagine, this was an expensive machine costing millions of dollars. However, the company had a restriction in that they had to be faxed for medicine prescriptions to be filled, and many customers had trouble faxing in their prescriptions. Hence, the robot pill dispenser ended up being heavily underutilized. Other reasons contributed to its demise, but unfortunately, this enterprise eventually went under.AWS provides a Cloud adoption framework to help you start with digital transformation. Let's learn more details about it.

AWS Cloud Adoption Framework (AWS CAF)

As discussed in the previous section, you overserved some key pitfalls in cloud adoption. The organization started well with the pilot unable to move it further, or tech leadership is not aligned to focus on cloud modernization. In some cases, even if the organization migrates cloud, it cannot realize full value as replicating the on-premise model to the cloud, which failed to reduce cost or increase flexibility. To help customers overcome these pitfalls, AWS designed Cloud Adoption Framework by applying their learning across thousands of customers who completed their cloud migration to AWS.The AWS Cloud Adoption Framework (CAF) is a mechanism for establishing a shared mental model for cloud transformation. Leverages AWS experience and best practices to enable customers to identify and prioritize transformation opportunities, evaluate and improve cloud readiness, and iteratively evolve transformation roadmaps. Key business outcomes include reduced business risk, improved environmental, social, and governance (ESG) performance, and increased revenue and operational efficiency. The following diagram provides a full view of the AWS CAF framework to address your organization's digital transformational needs.

Figure 2.2 – AWS Cloud Adoption Framework (CAF)

As shown in the preceding diagram, AWS CAF recommends four iterative and incremental phases for organizations to succeed in their digital transformation journey:

- Envision - Identify and prioritize transformation opportunities in line with your strategic objectives. Associating your transformation initiatives with senior executives capable of influencing and driving change. The measurable business outcomes will help you demonstrate value as you progress through your transformation journey.

- Align - Identify capability gaps and cross-organizational dependencies. It will help you create strategies for improving your cloud readiness, ensure stakeholder alignment, and facilitate relevant organizational change management activities.

- Launch - Deliver pilots in production and demonstrate incremental business value. Pilots should be highly impactful, and when successful, they will influence future direction. Learning from pilots will help you adjust your approach before scaling to full production.

- Scale - Expand pilots and business value to the desired scale and ensure that the business benefits associated with your cloud investments are realized and sustained.

Further, The AWS CAF identified four Transformation Domains that help customers accelerate their business outcomes. The followings are the digital transformation opportunities:

- Technology transformation focuses on leveraging the cloud to migrate and modernize legacy infrastructure, applications, and data and analytics platforms. Cloud Value Benchmarking shows the value of migrating from on-premises to AWS in terms of reduction in cost per user, VMs managed per administrator, decrease in downtime, and a decrease in security events.

- Process transformation may include leveraging new data and analytics platforms to create actionable insights or using machine learning (ML) to improve customer service experience, employee productivity, decision-making, business forecasting, fraud detection and prevention, industrial operations, etc. Doing so may help organizations improve operational efficiency while lowering operating costs and improving employee and customer experience.

- Organizational transformation focuses on reimagining the operating model; how business and technology teams orchestrate their efforts to create customer value and meet organizational strategic intent. Organizing teams around products and value streams while leveraging agile methods to iterate and evolve rapidly may help organizations become more responsive and customer-centric.

- Product transformation focuses on reimagining the business model by creating new value propositions (products, services) and revenue models. Doing so may help organizations reach new customers and enter new market segments. Cloud Value Benchmarking shows that adopting AWS reduces time-to-market for new features and applications, increases code deployment frequency, and decreases the time to deploy new code.

Transformation domains are enabled by a set of foundational capabilities which provide best practice guidance that helps customers improve their cloud readiness (their ability to leverage the cloud to transform effectively digitally). AWS CAF groups its capabilities in six perspectives: Business, People, Governance, Platform, Security, and Operations. Each perspective comprises a set of capabilities that functionally related stakeholders own or manage in their cloud transformation journey.

- Business perspective helps ensure that customers' cloud investments accelerate their digital transformation ambitions and business outcomes.

- People's perspective serves as a bridge between technology and business, accelerating the cloud journey to help organizations evolve to a culture of continuous growth, learning, and where change becomes business-as-normal, focusing on culture and organizational structure leadership, and workforce.

- The governance perspective helps customers orchestrate their cloud initiatives while maximizing organizational benefits and minimizing transformation-related risks.

- Platform perspective helps customers build an enterprise-grade, scalable, hybrid cloud platform, modernize existing workloads, and implement new cloud-native solutions.

- Security perspective helps customers achieve the confidentiality, integrity, and availability of their data and cloud workloads.

- The operations perspective helps ensure that cloud services are delivered at a level that meets the needs of the business.

To help on the digital transformation journey through CAF, AWS facilitates envision workshop to produce an Envisioning visual scenario that connects business goals and outcomes to enabling technologies, identifies key measures, and helps you prioritize your cloud initiatives. Further, they conduct an alignment workshop within two weeks of the Envisioning workshop to produce an executable action plan that helps you mature your foundational capabilities and improve your cloud readiness. You can learn more about the AWS CAF framework by visiting their page - https://aws.amazon.com/professional-services/CAF/. Each organization's cloud journey is unique. To succeed in their transformations, customers must envision their desired target state, understand their cloud readiness, and adopt an agile approach to closing the gaps. However, now driving digital transformation through cloud adoption is not new, and it's already been implemented by several organizations. So you don't need to reinvent the when and take advantage of the learning offered by AWS.

Summary

In this chapter, you learned about various clouds computing models such as IaaS, PaaS, and SaaS. You dove deep into each model to understand their value proposition and how they can fit into your IT workload need. You then pivoted to understand how you can use to implement a digital transformation program and how to migrate to the cloud. You learned that not all cloud migration programs are created equal and that some companies use their migration to the cloud to implement further change in their organization. You also learned about cloud migration strategy and how AWS 7 R’s migration strategy helped you build a migration and modernization plan.Since processes will have to be retested anyway, why not take advantage of this change and implement ways to improve the company's processes and business workflows?You also covered the drivers for a digital transformation and visited some examples of successful digital transformation. You saw some useful tips to ensure the success of your digital transformation and some pitfalls that should be avoided so that your transformation does not fail. You further learned how AWS Cloud Adoption Framework (CAF) could help you to accelerate and succussed in your digital transformation journey. In the next chapter, you will learn how you can use AWS global infrastructure to create business solutions that can help you with your digital transformation initiatives. You will go more into technology and learn about networking in AWS, a foundational pillar to starting your AWS technical journey.

Join our book community on Discord
https://packt.link/AWS4SAs

Table of Contents

AWS for Solutions Architects, Second Edition: Design your cloud infrastructure by implementing DevOps, containers, and Amazon Web Services

1 Understanding AWS Cloud Principles and Key Characteristics

- What is cloud computing?

- Cloud elasticity
- Cloud virtualization
- Definition of the cloud

- Private versus public clouds

- What is AWS cloud computing?

- The market share, influence, and adoption of AWS

- Basic cloud and AWS terminology

- Why is cloud computing so popular?

- Elasticity
- Security
- Availability
- Faster hardware cycles
- System administration staff

- The Six pillars of a well-architected framework

- The first pillar – Security
- The second pillar – Reliability
- Third pillar – performance efficiency
- Fourth pillar – cost optimization
- Fifth pillar – operational excellence
- Sixth pillar – sustainability

- AWS Well-Architected Lenses

- Building credibility and getting certified

- Building AWS Cloud Career for non-tech

- AWS Certified Cloud Practitioner – Foundational

- AWS Solutions Architect Path

- AWS Certified Solutions Architect – Associate

- AWS Certified Solutions Architect – Professional

- AWS Cloud DevOps Engineer Path

- AWS Certified SysOps Administrator – Associate

- AWS Certified DevOps Engineer – Professional

- AWS Cloud Developer Path
- AWS Certified Developer – Associate
- AWS Specialty Solutions Architect Path

- AWS Certified Advanced Networking – Specialty

- AWS Certified Security – Specialty
- AWS Certified Machine Learning – Specialty
- AWS Certified Database – Specialty
- AWS Certified Data Analytics – Specialty
- AWS Certified SAP – Specialty

- Learning tips and tricks to obtain AWS certifications

- Focus on one cloud provider
- Getting Started in AWS
- Focus on the Associate-level certifications
- Get experience wherever you can

- Some frequently asked questions about the AWS certifications

- What is the best way to get certified?

- How long will it take to get certified?

- What are some last-minute tips for the days of the exam?

- Summary

- Join our book community on Discord

2 Leveraging the Cloud for Digital Transformation

- A brief introduction to cloud computing

- Cloud computing models

- Understanding IaaS

- Advantages of IaaS
- Disadvantages of IaaS
- Use cases for IaaS
- Examples of AWS IaaS services

- Understanding PaaS

- Advantages of PaaS
- Disadvantages of PaaS
- PaaS use cases
- Examples of AWS PaaS services

- Understanding SaaS

- Characteristics of SaaS
- Advantages of SaaS
- Disadvantages of SaaS
- Examples of AWS SaaS solutions
- Examples of third-party SaaS solutions

- Selection by use case of SaaS, PaaS, or IaaS

- Cloud Migration Strategy

- The three-phase migration process

- Cloud migration patterns - The 7 R’s

- Rehost in the cloud
- Re-platform in the cloud
- Refactor in the cloud
- Revise before migrating to the cloud
- Repurchase in the cloud
- Relocate to the cloud
- Retain in on-premise
- Retire

- Migration assessment tools

- Implementing a digital transformation program

- What exactly is a digital transformation?
- Digital transformation definition
- Digital transformation drivers
- Digital transformation examples
- Digital transformation tips
- Digital transformation pitfalls
- AWS Cloud Adoption Framework (AWS CAF)

- Summary

- Join our book community on Discord