Amazon Web Services for Cloud Practitioner Essentials

The Amazon Web Services Ecosystem

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Amazon Web Services for Cloud Practitioner Essentials por Mind Map: Amazon Web Services for Cloud Practitioner Essentials

1. Machine Learning

1.1. Machine Learning Overview

1.1.1. No PhD Required

1.2. Amazon Comprehend

1.2.1. ML and NDP on unstructured data

1.2.1.1. Analyze Unstructured Text

1.3. Amazon Fraud Detector

1.3.1. ML on Fraud Detection

1.3.1.1. Detect more online fraud faster using machine learning

1.4. Amazon Lex

1.4.1. Alexa Voice AI

1.4.1.1. Build Voice and Text Chatbots

1.5. Amazon Rekognition

1.5.1. Identify things in Images

1.5.1.1. Search and Analyze Images

1.5.2. Key Words: Detection Pictures

1.6. Amazon Transcribe

1.6.1. Speech to Text

1.6.1.1. Powerful Speech Recognition

1.7. Amazon SageMaker

1.7.1. A Service to Build, Train, and Deploy Machine Learning Models

1.7.1.1. Build, Train, and Deploy Machine Learning Models

1.7.1.1.1. Build and Train ML models

2. Management and Governance

2.1. Amazon CloudFormation

2.1.1. Create and Manage Resources with Templates

2.1.2. Key Words: Code Template, Infrastructure as Code

2.2. Amazon Config

2.2.1. AUDIT Resource Inventory and Changes

2.2.1.1. Discovery resources

2.2.1.1.1. AWS Config will discover resources that exist in your account, record their current configuration, and capture any changes to these configurations.

2.2.1.2. Change management

2.2.1.2.1. When your resources are created, updated, or deleted, AWS Config streams these configuration changes to Amazon SNS.

2.2.1.3. Continuous audit and compliance

2.2.1.3.1. AWS Config is used to assess compliance with your internal policies and regulatory standards by providing you visibility and evaluating resource configuration changes against your desired configurations.

2.2.1.4. Compliance-as-code framework

2.2.1.4.1. You can use AWS Config as your framework for creating and deploying governance and compliance rules across your AWS accounts and regions.

2.2.1.5. Troubleshooting operational issues

2.2.1.5.1. Using AWS Config, you can quickly troubleshoot operational issues by identifying the recent configuration changes to your resources.

2.2.1.6. Security analysis

2.2.1.6.1. Data from AWS Config enables you to continuously monitor the configurations of your resources and evaluate these configurations for potential security weaknesses.

2.2.2. Key Words: Audit Monitor Resource

2.3. Amazon Organizations

2.3.1. Billing boundary for deployed resources

2.3.1.1. Central governance and management across AWS accounts.

2.3.2. Key Words: Account Strategy, Aggregate Billing

2.4. Amazon Trusted Advisor

2.4.1. Best Practice Advisor

2.4.1.1. AWS Trusted Advisor provides recommendations that help you follow AWS best practices.

2.4.2. Key Words: Recommendations, Best Practices

2.4.2.1. Performance

2.4.2.2. Cost Optimization

2.4.2.3. Security

2.4.2.4. Fault Tolerance

2.4.2.5. Serive Limits

2.5. Amazon Well-Architected Tool

2.5.1. Best practices to measure, and improve your workloads

3. Observability

3.1. Amazon CloudWatch (MONITOR)

3.1.1. Non Technical

3.1.1.1. MONITOR Resources and Applications

3.1.1.1.1. Monitor and troubleshoot infrastructure

3.1.1.1.2. Improve mean time to resolution

3.1.1.1.3. Optimize resources proactively

3.1.1.1.4. Monitor applications

3.1.1.1.5. Use observability analytics

3.1.2. More Technical

3.1.2.1. Amazon CloudWatch is a monitoring and observability service built for DevOps engineers, developers, site reliability engineers (SREs), and IT managers.

3.1.3. Use Cases

3.1.3.1. Application Monitoring

3.1.3.1.1. This includes things like error rates, request times, resource utilization, and more.

3.1.3.1.2. As an application developer, you can use CloudWatch to collect and track metrics for your applications, so you can keep a close eye on their performance.

3.1.3.2. Automated Actions

3.1.3.2.1. With CloudWatch, you can set alarms and automate responses based on your monitoring data.

3.1.3.2.2. For example, you could set an alarm that triggers a Lambda function to scale up your application if CPU usage exceeds a certain threshold.

3.2. Amazon CloudTrail (AUDIT)

3.2.1. More Technical

3.2.1.1. LOG User Activity and API Usage

3.2.1.1.1. Audit activity

3.2.1.1.2. Identify security incidents

3.2.1.1.3. Troubleshoot operational issues

3.2.2. Key Words: Logs, Governance, Compliance, Risk Auditing, Audit

3.2.3. Use Cases

3.2.3.1. Security Analysis and Troubleshooting

3.2.3.1.1. If something goes wrong, you can use CloudTrail logs to identify what actions were taken and by whom, helping in troubleshooting and identifying potential security issues.

3.2.3.1.2. As an application developer, you can use CloudTrail to track and analyze actions taken in your AWS account.

3.2.3.2. Compliance Auditing

3.2.3.2.1. If your application needs to comply with regulatory standards, CloudTrail can provide a history of activity in your AWS account, including actions taken.

3.2.3.2.2. This helps demonstrate to auditors that you have visibility and control over your environment.

3.2.3.3. Operational Auditing

3.2.3.3.1. You can use CloudTrail to monitor the most recent actions taken in your AWS environment, such as launching an instance, creating a bucket, or modifying a security group.

3.2.3.3.2. This can be particularly useful in larger development teams to track changes and maintain operational awareness.

4. Migration and Transfer

4.1. Amazon Database Migration Service

4.1.1. Managed Database Migration Service

4.1.1.1. AWS Database Migration Service helps you migrate databases to AWS quickly and securely.

4.1.2. Features

4.1.2.1. AWS Schema Conversion Tool

4.1.2.1.1. It automatically converts the source database schema and a majority of the database code objects to a format compatible with the target database.

4.1.3. Key Words: Database Migration

4.2. Amazon Snow Family

4.2.1. Large Scale Data Transport

4.2.1.1. AWS Snowcone

4.2.1.1.1. 8 Terabytes

4.2.1.2. AWS Snowball

4.2.1.2.1. Snowball Edge Compute Optimized

4.2.1.2.2. Snowball Edge Storage Optimized

4.2.1.3. AWS Snowmobile

4.2.1.3.1. 100 PetaByte

5. Networking and Content Delivery

5.1. Overview

5.1.1. Fundamentals

5.2. Amazon CloudFront

5.2.1. Content Delivery Network (CDN)

5.2.1.1. Global Content Delivery Network

5.2.1.1.1. Features

5.2.1.1.2. Like I am 5

5.2.2. Key Words: Edge Locations, Content Delivery Network

5.3. Amazon Direct Connect

5.3.1. Dedicated Network Connection to AWS

5.3.1.1. AWS Direct Connect is like a dedicated PRIVATE ROAD that connects your on-premises data center to the AWS cloud.

5.3.1.2. It's like a highway that only you and AWS can use, ensuring that your data stays secure and your connection is fast and reliable.

5.3.2. Key Words: Private, Dedicated Link, Secure

5.4. Amazon Elastic Load Balancing

5.4.1. Good Parts

5.4.1.1. ALBs are proper reverse proxies that sit between the internet and your application.

5.4.1.2. NLBs behave like load balancers, but they work by routing network packets rather than by proxying HTTP requests.

5.4.2. Distributes incoming application traffic across multiple targets in a SINGLE Region

5.4.2.1. Modernize applications with serverless and containers

5.4.2.2. Improve hybrid cloud network scalability

5.4.2.3. Retain your existing network appliances

5.4.3. Types

5.4.3.1. Application Load Balancer (ALB) - Layer 7 - HTTP/HTTPS

5.4.3.1.1. Content Based Routing

5.4.3.1.2. Health Checks

5.4.3.1.3. Sticky Sessions

5.4.3.1.4. Load Balancing Algorithms

5.4.3.2. Network Load Balancer (NLB) - Layer 4 - TCP/SSL

5.4.3.2.1. Zonal Isolation

5.4.3.2.2. Health Checks

5.4.3.2.3. Sticky Sessions

5.4.3.2.4. Long Lived TCP Connections

5.4.3.3. Gateway Load Balancer (GLB)

5.4.3.3.1. GLB to deploy, scale, and manage virtual appliances, such as firewalls, IDS and IDP, and deep packet inspection systems.

5.4.4. Like I am 5

5.4.4.1. AWS ELB (Elastic Load Balancing) is like a traffic cop that helps distribute traffic between different servers or instances in a way that ensures they are not overloaded.

5.4.4.2. It's like a busy intersection where the traffic light regulates the flow of vehicles, so that no road gets too congested.

5.5. Amazon Route 53

5.5.1. Domain Name Service

5.5.1.1. Internet Phone Book

5.5.1.1.1. DNS and Domain Name Registration

5.5.1.2. Concepts

5.5.1.2.1. Alias Record

5.5.1.3. Records

5.5.1.3.1. A record

5.5.1.3.2. CNAME record

5.5.1.4. Like I am 5

5.5.1.4.1. AWS Route 53 is like a phone book for the internet that helps users find your website or application.

5.5.1.4.2. It's like a directory that translates domain names, like www.example.com, into IP addresses, which computers use to communicate with each other.

5.5.2. Key Words: DNS

5.6. Amazon Virtual Private Cloud (VPC)

5.6.1. Private Overlay Network

5.6.1.1. Virtual Private Isolated Network

5.6.1.1.1. Launch a simple website or blog

5.6.1.1.2. Host multi-tier web applications

5.6.1.1.3. Create hybrid connections

5.6.1.1.4. Like I am 5

5.6.2. Key Words: Logically Isolated Sections

5.6.2.1. Public Subnet

5.6.2.1.1. Internet Gateway

5.6.2.2. Private Subnet

5.6.2.2.1. NAT Gateway/Instance

5.6.3. Security

5.6.3.1. Key Words: Firewall

5.6.3.1.1. Security Group

5.6.3.1.2. Network Access Control List

5.7. AWS Virtual Private Network (VPN)

5.7.1. Virtual Private Network to AWS

5.7.1.1. AWS Site-to-Site VPN

5.7.1.2. AWS Client VPN

5.7.1.3. Like I am 5

5.7.1.3.1. AWS VPN is like a secure tunnel that allows you to connect to your AWS resources from anywhere, as if you were on a private network.

5.7.1.3.2. It's like a private road that only authorized vehicles can use, ensuring that your data and resources are protected and secure.

5.8. AWS PrivateLink

5.8.1. Direct Connect on AWS

5.8.1.1. AWS PrivateLink is like a secret tunnel that connects your VPC to AWS services, so you can securely access them without going over the public internet.

5.8.1.2. It's like a private road that only authorized vehicles can use, keeping your data and applications safe and secure.

6. Security, Identity, and Compliance

6.1. Overview

6.1.1. Security

6.1.2. Responsibility

6.1.2.1. Client

6.1.2.1.1. Security IN the Cloud

6.1.2.2. AWS

6.1.2.2.1. Security OF the Cloud

6.2. Compliance

6.2.1. Amazon Artifact (Compliance Reporting)

6.2.1.1. Compliance Reporting

6.2.1.1.1. AWS Compliance Reports and Agreements

6.2.1.1.2. Audit Reports

6.2.1.1.3. Security Reports

6.2.1.1.4. Compliance Reports

6.2.1.2. Key Words: Online Service Agreements

6.3. Detection and Investigation

6.3.1. Amazon GuardDuty (Threat Detection)

6.3.1.1. More Technical

6.3.1.1.1. Amazon GuardDuty is a threat detection service that continuously monitors for malicious or unauthorized behavior to help protect your AWS accounts and workloads

6.3.1.2. Infographic

6.3.1.2.1. Threat Detection System

6.3.1.3. Use Cases

6.3.1.3.1. Intrusion Detection

6.3.1.3.2. Account Compromise Detection

6.3.1.3.3. Threat Intelligence

6.3.2. Amazon Macie (Data Privacy Service)

6.3.2.1. Infographic

6.3.2.1.1. Data Security and Privacy Service

6.3.2.2. More Technical

6.3.2.2.1. Amazon Macie is a fully managed data security and data privacy service that uses machine learning and pattern matching to discover and protect sensitive data in AWS.

6.3.2.3. Key Words: Personal Identifiable Information (PII), Continuous Scanning, Fully Managed

6.3.2.4. Use Cases

6.3.2.4.1. Sensitive Data Discovery

6.3.2.4.2. Data Security and Compliance

6.3.2.4.3. Security Analytics

6.3.3. Amazon Inspector (Vulnerability Scanner)

6.3.3.1. Non Technical

6.3.3.1.1. Vulnerability Scanner

6.3.3.2. More Technical

6.3.3.2.1. Amazon Inspector is an automated security assessment service that helps improve the security and compliance of applications deployed on AWS.

6.3.3.3. Key Words: Evaluate, Security Assesment, EC2

6.3.3.4. Use Cases

6.3.3.4.1. Security Assessment

6.3.3.4.2. Continuous Monitoring

6.3.3.4.3. Compliance Auditing

6.3.4. Amazon Detective (Security Analysis)

6.3.4.1. Investigate and analyze potential security issues

6.3.4.1.1. Amazon Detective makes it easy to analyze, investigate, and quickly identify the root cause of potential security issues or suspicious activities.

6.3.4.2. Key Words: Security Investigation

6.3.5. Amazon Security Hub (Security Posture)

6.3.5.1. Continuous Security Posture Service

6.4. Encryption and Secrets

6.4.1. Amazon Key Management Service (KMS)

6.4.1.1. Infographic

6.4.1.1.1. AWS self managed Key Management Service

6.4.1.2. More Technical

6.4.1.2.1. Amazon Key Management Service (KMS) is a managed service that makes it easy for you to create and control the cryptographic keys used to encrypt your data.

6.4.1.3. Key Words: Encryption, Encryption Keys

6.4.1.4. Use Cases

6.4.1.4.1. Data Encryption

6.4.1.4.2. Key Rotation

6.4.1.4.3. Secure Application Secrets

6.5. Identity, and Access

6.5.1. Amazon Cognito (CIAM)

6.5.1.1. Infographic

6.5.1.1.1. Consumer Identity Management and AWS Credentials for Federated Identities

6.5.2. Amazon Identity and Access Management (IAM)

6.5.2.1. Manage access to AWS resources

6.5.2.2. Key Words: Roles, Permissions

6.5.2.3. Components

6.5.2.3.1. Users

6.5.2.3.2. Groups

6.5.2.3.3. Roles

6.5.2.3.4. Permissions

6.6. Network

6.6.1. Amazon Web Application Firewall (WAF)

6.6.1.1. Web Application Firewall to monitor HTTP and HTTPS requests

6.6.1.1.1. Amazon CloudFront distribution

6.6.1.1.2. Amazon API Gateway REST API

6.6.1.1.3. Application Load Balancer

6.6.1.1.4. AWS AppSync GraphQL API

6.6.1.1.5. Amazon Cognito user pool

6.6.1.2. Features

6.6.1.2.1. Web Access Control List

6.6.2. Amazon Shield

6.6.2.1. Managed Distributed Denial of Service (DDoS) service

6.6.2.1.1. AWS Shield Standard

6.6.2.1.2. AWS Shield Advanced

6.6.2.2. Key Words: DDOS Attacks

7. Storage

7.1. Amazon Elastic Block Store (EBS)

7.1.1. Block

7.1.1.1. iSCSI

7.1.1.1.1. SAN

7.1.2. Key Words: Virtual Hard Disk, Volume from Snapshot

7.1.3. More Technical

7.1.3.1. Amazon Elastic Block Store (EBS) provides persistent block-level storage volumes for use with Amazon EC2 instances.

7.1.4. Use Cases

7.1.4.1. Hosting Databases

7.1.4.1.1. They provide the high IOPS (input/output operations per second) performance necessary for database workloads and can be easily increased in size as your database grows.

7.1.4.1.2. EBS volumes are often used to host relational and non-relational databases.

7.1.4.2. Data Intensive Applications

7.1.4.2.1. For applications that require a lot of read and write operations, such as big data analytics applications, video streaming, or gaming.

7.1.4.2.2. EBS provides durable and high-performance storage that can handle the load.

7.1.4.3. Backup and Restore

7.1.4.3.1. EBS volumes can be snapshotted, providing a point-in-time copy of your data.

7.1.4.3.2. This is useful for backup purposes and allows you to easily create new volumes from the snapshot to restore data or clone environments.

7.2. Amazon Elastic File System (EFS)

7.2.1. Use Cases

7.2.1.1. Shared Data Storage

7.2.1.1.1. For example, you could use EFS as shared storage for web serving clusters, content management systems, or development environments.

7.2.1.1.2. If you have an application with multiple instances that need to share access to the same data, EFS is a good fit.

7.2.1.2. Big Data Analytics

7.2.1.2.1. EFS can be used to store a large amount of data that is read by big data applications.

7.2.1.2.2. The ability to scale up to petabytes of data and support high parallelism makes EFS suitable for big data workloads.

7.2.2. Files

7.2.2.1. NFS

7.2.2.1.1. NAS

7.2.3. More Technical

7.2.3.1. Amazon Elastic File System (EFS) is a scalable file storage for use with Amazon EC2 instances.

7.3. Amazon Simple Storage Service (S3)

7.3.1. Objects

7.3.1.1. IP Addressable

7.3.1.1.1. Scalable Storage in the Cloud

7.3.2. More Technical

7.3.2.1. Amazon Simple Storage Service (S3) is an object storage service that offers scalability, data availability, security, and performance.

7.3.3. Key Words: Fully Managed Storage Objects, Global Access

7.3.4. Use Cases

7.3.4.1. Data Backup and Storage

7.3.4.1.1. Its high durability and scalability make it a reliable and flexible solution for any kind of data storage needs.

7.3.4.1.2. S3 can be used to back up and store application data, files, images, and more.

7.3.4.2. Hosting Static Websites

7.3.4.2.1. You can use S3 to host static websites, including HTML, CSS, JavaScript, and image files.

7.3.4.2.2. S3 provides robust and scalable infrastructure for serving websites directly from the storage bucket.

7.3.4.3. Data Lake

7.3.4.3.1. S3 can be used as a data lake for storing structured and unstructured data for big data analytics, machine learning, and business intelligence tools.

7.3.4.3.2. With features like S3 Select and Glacier, you can manage and access your data efficiently and cost-effectively.

8. Analytics

8.1. Analytics Overview

8.1.1. Make Sense of Your Data

8.2. Amazon Athena

8.2.1. Infographic

8.2.1.1. Query Data in S3 using SQL

8.2.1.1.1. OSS Alternatives

8.2.2. Non Technical

8.2.2.1. AWS Athena is like a detective who finds specific information in a giant book, without reading the whole thing.

8.2.3. More Technical

8.2.3.1. Amazon Athena is an interactive query service that makes it easy to analyze data directly in Amazon Simple Storage Service (S3) using standard SQL.

8.2.4. Key Words: SQL, Queries, S3

8.2.5. Use Cases

8.2.5.1. Log Analysis

8.2.5.1.1. As an application developer, you may be logging application events, error logs, or user activities in your system.

8.2.5.1.2. These logs may be stored in S3 for durability.

8.2.5.1.3. With Athena, you can easily query these logs for troubleshooting, user behavior analysis, or reporting purposes.

8.2.5.1.4. You can find error patterns, understand user behavior, and get insights from these logs without the need to set up complex processing pipelines.

8.2.5.2. Data Exploration and Analytics

8.2.5.2.1. This can be very useful in scenarios like understanding user patterns, performing A/B testing, or creating business reports directly from your raw data.

8.2.5.2.2. You may have large amounts of raw data stored in S3 in various formats like CSV, JSON, or Parquet.

8.2.5.2.3. Athena can be used to quickly explore this data and derive valuable insights.

8.2.5.3. Ad-hoc Queries and Reports

8.2.5.3.1. This is especially useful when dealing with infrequently accessed data or creating one-off reports for business meetings.

8.2.5.3.2. Traditional data warehouses may require you to import data and then perform transformations before you can run your analysis.

8.2.5.3.3. This can be time-consuming for ad-hoc queries or one-off reports.

8.2.5.3.4. With Athena, you can quickly run these queries directly on your data stored in S3.

8.3. Amazon Redshift

8.3.1. More Technical

8.3.1.1. Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud.

8.3.1.1.1. A data warehouse is a central repository of information that can be analyzed to make more informed BUSINESS decisions.

8.3.1.1.2. It enables fast, complex queries over vast datasets by using columnar storage technology to improve I/O efficiency and parallelizing queries across multiple nodes.

8.3.2. Non Technical

8.3.2.1. AWS Redshift is like a super-fast bookshelf that helps you quickly find and organize your books (data) when you need them.

8.3.3. Use Cases

8.3.3.1. Data Warehousing and Business Intelligence

8.3.3.1.1. As an application developer, you can use Redshift to build a large-scale data warehouse that collects data from various sources (like transactional databases, log files, external APIs).

8.3.3.1.2. Once the data is in Redshift, business analysts can use business intelligence tools to create reports, run queries, and perform complex analyses to drive business decisions.

8.3.3.2. Big Data Processing and Analytics

8.3.3.2.1. Redshift is designed to handle large volumes of data, ranging from a few hundred gigabytes to a petabyte or more.

8.3.3.2.2. It makes it simple and cost-effective to analyze all your data across your data warehouse and data lake.

8.3.3.2.3. For instance, you can analyze clickstream data to understand user behavior on your website, process large scale IoT data, or perform complex scientific computations on large datasets.

8.3.3.3. Data Integration Pipelines

8.3.3.3.1. Redshift can be a key component of your data integration pipelines.

8.3.3.3.2. You can ingest data from different sources, transform it, and load it into Redshift for analysis.

8.3.3.3.3. AWS provides various services (like AWS Glue) that integrate well with Redshift for ETL (Extract, Transform, Load) jobs.

8.3.3.3.4. As an application developer, you could use Redshift as the central repository for all your application data, enabling complex analytics and reporting.

9. Application Integration

9.1. Amazon Simple Notification Service (SNS)

9.1.1. Non Technical

9.1.1.1. AWS SNS is like a town crier that tells everyone important messages at the same time, over the internet.

9.1.2. Infographic

9.1.2.1. SNS managed message topics for Pub/Sub

9.1.2.1.1. SNS is comparable to SQS but instead of managing a job queue which gets pulled by other services ("pull approach"), you got a push service here.

9.1.3. More Technical

9.1.3.1. AWS Simple Notification Service (SNS) is a highly available, durable, secure, fully managed publish/subscribe messaging service

9.1.3.2. That enables you to decouple microservices, distributed systems, and serverless applications

9.1.3.3. It provides topics for high-throughput, push-based, many-to-many messaging.

9.1.4. Key Words: Send Alerts, Decouple

9.1.5. Use Cases

9.1.5.1. Microservices Communication

9.1.5.1.1. For example, you could have an 'Order Service' that publishes messages to a topic whenever a new order is placed.

9.1.5.1.2. If you're developing a microservices architecture, SNS can be used to decouple your microservices.

9.1.5.1.3. Then, you could have other services like 'Inventory Service' and 'Notification Service' subscribe to this topic to get notified when a new order comes in.

9.1.5.1.4. 'Inventory Service' could be responsible for updating stock levels, while 'Notification Service' could be responsible for sending email or text notifications to customers.

9.1.5.1.5. This ensures that each microservice operates independently, improving the system's scalability and robustness.

9.1.5.2. Application Monitoring and Alerting

9.1.5.2.1. Subscribers to this topic (which could include email addresses, Lambda functions, SQS queues, etc.) would then be alerted to the issue, allowing them to respond promptly.

9.1.5.2.2. If your application needs to monitor a wide variety of system and application performance metrics, SNS can be used to notify when specific thresholds are crossed.

9.1.5.2.3. For instance, you could set up Amazon CloudWatch to monitor your application's CPU usage, memory usage, and error rates, and then use SNS to send notifications to a topic whenever these metrics go beyond their normal range.

9.1.5.3. Distributing updates to end users

9.1.5.3.1. SNS supports multiple protocols including HTTP/S, email, SMS, and mobile push notifications, making it a versatile solution for reaching a broad audience.

9.1.5.3.2. Suppose you have a mobile or a web-based application where users need to be notified of certain events, like updates or news about your service.

9.1.5.3.3. In such a scenario, SNS can be used to push notifications to all your users.

9.1.5.3.4. For instance, in a mobile banking application, you could use SNS to notify all users about a new feature or a critical security update.

9.2. Amazon Simple Queue Service (SQS)

9.2.1. Infographic

9.2.1.1. SQS Managed Message Queues

9.2.1.1.1. The "Simple Queue Service" allows you to manage a job queue.

9.2.1.1.2. A job is simply a data package holding any information of your choice.

9.2.1.1.3. You can consume it with a couple of other services that simply poll the job queue and pull these information packages from it.

9.2.2. Non Technical

9.2.2.1. AWS SQS is like a post office that holds messages between computers until they are ready to pick them up.

9.2.3. More Technical

9.2.3.1. Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale

9.2.3.1.1. distributed systems

9.2.3.1.2. microservices

9.2.3.1.3. serverless applications

9.2.4. Use Cases

9.2.4.1. Decoupling Microservices

9.2.4.1.1. For example, an Order Service might need to notify a Shipping Service when a new order is placed.

9.2.4.1.2. In a microservices architecture, you might have different services that need to communicate with each other.

9.2.4.1.3. Instead of making a direct call, the Order Service can place a message in an SQS queue, and the Shipping Service can pick up messages from the queue at its own pace.

9.2.4.1.4. This decoupling of services makes the system more robust and scalable.

9.2.4.2. Delayed Processing

9.2.4.2.1. For instance, tasks like sending out marketing emails or generating reports can be performed by a background process, ensuring that your application's performance remains unaffected.

9.2.4.2.2. Suppose you have tasks that need to be executed, but they aren't time-sensitive.

9.2.4.2.3. In such cases, you can use SQS to store these tasks as messages in a queue, and have a background worker process pick up these tasks when resources are available.

9.2.4.3. Handling Spikes in Traffic

9.2.4.3.1. Your order processing system can then pull and process these orders at its own capacity, ensuring system stability.

9.2.4.3.2. If your application experiences sudden spikes in traffic, SQS can be a lifesaver.

9.2.4.3.3. For example, if you're running an e-commerce website and you have a big sale, the number of orders can suddenly skyrocket.

9.2.4.3.4. Instead of trying to process all these orders immediately (and possibly overloading your system), you can place them in an SQS queue.

10. Cloud Financial Management

10.1. AWS Cost and Usage Reports (BILLING)

10.1.1. Non Technical

10.1.1.1. AWS Cost and Usage Reports are like detailed shopping receipts for everything you buy or use on AWS.

10.1.2. More Technical

10.1.2.1. AWS Cost and Usage Report (CUR) is a detailed report of your AWS costs, providing the most comprehensive set of AWS cost and usage data available.

10.1.3. Key Words: Cost and Usage Reports (CUR), S3

10.1.4. Use Cases

10.1.4.1. Detailed Cost Breakdowns

10.1.4.1.1. CUR provides comprehensive data down to the hourly level for individual services, accounts, tags, and even specific API operations.

10.1.4.1.2. As an application developer, you may need to understand the fine-grained details of your AWS costs.

10.1.4.1.3. For example, you can use this data to identify trends, investigate high costs, and drive cost allocation strategies.

10.1.4.2. Budgeting and Forecasting

10.1.4.2.1. CUR provides historical cost and usage data, which can be a valuable input for your budgeting and forecasting processes.

10.1.4.2.2. You can analyze your spending patterns over time, forecast future costs based on past trends, and set accurate budgets for your projects and applications.

10.1.4.3. Optimizing Resource Usage

10.1.4.3.1. CUR can be used to identify unused or underused resources, helping you optimize your AWS resource usage and reduce costs.

10.1.4.3.2. For instance, by analyzing EC2 instance usage data, you can identify instances that are rarely used and could potentially be shut down or resized.

10.2. AWS Cost Explorer (ANALYZE DASHBOARD spend)

10.2.1. Non Technical

10.2.1.1. AWS Cost Explorer is like a magnifying glass that lets you see and understand how much you're spending on AWS services.

10.2.2. More Technical

10.2.2.1. Amazon Web Services (AWS) Cost Explorer is a tool that enables users to view and analyze their costs and usage over time.

10.2.2.1.1. It's like a dashboard that provides you with a comprehensive view of your AWS cost and usage, so you can identify cost inefficiencies and optimize your spending.

10.2.3. Key Words: Costing Issues, Recommendations

10.2.4. Use Cases

10.2.4.1. Detailed Cost Analysis

10.2.4.1.1. AWS Cost Explorer provides a detailed breakdown of your costs by AWS service, cost allocation tag, or even by the hour or day.

10.2.4.1.2. As an application developer, it's essential to understand where your costs are coming from.

10.2.4.1.3. This granular insight can help you understand which services or features are costing the most and where potential savings can be made.

10.2.4.2. Cost Forecasting

10.2.4.2.1. Being able to anticipate costs allows for better financial planning.

10.2.4.2.2. AWS Cost Explorer allows you to forecast your spending for the next few months based on your current and historical usage.

10.2.4.2.3. This can be particularly useful for budgeting purposes or when planning for scaling up your infrastructure.

10.2.4.3. Optimization Recommendations

10.2.4.3.1. AWS Cost Explorer can provide recommendations for cost savings

10.3. AWS Budgets (TRACKING & ALERTING spend)

10.3.1. Non Technical

10.3.1.1. AWS Budgets is like a spreadsheet that helps you keep track of and control your spending on AWS services.

10.3.2. More Technical

10.3.2.1. Amazon Web Services (AWS) Budgets provides cost and usage budgeting for businesses to manage their costs on AWS.

10.3.2.1.1. AWS Budgets is like a tool that helps you set, track, and manage your AWS spending limits and alerts.

10.3.2.1.2. It's like a budgeting tool that helps you plan and manage your expenses in advance, so you can avoid overspending or unexpected bills.

10.3.3. Use Cases

10.3.3.1. Cost Control and Alerts

10.3.3.1.1. AWS Budgets allows you to set custom cost and usage budgets that alert you when your costs or usage exceed (or are forecasted to exceed) the budget amount.

10.3.3.1.2. As an application developer, you may need to manage the cost of AWS resources you use.

10.3.3.1.3. This can help you monitor the spending on a particular project or application and avoid any unexpected charges.

10.3.3.2. Tracking Service-Specific Usage

10.3.3.2.1. This can help in managing costs for specific services or applications.

10.3.3.2.2. AWS Budgets also allows you to track the usage and costs of specific AWS services.

10.3.3.2.3. For example, you could set a budget for your AWS Lambda usage, and AWS Budgets will alert you if your usage exceeds the set budget.

10.3.3.3. Department or Project Budgeting

10.3.3.3.1. If you're working in a larger organization where costs are allocated to different departments or projects, AWS Budgets can be used to create separate budgets for each department or project.

10.3.3.3.2. This way, each department or project can track its own AWS costs, enabling better cost management and accountability.

10.4. Amazon Marketplace Subscriptions (App Store)

10.4.1. Non Technical

10.4.1.1. Digital catalog where you can find, buy, and deploy software

10.4.1.1.1. AWS Marketplace Subscriptions is like a catalog of pre-built software solutions and services that you can easily purchase and deploy in your AWS infrastructure.

10.4.1.1.2. It's like an app store that offers a wide range of solutions from various vendors, so you can find and use the right software for your needs.

10.4.2. Use Cases

10.4.2.1. Streamlining Software Procurement

10.4.2.1.1. AWS Marketplace Subscriptions simplify the process of finding, buying, and starting to use software and services.

10.4.2.1.2. All your usage costs are integrated into your AWS bill, eliminating the need for multiple vendor contracts and making it easier to manage costs.

10.4.2.2. Third-party Tools Integration

10.4.2.2.1. AWS Marketplace allows you to subscribe to these services and integrate them into your application.

10.4.2.2.2. Suppose you're developing an application and you need a specific tool or service that's not provided directly by AWS.

10.4.2.3. Testing Software Before Purchase

10.4.2.3.1. If you're unsure whether a particular software or service will meet your needs, AWS Marketplace allows you to subscribe to a trial version if available.

10.4.2.3.2. This allows you to test the software with your application before committing to a full purchase.

11. Compute Services

11.1. Amazon Elastic Compute Cloud (EC2)

11.1.1. Non Technical

11.1.1.1. Virtual Servers in the Cloud

11.1.1.1.1. Purchase Options

11.1.1.1.2. Features

11.1.1.1.3. Instance Types

11.1.2. More Technical

11.1.2.1. Amazon Elastic Compute Cloud (EC2) provides scalable computing capacity in the Amazon Web Services (AWS) cloud.

11.1.3. Use Cases

11.1.3.1. Hosting Web Applications

11.1.3.1.1. You can quickly scale up or down based on demand, ensuring your application always has the resources it needs.

11.1.3.1.2. As an application developer, one of the primary uses of EC2 would be to host web applications.

11.1.3.2. Backend for Mobile and Gaming Applications

11.1.3.2.1. These instances can scale up during peak usage times and scale down during off-peak times, making it cost-effective.

11.1.3.2.2. Mobile and gaming applications often require a server-side component.

11.1.3.2.3. This server-side component can be hosted on EC2 instances.

11.2. Amazon Lambda

11.2.1. Infographic

11.2.1.1. Event Driven Applications

11.2.1.1.1. Just deploy your code, attach events that should trigger it and you're good to go

11.2.1.1.2. OSS Alternatives

11.2.2. Non Technical

11.2.2.1. AWS Lambda is like a magic genie that runs your tasks or programs in the cloud when you wish for it.

11.2.3. More Technical

11.2.3.1. AWS Lambda is a serverless computing service that runs your code in response to events.

11.2.3.2. AWS Lambda automatically manages the underlying compute resources for you.

11.2.4. Key Words: Event Driven, Serverless

11.2.5. Use Cases

11.2.5.1. Real-time File Processing

11.2.5.1.1. For example, you can use Lambda to resize images, process logs, validate content, or even aggregate and filter data in real-time.

11.2.5.1.2. You can use Lambda to automatically process new files as soon as they are uploaded to Amazon S3 (Simple Storage Service).

11.2.5.2. Data Transformation for ETL

11.2.5.2.1. Lambda can be used to perform transformations on data in transit.

11.2.5.2.2. For example, in an ETL (Extract, Transform, Load) process, Lambda can perform the "Transform" step on data being transferred from one database to another or from a database to a data warehouse like Amazon Redshift.

11.2.5.3. Microservices and APIs

11.2.5.3.1. You can build microservices or backends using Lambda and Amazon API Gateway to handle web, mobile, Internet of Things (IoT), and 3rd party API requests.

11.2.5.3.2. Lambda allows you to focus on your code and effectively scale and manage the servers.

12. Containers

12.1. Amazon Elastic Container Service (ECS)

12.1.1. Infographic

12.1.1.1. AWS Container Orchestration

12.1.1.1.1. Charge Models

12.1.1.1.2. Service Connect

12.1.1.1.3. OSS Alternatives

12.1.2. Non Technical

12.1.3. More Technical

12.1.3.1. Amazon Elastic Container Service (ECS) is a fully managed container orchestration service.

12.1.4. Use Cases

12.1.4.1. Microservices Architecture

12.1.4.1.1. Each microservice can be packaged into a container, and ECS can manage and orchestrate these containers.

12.1.4.1.2. ECS is perfect for deploying applications following the microservices architecture.

12.1.4.1.3. Ensuring they communicate effectively, scale independently, and have high availability.

12.1.4.2. Batch Processing Jobs

12.1.4.2.1. You can package your application into a Docker container and use ECS to spin up as many instances as you need to process the tasks in parallel.

12.1.4.2.2. ECS is also great for running batch processing workloads.

12.1.4.2.3. For instance, if you have a large number of similar tasks that need to be executed.

12.1.4.3. Continuous Deployment and Integration

12.1.4.3.1. With its tight integration with AWS services like CodePipeline, ECS can form an integral part of your CI/CD pipeline.

12.1.4.3.2. You can set up your pipeline to automatically build your application, package it into a container, and deploy it on ECS.

12.2. Amazon Elastic Kubernetes Service (EKS)

12.2.1. More Technical

12.2.1.1. Amazon Elastic Kubernetes Service (EKS) is a managed service that makes it easy to run Kubernetes

12.2.1.2. Kubernetes is a popular open-source system for automating the deployment, scaling, and management of containerized applications

12.2.2. Infographic

12.2.2.1. Kubernetes Container Orchestration

12.2.2.1.1. OSS Alternatives

12.2.3. Non Technical

12.2.4. Use Cases

12.2.4.1. Microservices Architecture

12.2.4.1.1. The advantage with EKS is that you get the full functionality of Kubernetes

12.2.4.1.2. Similar to ECS, EKS is also ideal for deploying microservices.

12.2.4.2. Batch Processing Jobs

12.2.4.2.1. You can package your application into a Docker container and use EKS to spin up as many instances as you need to process the tasks in parallel.

12.2.4.2.2. EKS is also great for running batch processing workloads.

12.2.4.2.3. For instance, if you have a large number of similar tasks that need to be executed.

12.3. AWS Fargate

12.3.1. Infographic

12.3.1.1. AWS managed pool of EC2 instances to run Containers

13. Database

13.1. Overview

13.1.1. Plant Scale Persistence

13.1.1.1. Database Selection

13.2. SQL

13.2.1. Amazon Relational Database Service (RDS)

13.2.1.1. Technical

13.2.1.1.1. Amazon Relational Database Service (RDS) is a service that makes it easier to set up, operate, and scale a relational database in the cloud.

13.2.1.2. Infographic

13.2.1.2.1. Overview

13.2.1.3. Key Words: Low Cost, Managed

13.2.1.4. Use Cases

13.2.1.4.1. Web and Mobile Applications

13.2.1.4.2. Business Applications

13.2.1.4.3. Database for Microservices

13.2.2. Amazon Aurora

13.2.2.1. AWS Native Database Engine

13.2.2.1.1. More Technical

13.2.2.1.2. Key Words: Managed Database Service compatible with MySQL

13.2.2.1.3. Compatible

13.2.2.2. Similar To

13.2.2.2.1. CockroachDB

13.2.3. Amazon Quantum Ledger Database (QLDB)

13.2.3.1. Infographic

13.2.3.1.1. Fully managed blockchain ledger database

13.2.3.2. More Technical

13.2.3.2.1. Amazon Quantum Ledger Database (QLDB) is a fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log.

13.2.3.3. Use Cases

13.2.3.3.1. Financial Transactions

13.2.3.3.2. Supply Chain Management

13.2.3.3.3. Regulatory Audit Trails

13.3. NoSQL

13.3.1. Amazon DocumentDB

13.3.1.1. DOCUMENT

13.3.1.1.1. Fully-managed MongoDB-compatible database service

13.3.1.2. More Technical

13.3.1.2.1. Amazon DocumentDB is a fully managed document database service that supports MongoDB workloads.

13.3.1.3. Use Cases

13.3.1.3.1. Content Management Systems

13.3.1.3.2. Mobile and Web Applications

13.3.1.4. Similar To

13.3.1.4.1. MongoDB

13.3.2. Amazon DynamoDB

13.3.2.1. KEY VALUE / WIDE COLUMN

13.3.2.1.1. Overview

13.3.2.2. More Technical

13.3.2.2.1. Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.

13.3.2.3. Key Words: Fully Managed, Global, Global Tables

13.3.2.4. Use Cases

13.3.2.4.1. Web and Mobile Applications

13.3.2.4.2. Serverless Applications

13.3.2.4.3. Microservices and Event-Driven Architectures

13.3.2.4.4. Session Store

13.3.2.4.5. Shopping Cart

13.3.2.5. Similar To

13.3.2.5.1. Cassandra

13.3.3. Amazon Neptune

13.3.3.1. GRAPH

13.3.3.1.1. Fast, reliable graph database built for the cloud

13.3.3.2. More Technical

13.3.3.2.1. Amazon Neptune is a fast, reliable, fully managed graph database service that makes it easy to build and run applications that work with highly connected datasets.

13.3.3.3. Use Cases

13.3.3.3.1. Social Networking

13.3.3.3.2. Recommendation Engines

13.3.3.3.3. Knowledge Graphs

13.3.3.4. Similar to

13.3.3.4.1. TigerGraph

13.4. Cache

13.4.1. Amazon ElastiCache

13.4.1.1. In-Memory CACHE

13.4.1.1.1. Server-side Managed Caching Service to speed up the RESPONSE time of your application by caching query results

13.4.1.2. Key Words: Reduce Database Access Load

13.4.2. Elasticache Engines

13.4.2.1. Amazon ElastiCache for Redis

13.4.2.1.1. Redis compatible in-memory data store built for the cloud. Power real-time applications with sub-millisecond latency.

13.4.2.2. Amazon ElastiCache for Memcached

13.4.2.2.1. Managed, Memcached-compatible, in-memory store. Sub-millisecond latency to power real-time applications.

14. Developer Tools

14.1. AWS CodePipeline

14.1.1. Release Software using Continuous Delivery

14.1.2. Key Words: Continuous Delivery

14.1.3. Use Cases

14.1.3.1. Automated Deployment

14.1.3.1.1. You can set up a pipeline that automatically builds and deploys your application whenever you make changes to your code.

14.1.3.1.2. If you're an application developer who frequently updates your application, AWS CodePipeline can help automate your software release process.

14.1.3.2. Microservices Architectures

14.1.3.2.1. If you're developing a microservices-based application, you can use AWS CodePipeline to manage the deployment of each service independently.

14.1.3.2.2. Each microservice can have its own pipeline, which can be triggered independently of the others.

14.1.3.3. Multi-Environment Staging

14.1.3.3.1. If you're deploying your application to multiple environments (like development, staging, and production), you can use AWS CodePipeline to automate this process.

14.1.3.3.2. You can set up a pipeline that deploys to each environment in sequence, ensuring that each environment is updated in a controlled manner.