Skip to content

Commit

Permalink
Day 19 updates
Browse files Browse the repository at this point in the history
  • Loading branch information
iam-veeramalla authored Jul 26, 2023
1 parent 92454be commit 7e8c0c4
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 27 deletions.
46 changes: 19 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,77 +119,69 @@ This day focuses on AWS CloudWatch Events and EventBridge, services for event-dr

**Project:** You'll build a serverless event-driven workflow using CloudWatch Events and EventBridge, demonstrating the integration and automation of different AWS services based on events.

## Day 19: AWS CloudTrail and Config
## Day 19: AWS CloudFront

If you've never heard of CDN or CloudFront before, don't worry, we will start from scratch and gradually build up your understanding. By the end, you'll be well-versed in these technologies.

**Project:** You'll configure a s3 bucket to host a static website and learn how to serve the requests to this website through CDN that is AWS Cloud Front.

## Day 20: AWS CloudTrail and Config

You'll explore AWS CloudTrail and AWS Config, which provide auditing and compliance capabilities. You'll learn how to track API calls using CloudTrail and ensure compliance with AWS Config rules.

**Project:** You'll configure CloudTrail to log API activities and set up AWS Config rules to enforce compliance policies for your AWS resources.

## Day 20: AWS DynamoDB
## Day 21: AWS ECR (Elastic Container Registry)

You'll explore AWS DynamoDB, a NoSQL database service. You'll learn how to create and manage DynamoDB tables, perform CRUD operations, and leverage DynamoDB's scalability and performance capabilities.
You'll explore AWS ECR, a fully managed container registry for storing and managing container images. You'll learn how to push and pull Docker images to and from ECR, enabling seamless integration with ECS and other container services.

**Project:** You'll build a serverless API using DynamoDB as the backend storage, allowing data retrieval and modification operations.
**Project:** You'll build a CI/CD pipeline that automatically builds, pushes, and deploys Docker images to ECR, ensuring streamlined container image management.

## Day 21: AWS ECS (Elastic Container Service)
## Day 22: AWS ECS (Elastic Container Service)

This day focuses on AWS ECS, a fully managed container orchestration service. You'll learn how to run and manage containers using ECS, including creating task definitions, managing services, and scaling with auto-scaling capabilities.

**Project:** You'll deploy a multi-container application using ECS, configure auto-scaling policies, and ensure high availability and efficient resource utilization.

## Day 22: AWS ECR (Elastic Container Registry)

You'll explore AWS ECR, a fully managed container registry for storing and managing container images. You'll learn how to push and pull Docker images to and from ECR, enabling seamless integration with ECS and other container services.

**Project:** You'll build a CI/CD pipeline that automatically builds, pushes, and deploys Docker images to ECR, ensuring streamlined container image management.

## Day 23: AWS EKS (Elastic Kubernetes Service)

This day introduces AWS EKS, a fully managed Kubernetes service. You'll learn how to deploy and manage Kubernetes clusters using EKS, including launching worker nodes, configuring networking, and deploying applications using Kubernetes manifests.

**Project:** You'll deploy a sample application on EKS using Kubernetes manifests, demonstrating the capabilities of running containerized applications on a managed Kubernetes service.

## Day 24: AWS CloudWatch Logs

You'll explore AWS CloudWatch Logs, a service for collecting and analyzing log data. You'll learn how to configure log groups, streams, and filters to centralize log management and gain insights into application behavior and troubleshooting.

**Project:** You'll set up CloudWatch Logs for a production application, configure log groups and streams, and create filters to extract relevant log data.

## Day 25: AWS Secrets Manager
## Day 24: AWS Systems Manager

This day focuses on AWS Secrets Manager, a service for storing and managing secrets such as database credentials, API keys, and other sensitive information. You'll learn how to store, retrieve, and rotate secrets securely in your applications.

**Project:** You'll configure Secrets Manager to store and manage secrets, integrate secret retrieval in an application, and implement secret rotation policies.

## Day 26: AWS Auto Scaling
## Day 25: AWS Auto Scaling

You'll dive into AWS Auto Scaling, a service for automatically adjusting the capacity of your AWS resources based on demand. You'll learn how to configure Auto Scaling groups, scaling policies, and scaling based on metrics.

**Project:** You'll configure an Auto Scaling group for an application, define scaling policies based on metrics such as CPU utilization, and observe the dynamic scaling behavior.

## Day 27: AWS RDS (Relational Database Service)
## Day 26: AWS RDS (Relational Database Service)

This day introduces AWS RDS, a managed database service for relational databases. You'll learn how to create and manage RDS instances, configure backups, snapshots, and replication to ensure high availability and data durability.

**Project:** You'll provision an RDS instance, configure backups and snapshots, and test replication scenarios for a sample database.

## Day 28: AWS Elastic Load Balancer
## Day 27: AWS Elastic Load Balancer

You'll explore AWS Elastic Load Balancer, a service for distributing incoming application traffic across multiple targets. You'll learn how to configure and manage load balancers to ensure high availability, fault tolerance, and scalability.

**Project:** You'll configure an Elastic Load Balancer for an application, define target groups, and observe the load balancing behavior across instances.

## Day 29: AWS Systems Manager

You'll explore AWS Systems Manager, a management service for AWS resources. You'll learn how to use Systems Manager to manage EC2 instances, perform patch management, automate administrative tasks, and configure resource compliance.
## Day 28: AWS Cloud Migration Strategies and Tools

**Project:** You'll leverage Systems Manager to manage EC2 instances, perform common administrative tasks, and ensure compliance with configuration policies.
This day focuses on learning how to migrate applications to AWS cloud. What are the most popular strategies and tools used to achieve the cloud migration.

## Day 30: AWS Cloud Migration Strategies and Tools
## Day 29: 500 AWS interview questions and answers topic wise for interviews.

This day focuses on learning how to migrate applications to AWS cloud. What are the most popular strategies and tools used to achieve the cloud migration.

## Day 31: AWS Best Practices and Job Preparation
## Day 30: AWS Best Practices and Job Preparation

On the final day, you'll review best practices for AWS services, including security, cost optimization and performance.

88 changes: 88 additions & 0 deletions day-19/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Comprehensive Guide to CDN and CloudFront on AWS for Beginners

If you've never heard of CDN or CloudFront before, don't worry. we'll start from scratch and gradually build up your understanding. By the end, you'll be well-versed in these technologies. So lets get started.

## Table of Contents
1. Introduction to Content Delivery Networks (CDN)
2. What is CloudFront?
3. How Does CloudFront Work?
4. Benefits of CloudFront
5. Setting Up CloudFront on AWS
6. Use Cases and Scenarios
7. Tips and Best Practices
8. Conclusion

## 1. Introduction to Content Delivery Networks (CDN)

Imagine you have a website with lots of cool content, like images, videos, and documents. When a user visits your site from a different location far away from your server, the content might take a long time to load. That's where CDN comes to the rescue!

A CDN is like a network of servers spread across various locations worldwide. These servers store a copy of your website's content. When a user requests your website, the content is delivered from the server closest to the user, making it super fast! It's like having a local store for your website content everywhere in the world.

## 2. What is CloudFront?

CloudFront is Amazon Web Services' (AWS) very own CDN service. It integrates seamlessly with other AWS services and allows you to deliver content, videos, applications, and APIs securely with low-latency and high transfer speeds.

## 3. How Does CloudFront Work?

Let's understand how CloudFront works with a simple example:

Imagine you have a website with images stored on an Amazon S3 bucket (a cloud storage service). When a user requests an image, the request goes to CloudFront first.

Here's how the process flows:
- **Step 1**: CloudFront checks if it already has the requested image in its cache (storage). If it does, great! It sends the image directly to the user. If not, it proceeds to Step 2.
- **Step 2**: CloudFront fetches the image from the S3 bucket and stores a copy in its cache for future requests. Then, it sends the image to the user.

The next time someone requests the same image, CloudFront will deliver it from its cache, making it super fast and efficient!

## 4. Benefits of CloudFront

- **Fast Content Delivery**: CloudFront ensures your content reaches users with minimal delay, making your website lightning fast.
- **Global Reach**: With servers in various locations worldwide, CloudFront brings your content closer to users, regardless of where they are.
- **Security**: CloudFront provides security features like DDoS protection and SSL/TLS encryption to keep your content and users safe.
- **Scalability**: CloudFront can handle traffic spikes effortlessly, ensuring a smooth experience for your users.
- **Cost-Effective**: Pay only for the data transfer and requests made, making it cost-effective for businesses of all sizes.

## 5. Setting Up CloudFront on AWS

Now, let's get our hands dirty and set up CloudFront on AWS!

### Step 1: Create an S3 Bucket
1. Go to the AWS Management Console and navigate to Amazon S3.
2. Create a new bucket to store your website content.

### Step 2: Upload Content to the S3 Bucket
1. Upload images, videos, or any other content you want to serve through CloudFront to your S3 bucket.

### Step 3: Create a CloudFront Distribution
1. Go to the AWS Management Console and navigate to CloudFront.
2. Click "Create Distribution."
3. Choose whether you want to deliver a web application or content (like images and videos).
4. Configure your settings, such as the origin (your S3 bucket), cache behaviors, and security settings.
5. Click "Create Distribution" to set up CloudFront.

### Step 4: Update Website URLs
1. Once your CloudFront distribution is deployed (it may take a few minutes), you'll get a CloudFront domain name (e.g., `d1a2b3c4def.cloudfront.net`).
2. Replace the URLs of your website content with the CloudFront domain name.

That's it! Your content is now being delivered through CloudFront.

## 6. Use Cases and Scenarios

### Scenario 1: E-Commerce Website
Let's say you have an e-commerce website that sells products globally. By using CloudFront, your product images and videos load quickly for customers all over the world, improving the shopping experience.

### Scenario 2: Media Streaming
You're running a video streaming platform. With CloudFront, you can stream videos to users efficiently, regardless of their location, without buffering issues.

### Scenario 3: Software Downloads
If you offer software downloads, CloudFront can distribute your files faster, reducing download times and providing a better user experience.

## 7. Tips and Best Practices

- **Caching Strategies**: Configure cache settings wisely to balance freshness and speed for different types of content.
- **Invalidation**: Learn how to invalidate or clear cached content when you make updates to your website.
- **Monitoring and Reporting**: Use AWS tools to monitor your CloudFront distribution's performance and gain insights into user behavior.

## 8. Conclusion

By using CloudFront, you can dramatically improve your website's performance, making users happier and potentially boosting your application and business.

0 comments on commit 7e8c0c4

Please sign in to comment.