Day - 43 of DevOps

Day - 43 of DevOps

Getting Started with AWS

Welcome to Day 43 of the #100DaysOfDevOps challenge! Today, we will dive into the basics of Amazon Web Services (AWS), Let's get started with AWS!

Amazon Web Services (AWS)

AWS (Amazon Web Services) is a cloud computing platform offered by Amazon. Amazon Web Services (AWS) is a leading cloud provider globally, offering a comprehensive suite of services and solutions to businesses and individuals. With a vast range of services, including computing, storage, networking, databases, AI, and more, AWS empowers organizations to build scalable, reliable, and secure applications and infrastructure in the cloud.

but first let’s understand why are we learning about AWS, and why is there a sudden need to know about cloud technologies.

Back in 2006–2007, companies were using their private servers to create services like storage, computing, etc. But now with internet speeds becoming better, companies big or small have started understanding the power of the cloud, therefore they are shifting their data to the cloud for improved performance so that they can focus on core competency.

For example,**Netflix** is a popular video streaming service that the whole world uses today, back in 2008 Netflix suffered a major database corruption, and for three days their operations were halted.

The problem was scaling, that is when they realized the need for highly reliable, horizontally scalable, distributed systems in the cloud. Came in AWS, and since then their growth has been off the charts.

Since every company has started to adopt cloud services in one way or the other, and AWS is a major player in the cloud services industry, it makes sense to learn about AWS Cloud services.

What is Cloud Computing?

Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data centers and servers, you can access technology services, such as computing power, storage, and databases, on an as-needed basis from a cloud provider like Amazon Web Services (AWS).

Types of cloud computing

SaaS vs. PaaS vs. IaaS: Must Know Differences

  • IaaS (Infrastructure as a Service)

IaaS contains the basic building blocks for cloud IT. It typically provides access to networking features, computers (virtual or on dedicated hardware), and data storage space.

IaaS gives you the highest level of flexibility and management control over your IT resources. It is most similar to the existing IT resources with which many IT departments and developers are familiar.

Examples: Amazon Web Services, Microsoft Azure, and Google Compute Engine

  • PaaS (Platform as a Service)

PaaS removes the need for you to manage underlying infrastructure (usually hardware and operating systems) and allows you to focus on the deployment and management of your applications.

This helps you be more efficient as you don’t need to worry about resource procurement, capacity planning, software maintenance, patching, or any of the other undifferentiated heavy lifting involved in running your application.

Examples: AWS Elastic Beanstalk, Google App Engine, and Adobe Commerce

  • SaaS (Software as a Service)

SaaS provides you with a complete product that is run and managed by the service provider. In most cases, people referring to SaaS are referring to end-user applications (such as web-based email).

With a SaaS offering, you don’t have to think about how the service is maintained or how the underlying infrastructure is managed. You only need to think about how you will use that particular software.

Examples: Gmail, Slack, and Microsoft Office 365

Benefits of cloud computing

Real-World Applications of Cloud Computing

Agility

The cloud gives you easy access to a broad range of technologies so that you can innovate faster and build nearly anything that you can imagine. You can quickly spin up resources as you need them–from infrastructure services, such as computing, storage, and databases, to the Internet of Things, machine learning, data lakes and analytics, and much more.

You can deploy technology services in a matter of minutes, and get from idea to implementation several orders of magnitude faster than before. This gives you the freedom to experiment, test new ideas to differentiate customer experiences, and transform your business.

Elasticity

With cloud computing, you don’t have to over-provision resources up front to handle peak levels of business activity in the future. Instead, you provision the amount of resources that you actually need. You can scale these resources up or down to instantly grow and shrink capacity as your business needs change.

Cost savings

The cloud allows you to trade fixed expenses (such as data centers and physical servers) for variable expenses, and only pay for IT as you consume it. Plus, the variable expenses are much lower than what you would pay to do it yourself because of the economies of scale.

Deploy globally in minutes

With the cloud, you can expand to new geographic regions and deploy globally in minutes. For example, AWS has infrastructure all over the world, so you can deploy your application in multiple physical locations with just a few clicks. Putting applications in closer proximity to end users reduces latency and improves their experience.

AWS Global Infrastructure

At the moment of writing this blog, The AWS Cloud spans 105 Availability Zones within 33 geographic regions around the world, with announced plans for 15 more Availability Zones and 5 more AWS Regions in Canada, Israel, Malaysia, New Zealand, and Thailand.

Amazon Web Services (AWS) has a global network of 450+ Points of Presence (PoPs), 400+ Edge Locations, and 13 Regional Edge Caches. These PoPs, Edge Locations, and Edge Caches are used to deliver content to end users with lower latency.

  • Points of Presence (PoPs) are distributed points of presence (PoPs) located in multiple cities around the world that are used to cache and deliver content to users with low latency.

  • Edge Locations are smaller, more focused deployments of infrastructure that are designed to be closer to end users. Edge Locations can be used to improve the performance of applications by reducing the distance that data has to travel.

  • Regional Edge Caches are larger, more centralized deployments of infrastructure that are designed to cache content for a specific region. Regional Edge Caches can be used to improve the performance of applications by reducing the load on the origin servers.

What are Regions?

A region is a geographic area that is served by a specific set of AWS infrastructure.

Each region has multiple Availability Zones, which are isolated from each other by distance and independent power and cooling. This helps to ensure that your applications are highly available even if there is a problem with one Availability Zone.

Each region is identified by a two-letter code, such as us-east-1 for the US East (N. Virginia) region.

AWS also offers several Local Zones, which are smaller, more focused deployments of infrastructure that are designed to be closer to end users.

What are Availability Zones?

An Availability Zone is an isolated data center within an AWS region that is designed to provide high availability and fault tolerance for applications and services.

High Availability: High availability refers to the ability of a system or application to remain operational and accessible for an extended period, typically measured in terms of uptime.

Fault Tolerance: Fault tolerance refers to the ability of a system or application to continue functioning properly, or at a degraded level, even in the presence of faults or failures.

In other words, an Availability Zone (AZ) is a distinct location within a region that is isolated from other AZs by distance and independent power and cooling. This helps to ensure that your applications are highly available even if there is a problem with one AZ.

As per the latest update, A region should have a minimum of 3 AZs and a maximum of 6 AZs

AWS Global Infrastructure Map

105 Availability Zones within 33 geographic regions, with announced plans for 18 more Availability Zones and six more AWS Regions in Malaysia, Mexico, New Zealand, the Kingdom of Saudi Arabia, Thailand, and the AWS European Sovereign Cloud.