Cloud Computing
Day1_journey0fAWS

Cloud computing

Cloud computing is a technology that allows users to access and use computing resources (such as servers, storage, databases, networking, software, analytics, and intelligence) over the internet, often referred to as "the cloud." Instead of owning and maintaining physical hardware and infrastructure, users can leverage cloud services provided by third-party providers to store data, run applications, and perform various computing tasks.
Key characteristics of cloud computing include:

On-Demand Self-Service: Users can provision and manage computing resources as needed, without requiring human intervention from the service provider.
Broad Network Access: Cloud services are accessible over the internet from a variety of devices such as laptops, smartphones, and tablets.
Resource Pooling: Cloud providers pool computing resources to serve multiple customers, with different physical and virtual resources dynamically assigned and reassigned according to demand.
Rapid Elasticity: Resources can be quickly scaled up or down to accommodate changes in demand, allowing for flexibility and cost efficiency.
Measured Service: Cloud computing resources are metered, and users pay for only the resources they consume. This pay-as-you-go model offers cost transparency and allows for efficient resource utilization.
Cloud computing is typically categorized into three main service models:

Infrastructure as a Service (IaaS): Provides virtualized computing resources over the internet. Users can rent virtual machines, storage, and networking components.
Platform as a Service (PaaS): Offers a platform that includes tools and services for application development, such as databases, middleware, and development frameworks.
Software as a Service (SaaS): Delivers fully functional software applications over the internet, eliminating the need for users to install, maintain, and run software locally.
Cloud computing can also be categorized based on deployment models:

Public Cloud: Services are provided over the public internet and are available to anyone who wants to purchase them.
Private Cloud: Cloud infrastructure is provisioned for exclusive use by a single organization. It can be hosted on-premises or by a third-party provider.
Hybrid Cloud: Combines elements of both public and private clouds, allowing data and applications to be shared between them.
Amazon Web Services History

(AWS) has a rich history that spans more than a decade. Here's a brief overview of the key milestones in the evolution of AWS:
Creating an AWS Free Tier account
Creating an AWS Free Tier account is a straightforward process. The AWS Free Tier provides a limited amount of AWS services at no cost for 12 months after you sign up. Here are the step-by-step instructions:
Visit the AWS Free Tier Page: Go to the AWS Free Tier page by navigating to AWS Free Tier.
Click "Create an AWS Account": On the AWS Free Tier page, click on the "Create an AWS Account" button.
Provide Your Email Address: Enter your email address and choose whether you are creating the account for personal or professional use. Click "Next."
Enter Your Account Information: Fill in the required information, including your name, a unique AWS account name (which will be part of your account URL), and a strong password. Click "Next."
Contact Information: Enter your contact information, including your country and phone number. AWS will use this information to contact you if needed. Click "Next."
Payment Information: Provide your payment information. AWS requires a credit card for identity verification purposes, even though you are signing up for the Free Tier. No charges will be made unless you exceed the Free Tier limits. Click "Secure Submit" after entering your card details.
Identity Verification: AWS will perform an identity verification step. You can choose to receive a phone call or text message with a verification code. Enter the code when prompted.
Choose a Support Plan: Select a support plan. For the Free Tier, you can choose the "Basic" plan, which is free. Click "Continue."
Welcome to AWS: Once your account is created, you'll see a welcome page. You can choose to sign in to the AWS Management Console right away.
Sign in to the AWS Management Console: Click on the "Sign in to the Console" button. Enter your email address and password to access the AWS Management Console.
Set up Multi-Factor Authentication (Optional but Recommended): For added security, consider setting up Multi-Factor Authentication (MFA) for your AWS account. AWS will guide you through the process.
Congratulations! You've successfully created an AWS Free Tier account. Remember to keep track of your usage and stay within the Free Tier limits to avoid unexpected charges. The Free Tier includes a variety of AWS services, and you can explore and learn without incurring costs as long as you stay within the specified usage limits.
Use Case:
Amazon Web Services (AWS) provides a wide range of cloud computing services that cater to diverse industries and use cases. Here's a use case to illustrate how AWS can be applied in a real-world scenario:
Use Case: E-commerce Website Infrastructure on AWS
Business Scenario: Imagine a growing e-commerce company that is looking to scale its online presence. The company wants a reliable, scalable, and cost-effective solution to handle its increasing customer base, ensure high availability, and manage the varying traffic demands during peak times, such as holiday seasons or special promotions.
AWS Services and Solutions:
Compute Services - Amazon EC2:
Deploy web servers using Amazon Elastic Compute Cloud (EC2) instances to host the e-commerce website.
Use Auto Scaling to automatically adjust the number of instances based on traffic demands, ensuring optimal performance and cost efficiency.
Content Delivery - Amazon CloudFront:
- Implement Amazon CloudFront to distribute content, such as product images and static assets, globally. This improves website performance by reducing latency and accelerating content delivery to end-users.
Database - Amazon RDS:
Utilize Amazon Relational Database Service (RDS) to manage the product catalog and customer data efficiently.
RDS provides a managed database service with options for various database engines, including MySQL, PostgreSQL, and others.
Storage - Amazon S3:
Store and serve static assets, such as images, stylesheets, and JavaScript files, using Amazon Simple Storage Service (S3).
Leverage S3 for backup and archival purposes, ensuring data durability and availability.
Load Balancing - Elastic Load Balancing (ELB):
- Implement Elastic Load Balancing to distribute incoming web traffic across multiple EC2 instances, ensuring high availability and fault tolerance.
Scalability - AWS Auto Scaling:
- Set up Auto Scaling groups to automatically adjust the number of EC2 instances based on traffic patterns. This helps handle increased demand during peak times and reduces costs during periods of lower traffic.
Monitoring and Analytics - Amazon CloudWatch and AWS Lambda:
Monitor the health and performance of the infrastructure using Amazon CloudWatch.
Use AWS Lambda for serverless computing to run code in response to events, automate tasks, and manage workflows.
Security - AWS Identity and Access Management (IAM) and Amazon VPC:
Implement IAM to manage user access and permissions securely.
Utilize Amazon Virtual Private Cloud (VPC) to isolate and secure the network environment.
DevOps - AWS CodePipeline and AWS CodeDeploy:
- Set up continuous integration and continuous deployment pipelines using AWS CodePipeline and CodeDeploy to automate the deployment process and ensure a smooth development lifecycle.
By leveraging AWS services, the e-commerce company can create a scalable and reliable infrastructure that adapts to changing demands, ensuring a positive customer experience and optimizing operational costs. This use case highlights how AWS can provide a comprehensive set of tools for building and managing modern, scalable web applications.
Global infrastructure

Amazon Web Services (AWS) has a global infrastructure that spans across multiple regions and Availability Zones. AWS infrastructure is designed to provide high availability, reliability, and low-latency access to services for users around the world. Please note that AWS may have expanded its infrastructure further since my last update.
Here are key components of AWS's global infrastructure:
Regions:
AWS divides the world into geographic regions, each containing multiple Availability Zones. Each region is essentially a separate geographic area with multiple data centers.
As of my last update, AWS had regions in various locations worldwide, including North America, Europe, Asia Pacific, South America, the Middle East, and Africa.
Availability Zones (AZs):
Within each region, AWS has multiple Availability Zones, which are essentially separate data centers with redundant power, cooling, and networking.
Availability Zones are designed to be isolated from each other to provide fault tolerance. Applications can be deployed across multiple Availability Zones to ensure high availability.
Edge Locations:
AWS has a global network of Edge Locations that are part of the Amazon CloudFront content delivery network (CDN).
Edge Locations are strategically located to cache and deliver content (such as images, videos, and static files) closer to end-users, reducing latency and improving performance.
Global Accelerator:
AWS Global Accelerator is a service that uses static IP addresses to provide high availability and low-latency access to applications deployed in multiple AWS regions.
It routes traffic over the AWS global network to the optimal AWS endpoint based on health, geography, and routing policies.
Direct Connect:
AWS Direct Connect provides dedicated network connections from an on-premises data center to AWS.
Customers can use Direct Connect to establish a private, dedicated network connection to AWS, bypassing the public internet for improved performance and security.
Local Zones and Wavelength:
AWS has introduced Local Zones and Wavelength to bring AWS services closer to end-users in specific metropolitan areas.
Local Zones are extensions of existing AWS regions, while Wavelength zones are designed for edge computing applications with ultra-low latency requirements.
AWS continues to expand its global infrastructure to meet the growing demands of customers worldwide. It's essential to check the latest information on AWS's official website for the most up-to-date details on regions, Availability Zones, and new services.

