Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 1

AWS Cloud Characteristics: Relating Theory to Practice

Recommended resources

Welcome to your first lesson in the AWS Cloud Practitioner course. Over the next few months, we will systematically cover the core concepts, services, and best practices required to master the fundamentals of the AWS cloud and prepare you for the certification exam.

This initial module focuses on the foundational principles of cloud computing. In this lesson, we will start by defining what "the cloud" actually is by exploring its five essential characteristics. The goal is to move beyond abstract definitions and connect these concepts directly to the AWS services you've already used, such as AWS Lambda and SQS. By the end of this lesson, you will be able to relate the principles of on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service to your practical experience building event-driven systems.

What is Cloud Computing?

Before we dive into the characteristics, let's establish a formal definition. At its core, cloud computing is about replacing upfront capital infrastructure expenses with flexible, variable costs. Instead of buying, owning, and maintaining your own data centers and servers, you can access technology services from a cloud provider like Amazon Web Services (AWS) on an as-needed basis.

For a concise, official definition, please start by reading the introduction from the "Overview of Amazon Web Services" whitepaper.

Overview of Amazon Web Services

This document provides a foundational definition of cloud computing from AWS's perspective.

Please read the introductory section and the definition of cloud computing. Focus on the shift from capital expense to variable cost and the concept of on-demand delivery. You can find this in the first two sections on page 1, starting from the introduction and continuing through the section titled "What is Cloud Computing?" ending just before the "Six Advantages of Cloud Computing", specifically the definition.

As the reading highlights, cloud computing is the "on-demand delivery of IT resources through a cloud services platform via the Internet with pay-as-you-go pricing." This definition is built upon five essential characteristics, as standardized by the U.S. National Institute of Standards and Technology (NIST).


The Five Essential Characteristics of Cloud Computing

These five characteristics are the pillars that differentiate cloud computing from traditional IT. We will explore each one and, most importantly, connect it to the services you are familiar with.

This diagram shows the five key characteristics of cloud computing: On-Demand Self-Service, Broad Network Access, Resource Pooling, Rapid Elasticity, and Measured Service.

To get a quick overview of these five points, please refer to this article.

Amazon Web Services (AWS): A Complete Guide to Cloud ...

This article provides a clear, bulleted list of the five key characteristics.

Read the section Key Characteristics to familiarise yourself with the five terms we're about to discuss in detail.

Now, let's analyze each characteristic and see how your experience with services like AWS Lambda and SQS fits into this model.

1. On-Demand Self-Service

This means you can provision computing resources—such as server time or network storage—as you need them, automatically, without requiring human interaction with the service provider.

You have practiced this every time you configured a Lambda function or set up an SQS queue. Whether you used the AWS Management Console, the AWS CLI, or a CloudFormation template, you provisioned and configured these resources yourself. There was no need to submit a purchase order, call a sales representative, or wait for a technician to rack a server. You had direct, self-service access to the resources you needed, exactly when you needed them.

2. Broad Network Access

Resources are available over the network and can be accessed through standard mechanisms (like web browsers or APIs) by a wide range of client platforms (e.g., mobile phones, laptops, and other servers).

Your entire experience with AWS demonstrates this. You access the AWS Management Console through your web browser. Your applications interact with AWS services like S3, SQS, and Lambda via API calls over the internet. The REST APIs you've built are accessible to other services over the network. This universal accessibility is a fundamental tenet of the cloud.

3. Resource Pooling

The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model. Different physical and virtual resources are dynamically assigned and reassigned according to consumer demand. This means you generally have no direct control or knowledge over the exact physical location of the provided resources.

This is a subtle but powerful concept. When you create an SQS queue, you don't select a specific physical server for it to run on. Instead, AWS allocates capacity from a massive, shared pool of infrastructure that serves thousands of other customers. The same is true for AWS Lambda; your code runs on a shared fleet of compute resources managed entirely by AWS. This pooling is what allows AWS to achieve massive economies of scale, which in turn leads to lower pay-as-you-go prices.

4. Rapid Elasticity

This is the ability to scale computing resources up or down quickly and, in some cases, automatically, to meet changing demand. From a consumer's perspective, the available resources can seem unlimited and can be provisioned in any quantity at any time.

Your background in building high-throughput, event-driven pipelines gives you a perfect frame of reference here. Consider the common pattern of using SQS to buffer messages for a Lambda function.

This diagram illustrates an event-driven architecture where an SQS queue feeds messages to AWS Lambda, which automatically scales the number of concurrent functions to process the load. This is a classic example of rapid elasticity.

If your system suddenly receives a burst of 10,000 messages, SQS holds them in the queue. AWS Lambda detects the growing backlog and automatically scales out, potentially running hundreds of concurrent instances of your function to process the messages in parallel. Once the queue is empty, Lambda scales back down to zero. You didn't have to provision extra servers in advance to handle the peak load, nor did you have to de-provision them afterwards to save money. The system expanded and contracted elastically based on demand.

The following video provides an excellent explanation of how the elastic nature of SQS is one of its core benefits.

AWS SQS Overview For Beginners

This video from the "Be A Better Dev" channel dives into the specifics of SQS, highlighting its scalable and elastic properties.

Pay close attention to these segments: Elastically scalable: The initial mention of how SQS can handle high volumes concurrently. Back pressure control: This explains how consumers can process messages at their own pace, a key benefit of elastic, decoupled systems. With SQS example: This section visually demonstrates how a queue allows a consumer (like a Lambda function) to recover from downtime and process a backlog, showcasing the resilience that elasticity provides.

5. Measured Service

Cloud systems automatically control and optimize resource use by leveraging a metering capability. Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and the consumer. This is the foundation of the "pay-as-you-go" pricing model.

This is directly reflected in how you are billed for AWS services.

  • AWS Lambda: You pay for the number of requests for your functions and for the duration (in milliseconds) that your code executes.
  • Amazon SQS: You pay based on the number of requests made to the queue.
  • Amazon S3: You pay for the amount of data you store and the number of requests made to access that data.

You don't pay a flat fee for a server that might sit idle most of the day. Your costs are tied directly to your consumption. This measured service model is what enables the financial benefits of the cloud, such as trading capital expense for variable expense.

The following video provides a great summary of these concepts and directly connects them to services like Lambda and SQS.

AWS Cloud Practitioner Crash Course in 1 HOUR!!! AWS Certified, AWS Cloud Practitioner

This crash course from "KnowledgeCatch" provides a rapid overview of key AWS services, clearly explaining how they work in a serverless, event-driven context.

Please watch the sections covering AWS Lambda and Amazon SQS: AWS Lambda: Note how it's described as a serverless service where you pay only for compute time and how it automatically scales, touching on measured service and elasticity. Amazon SQS: This part describes SQS as a service for decoupling applications that is highly scalable and integrates with Lambda, reinforcing the concepts we've discussed.


Conclusion

In this lesson, we established a foundational vocabulary for discussing cloud computing. We moved beyond simple definitions by connecting the five essential characteristics of the cloud directly to your hands-on experience with AWS.

Here are the key takeaways:

  • On-Demand Self-Service: You provision resources yourself through a console or API.
  • Broad Network Access: You access these resources over the internet.
  • Resource Pooling: You share a large pool of underlying hardware with other customers, enabling economies of scale.
  • Rapid Elasticity: Your applications can automatically scale up and down to meet demand, as seen with Lambda processing messages from an SQS queue.
  • Measured Service: You pay only for what you use, with AWS metering your consumption of services like Lambda and SQS.

Understanding these characteristics is the first step toward mastering the AWS cloud. They are the "why" behind the specific services and architectural patterns you will encounter.

In our next lesson, we will build upon this foundation by exploring the different service models of cloud computing: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). We will analyze where different AWS services fit within these categories and how to choose the right model for a given scenario.