# AWS Cloud Practitioner Study Notes 2021

## What you need to know to successfully pass your certification.

By Esau Reyes

• Published on November 5, 2021

If you are studying for these certifications or you already have them but want to have digital notes of what you studied, here it is and you can come back as many times as you need.

To give you some context, this year I prepared myself to take two certifications (Cloud Practitioner & Solutions Architect Associate) without having strong experience in AWS, fortunately, I got them in my first attempt and in this post, I share the notes I used to study and pass my exam.

Something that motivated me to write this post is that as time goes by I realize that the services or concepts that you don't use in your daily life are easily forgotten, so I want to have my digital notes to go back to them whenever I need them and you can do it too.

These notes were taken from the free course: [AWS Cloud Practitioner Essentials](https://www.aws.training/Details/eLearning?id=60697) from the training and certification AWS portal.

### Module 1: Introduction to AWS

Cloud Computing: The on-demand delivery of IT resources over the internet with pay-as-you-go pricing.

**Cloud Computing Deployment Models:**

1. **Cloud-Based**  
   - Run all parts of the application in the cloud.  
   - Migrate existing applications to the cloud.  
   - Design and build new applications in the cloud.

2. **On-Premise** (Also known as private cloud deployment)  
   - Deploy resources by using virtualization and resource management tools.  
   - Increase resources utilization by using application management and virtualization technologies.

3. **Hybrid**  
   - Connect cloud-based resources to on-premises infrastructures.  
   - Integrate cloud-based resources with legacy IT applications

**Benefits of Cloud Computing**

- How does the scale of cloud computing help you to save costs? R: The aggregated cloud usage from a large number of customers results in lower pay-as-you-go prices.

### Module 2: Compute in the Cloud

- **Multitenancy:** Sharing underlying hardware between virtual machines.
- **Vertical Scaling:** Increase memory and CPU.
- **CaaS:** Compute as a Service.

1. EC2 (Elastic Cloud Computing): Provides secure, resizable compute capacity in the cloud as Amazon EC2 instances. Instance types are optimal for different tasks.
   - **General Purpose:** Provide a balance of compute, memory and networking resources. You can use them for a variety of workloads, such as:
     - Application Servers.
     - Gaming Servers.
     - Backend Servers for enterprise applications.
     - Small and medium databases.
   - **Compute Optimized:**
     - High-performance web servers.
     - Compute-intensive applications servers.
     - Dedicated gaming servers.
     - Batch processing workloads.
   - **Memory-Optimized:** Are designed to deliver fast performance for workloads that process large datasets in memory.
   - **Accelerated Computing:** Use hardware accelerators, or coprocessors to perform some functions more efficiently than is possible in software running on CPUs.
   - **Storage Optimized:** Are designed for workloads that require high, sequential read and write access to large datasets on local storage.

IOPS: (Input/Output operations per second) is a metric that measures the performance of a storage device.

**EC2 Pricing**
- **On-Demand:** Are ideal for short-term, irregular workloads that cannot be interrupted. The instance runs continuously until you stop them, and you pay for only the compute time you use.
- **Saving plans:** Enable you to reduce your compute costs by committing to a consistent amount of compute usage for a 1-year or 3-year term.
- **Reserved Instances:** Are billed discounts applied to the use of On-Demand instances in your account.
- **Spot Instances:** Are ideal for workloads with flexible start and end times, or that can withstand interruptions.
- **Dedicated Hosts:** Are physical servers with Amazon EC2 instances capacity that is fully dedicated to your use.

#### Scaling Amazon EC2

Auto-scaling enables you to automatically add or remove Amazon EC2 instances in response to changing application demand. You can use two approaches:
- **Dynamic Scaling:** Responds to changing demand.
- **Predictive Scaling:** Automatically schedules the right number of EC2 instances based on predicted demand.

2. **Elastic Load Balancing (ELB):** Is the service that automatically distributes incoming application traffic across multiple resources, such as EC2 instances.

3. **Messaging and Queuing:** Two different services that facilitate application integration: Amazon Simple Notification Service (SNS) and Amazon Simple Queue Service (SQS).
   - **Amazon Simple Notification Service (SNS):** A publish/subscribe service.
   - **Amazon Simple Queue Service (SQS):** A message queuing service.

4. **AWS Lambda:** Is a service that lets you run code without needing to provision or manage servers.
   - Auto-scalable
   - Runs up to 14 min 59 secs.

5. **Amazon Elastic Container Service (ECS):** Is a highly scalable, high-performance container management system that enables you to run and scale containerized applications on AWS.

6. **Amazon Elastic Kubernetes Service (EKS):** Is a fully managed service that you can use to run Kubernetes on AWS.

7. **AWS Fargate:** Is a serverless compute engine for containers.

8. **Amazon Lightsail:** Designed to be the easiest way to launch and manage a virtual private server.

9. **AWS Batch:** Dynamically provisions the optimal quantity and type of compute resources based on the volume of batch jobs submitted.

10. **AWS Elastic Beanstalk:** An easy-to-use service for deploying and scaling web applications.

11. **AWS Serverless Application Repository:** Enables you to quickly deploy code samples components, and complete applications for common use cases.

12. **AWS Outposts:** Bring native AWS services to on-premises facilities.

13.  **VMWare Cloud on AWS.**

### Module 3: Global Infrastructure and Reliability

1. Compliance with data governance and legal requirements.
2. Proximity to your customers.
3. Available services within a Region.
4. Pricing.

- **Availability Zones** is a single data centre or a group of data centres within a region.
- **Edge Locations:** A site that Amazon-CloudFront uses to store cached copies of your content to your customer for faster delivery.

### Module 4: Networking

1. **Amazon Virtual Private Network (VPC):** Enables you to provision an isolated section of the AWS Cloud.
2. **Internet Gateway:** Is a connection between a VPC and the internet.
3. **Virtual Private Gateway:** Enables you to establish a virtual private network (VPN) connection between your VPC and a private network.
4. **AWS Direct Connect:** Allows you to establish a dedicated private connection between your data centre and a VPC.

- **Subnets and Network Access Control Lists**

### Module 5: Storage and Databases

1. **Instance Stores and Amazon Elastic Block Storage (EBS)**
   - **An instance store** : provides temporary block-level storage.
   - **Amazon Elastic Block Storage (EBS):** provides block-level storage volumes

4. **Amazon Simple Storage Service (S3)**
   - S3 provides object-level storage, offers unlimited storage space.

5. **Amazon Relational Database Service (RDS)**
   - RDS enables you to run relational databases in the AWS Cloud.

6. **Amazon DynamoDB**
   - Non-relational databases that deliver single-digit millisecond performance at any scale.

7. **Amazon Redshift**
   - Data Warehousing that you can use for big data analytics.

8. **AWS Database Migration Service**
   - Enables you to migrate relational databases, non-relational databases, and other types of data stores.

9. **Additional database services**
   - **Amazon DocumentDB:** A document database that supports MongoDB workloads.
   - **Amazon Neptune:** A graph database service.
   - **Amazon Quantum Ledger Database (QLDB):** Used to review a complete history of all changes.
   - **Amazon Managed Blockchain:** Used to create and manage blockchain networks.
   - **Amazon Elasticache:** Adds caching layers on top of your databases.
   - **DynamoDB Accelerator (DAX):** An in-memory cache for DynamoDB.

### Module 6: Security

- **Shared Responsibility Model.**
- **User permissions and access.**

1. AWS Identity and Access Management (IAM)
2. Root user:  has access to all AWS services and resources in the account.
3. IAM users: identity that represents the person or application interacting with AWS.
4. IAM policies: a document that allows or denies permissions to AWS services.
5. IAM group: a collection of IAM users.
6. IAM roles: an identity that can be assumed to gain temporary access to permissions.

- AWS Organizations

### Module 7: Monitoring and Analytics

- **Amazon CloudWatch**  
- **AWS CloudTrail**

### Module 8: Pricing and Support

- **AWS Free Tier**
- **AWS Pricing Concepts**
- **AWS Billing Dashboard**
- **AWS Budgets**
- **AWS Cost Explorer**

### Module 9: Migration and Innovation  
By organizing guidance into six areas of focus, called perspectives:

### Module 10: The Cloud Journey

- AWS Well-Architected Framework helps measure your architecture against best practices.
