# Domain 3: Technology

## <mark style="color:red;">**Deploying & Operating in the AWS Cloud**</mark>

### <mark style="color:yellow;">**Ways to Provision and Operate in AWS**</mark>

#### <mark style="color:purple;">**Programmatic Access:**</mark>

* <mark style="color:orange;">**APIs:**</mark> Set of routines and tools for building AWS software.
* <mark style="color:orange;">**SDKs:**</mark> Collection of software tools and libraries specific to various programming languages.

#### <mark style="color:purple;">**AWS Management Console:**</mark>

* Web-based interface for AWS management.
* Features drag-and-drop capabilities to deploy AWS resources.

#### <mark style="color:purple;">**CLI:**</mark>

* Allows direct command line instructions for AWS resources.
* Ideal for scripting and automations.

#### <mark style="color:purple;">**Infrastructure as Code (IaC):**</mark>

* Use scripts to provision and manage AWS resources.
* Tools like AWS CloudFormation and terraform allow for IaC.

| **Deployment Models**          | **Description**                                                   |
| ------------------------------ | ----------------------------------------------------------------- |
| All in with Cloud/Cloud Native | Fully utilizing cloud services without on-premises resources.     |
| Hybrid                         | Mixture of on-premises resources with cloud services.             |
| On-Premises                    | Traditional infrastructure without significant cloud interaction. |

### <mark style="color:yellow;">**Connectivity Options**</mark>

* <mark style="color:orange;">**VPN:**</mark> Securely connect your on-premises network to the AWS cloud.
* <mark style="color:orange;">**AWS Direct Connect:**</mark> Establish a dedicated network connection from your premises to AWS.
* <mark style="color:orange;">**Public Internet:**</mark> General connectivity method but less secure.

***

## <mark style="color:red;">**AWS Global Infrastructure**</mark>

### <mark style="color:yellow;">**Relationship Among Regions, Availability Zones, and Edge Locations**</mark>

* <mark style="color:orange;">**Regions:**</mark> Separate geographic areas to ensure data redundancy and compliance.
* <mark style="color:orange;">**Availability Zones:**</mark> Physically isolated data centers within a region.
* <mark style="color:orange;">**Edge Locations:**</mark> Multiple distributed locations globally, primarily used by CloudFront (CDN) to cache content close to end-users.

<figure><img src="https://4247064012-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFLaJdzZGSq1DpczuSySw%2Fuploads%2FFb4fwLHE9qftSorfdqLw%2Fimage.png?alt=media&#x26;token=4ee55022-4cf8-4302-a31c-95fde0bdc79c" alt=""><figcaption></figcaption></figure>

#### <mark style="color:purple;">How many Availability Zones does a typical AWS Region have?</mark>

> a) 1\
> b) 2-3\
> c) 5-6\
> d) 10

{% hint style="success" %}
b) 2-3
{% endhint %}

### <mark style="color:yellow;">**Achieving High Availability**</mark>

* <mark style="color:orange;">**Disaster Recovery/Business Continuity:**</mark> A strategic advantage of utilizing multiple regions.
* Use of multiple Availability Zones to ensure fault tolerance and minimize downtime.
* Some countries or industries require data to be stored in specific geographies.

### <mark style="color:yellow;">**Benefits of Edge Locations**</mark>

* <mark style="color:orange;">**Amazon CloudFront:**</mark> A content delivery network to distribute content globally with low latency.
* <mark style="color:orange;">**AWS Global Accelerator:**</mark> Boosts the availability and performance of applications.

***

## <mark style="color:red;">**Core AWS Services**</mark>

### <mark style="color:yellow;">**Categories of Services on AWS**</mark>

#### <mark style="color:purple;">AWS services can be classified into different categories based on their function:</mark>

1. <mark style="color:orange;">**Compute:**</mark> Services tailored for processing capabilities.
2. <mark style="color:orange;">**Storage:**</mark> Services related to data storage and retrieval.
3. <mark style="color:orange;">**Network:**</mark> Tools and services that relate to networking features.
4. <mark style="color:orange;">**Database:**</mark> Services for structured and unstructured data storage and management.

### <mark style="color:yellow;">**Compute Services**</mark>

#### <mark style="color:purple;">AWS offers several compute families tailored for different needs:</mark>

* <mark style="color:orange;">**General Purpose (e.g., t2, m5):**</mark> Balanced CPU, memory, and networking.
* <mark style="color:orange;">**Compute Optimized (e.g., c5):**</mark> For CPU-intensive workloads.
* <mark style="color:orange;">**Memory Optimized (e.g., r5, x1):**</mark> For memory-intensive applications.
* <mark style="color:orange;">**Accelerated Computing (e.g., p3, f1):**</mark> Leveraging hardware accelerators, or co-processors.

#### <mark style="color:purple;">**Services Providing Compute:**</mark>

* <mark style="color:orange;">**Amazon EC2 (Elastic Compute Cloud):**</mark> Provides resizable compute capacity. It's like having a virtual machine but in the AWS cloud.
* <mark style="color:orange;">**AWS Lambda:**</mark> A serverless compute service. You just provide the code and AWS runs it without you provisioning or managing servers.
* <mark style="color:orange;">**Amazon Elastic Container Service (ECS):**</mark> A fully managed container orchestration service.

#### <mark style="color:purple;">**Elasticity through Auto Scaling:**</mark>

* AWS Auto Scaling allows you to maintain application availability. It dynamically adjusts its capacity to maintain steady, predictable performance at the lowest possible cost.

#### <mark style="color:purple;">**Purpose of Load Balancers:**</mark>

* AWS offers Elastic Load Balancing with three types: Application Load Balancer, Network Load Balancer, and Classic Load Balancer.
* Distributes incoming application traffic across multiple targets, like EC2 instances, containers, and IP addresses, in one or more Availability Zones.

### <mark style="color:yellow;">**Storage Services**</mark>

* <mark style="color:orange;">**Amazon S3 (Simple Storage Service):**</mark> Object storage service offering scalability, data availability, security, and performance.
* <mark style="color:orange;">**Amazon EBS (Elastic Block Store):**</mark> Block storage service for EC2 instances. Allows persistent data storage.
* <mark style="color:orange;">**Amazon S3 Glacier & S3 Glacier Deep Archive:**</mark> Storage services optimized for infrequently accessed data, and long-term archiving with cost-efficiency.
* <mark style="color:orange;">**AWS Snowball:**</mark> A physical data transport solution, more secure and faster than internet-based transfer methods.
* <mark style="color:orange;">**Amazon EFS (Elastic File System):**</mark> Managed file storage for use with AWS Cloud services and on-premises resources.
* <mark style="color:orange;">**AWS Storage Gateway:**</mark> Hybrid cloud storage service that provides on-premises applications access to cloud storage.

### <mark style="color:yellow;">**Networking Services**</mark>

* <mark style="color:orange;">**VPC (Virtual Private Cloud):**</mark> Provides a private section of the AWS cloud where you can launch resources in a virtual network that you define.
* <mark style="color:orange;">**Security Groups:**</mark> Act as a virtual firewall to control inbound and outbound traffic to networked EC2 instances.
* <mark style="color:orange;">**Amazon Route 53:**</mark> A scalable domain name system (DNS) and domain name registration service.
* <mark style="color:orange;">**VPN (Virtual Private Network) & AWS Direct Connect:**</mark> Allow secure connection from on-premises sites to AWS. Direct Connect does so over a dedicated line for higher speed and consistency.

### <mark style="color:yellow;">**Database Services**</mark>

* <mark style="color:orange;">**Amazon EC2 vs. AWS Managed Databases:**</mark> While you can manually set up databases on an EC2 instance, AWS managed database services, like RDS and DynamoDB, offer easier management, backups, and scalability.
* <mark style="color:orange;">**Amazon RDS (Relational Database Service):**</mark> Managed relational database service with various database engines like MySQL, PostgreSQL, SQL Server, etc.
* <mark style="color:orange;">**Amazon DynamoDB:**</mark> Managed NoSQL database service known for single-digit millisecond performance.
* <mark style="color:orange;">**Amazon Redshift:**</mark> Fully managed petabyte-scale data warehouse service.

<figure><img src="https://4247064012-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFLaJdzZGSq1DpczuSySw%2Fuploads%2Fv7XRzhfXjDhAwuc1E6fX%2Fimage.png?alt=media&#x26;token=463c9556-bf06-464b-96a7-5f616c9dc2dc" alt=""><figcaption></figcaption></figure>

***

## <mark style="color:red;">**Resources for Technology Support**</mark>

* <mark style="color:orange;">**Documentation:**</mark> Comprehensive AWS documentation includes whitepapers, user guides, and reference material.
* <mark style="color:orange;">**Support Plans:**</mark> AWS offers a variety of support plans, from Basic to Enterprise.
* <mark style="color:orange;">**AWS Partner Network:**</mark> Extensive network of third-party vendors, solutions, and integrators.
* <mark style="color:orange;">**AWS Trusted Advisor:**</mark> Offers insights to reduce cost, increase performance, and ensure a secure environment.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://smadi0x86-blog.gitbook.io/smadi0x86-playground/certifications/aws-ccp/domain-3-technology.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
