3-Unit Cloud
3-Unit Cloud
- IAAS
Amazon Web Services: AWS Infrastructure- AWS API- AWS Management Console - Setting up
AWS Storage - Stretching out with Elastic Compute Cloud - Elastic Container Service for
Kubernetes- AWS Developer Tools: AWS Code Commit, AWS Code Build, AWS Code Deploy,
AWS Code Pipeline, AWS code Star - AWS Management Tools: Cloud Watch, AWS Auto
Scaling, AWS control Tower, Cloud Formation, Cloud Trail, AWS License Manager
AWS Infrastructure:
AWS global infrastructure is the most secure, reliable, and extensive cloud, providing diverse
infrastructure solutions for running your applications anywhere.
With three Availability Zones (AZs) per Region and optimized data centers, AWS global
infrastructure maximizes resilience, performance, and innovation.
Amazon Web Services provides the most extensive global footprint compared to any other
cloud providers in the market, opening up new regions faster than others.
AWS maintains numerous global geographic regions, from North America, South America,
Europe, Asia Pacific, and the Middle East. AWS serves a million active customers in more than
190 countries.
AWS can support this massive workload, Global Cloud Infrastructure which consists of
Availability Zones, Regions, and Edge Networks.
1. AWS provides us an infrastructure with data centers which are available globally all over the
world.
2. AWS provides us a facility of multiple availability zone also if in case one availability zone
fails another availability zone carry the workload and continue our work this is the main
benefit of global infrastructure of AWS.
1. Data Center
A data center is a physical facility that hosts servers, networking equipment, and storage
systems.
Running applications across multiple data centers improves availability and fault tolerance.
If one data center fails, workloads can continue running in another location.
Data centers can also cache content to improve response times for global users.
3. Point-of-Presence
AWS Global Infrastructure includes a globally distributed network of Points of Presence
(PoPs), which consist of Edge Locations and Regional Edge Caches.
750+ CloudFront POPs and 15 Regional edge caches
Primary Function: PoPs serve as the "front door" for AWS edge services like Amazon
CloudFront (CDN), AWS Global Accelerator, and Amazon Route 53 (DNS).
Edge Caching: They deliver content with ultra-low latency by caching data closer to end
users. If a requested file is in the Edge Location, it is served immediately without hitting the
origin server.
Regional Edge Caches: These sit between Edge Locations and your origin server. They have
larger caches to hold content that isn't popular enough for every Edge Location but still needs
to stay close to users to reduce origin load.
Security at the Edge: PoPs also provide a first line of defense, hosting services like AWS
Shield (DDoS protection) and AWS WAF, which filter malicious traffic before it ever
reaches your VPC.
4. Region
A Region is a physical location in the world where AWS has multiple Availability Zones.
When managing resources, you must understand the "Context" of the tool you are using.
39launched Regions each with multiple Availability Zones.
Management Context:
In the Console, CLI, or SDK, you typically specify a Target Region (e.g., us-east-1).
For Global services (like IAM), the Region selector will automatically switch to
"Global."
Selection Criteria:
Proximity: Minimize latency by choosing Regions closest to your user base.
Compliance: Meet data residency laws (e.g., GDPR or GovCloud for sensitive US
government data).
Service Availability: Not all services are available in every Region (e.g., new AI services
often land in us-east-1 first).
Cost Optimization: Pricing varies by Region. For example, us-east-1 is often cheaper than
ap-south-1 (Mumbai).
5. Edge Locations
Edge locations are part of the AWS Content Delivery Network and are designed for low-
latency, high-throughput content delivery.
They are globally distributed and use Amazon’s high-speed network to cache content close to
end users.
Services that use edge locations include Amazon CloudFront and Lambda@Edge for content
caching and edge computing.
AWS follows a pay-as-you-go model, with free data transfer from AWS origins (such as S3,
EC2, and ELB) to edge locations, and charges only for data transferred out to users.
Cached content is served from the nearest edge location, reducing latency and cost compared
to delivering content directly from the origin server.
A Regional Edge Cache sits between AWS edge locations and origin servers in the
CloudFront CDN.
It caches larger or less frequently accessed objects that may not be stored at edge locations.
When content isn’t in an edge cache, it is retrieved from the regional edge cache, improving
delivery efficiency and reducing latency.
3. Managed Services: Beyond providing infrastructure, IaaS providers offer various management
services such as:
Monitoring & Logging: Ensures system performance is tracked, and any anomalies are
flagged.
Security Management: Applies consistent security policies across all components to protect
data and systems.
Automation: Includes automated policies for backups, disaster recovery, and load balancing
to enhance reliability.
AWS API
Amazon API Gateway is a fully managed service that makes it easy for developers to create,
publish, maintain, monitor, and secure APIs at any scale.
It acts as the "front door" for applications to access data, business logic, or functionality from
your backend services, such as code running on AWS Lambda, applications on Amazon EC2, or
data stored in databases.
In modern cloud architecture, API Gateway is the glue that holds microservices together,
handling the heavy lifting of accepting and processing up to hundreds of thousands of concurrent
API calls.
Lowest Latency
Higher latency (due to Persistent, bidirectional
Performance (optimized for
feature overhead). connection.
speed).
Cheapest
More Expensive Metered by connection
Cost (~$1.00/million
(~$3.50/million requests). minutes + messages.
requests).
1. Console Home
Once logged in, the first screen you will see is the Console Home.
This page contains various components that allow you to manage your AWS services and
resources.
The layout of Console Home provides easy access to key areas for managing your cloud
infrastructure.
2. Account Information
On top right corner there is option with username. Clicking on username gives various option related to
AWS user account. User settings can be managed from these various options.
Account : Account option provides information about user account.
Organization: This option shows collection of multiple AWS accounts.
Service Quotas : This option shows maximum limits of services and resources in AWS
account.
Billing and Cost management: Billing dashboard gives overview of billing for AWS
account.
Security Credentials: This menu shows IAM menu where various security related stuff can
be managed.
3. AWS Regions
Next to the username, you’ll see the AWS Region indicator. Clicking it shows the current
region and provides a list of all available AWS regions.
You can select the region that best suits your needs for deploying resources.
4. AWS Settings
The small gear icon represents AWS Settings, where you can manage general settings for the
AWS console:
5. AWS Support
Expert Help : This will connect you to the any AWS expert available.
Various documentation and other related links are also present in support.
[Link] Notifications
The bell icon provides AWS Notifications, displaying alerts related to your AWS services,
including any health events that may affect your resources.
AWS Cloud Shell is a browser-based shell that comes pre-authenticated with your console
credentials.
You can use it to run AWS CLI commands or scripts directly from your browser.
8. AWS Search
The Search option allows you to search across AWS for specific services, features, blogs,
documentation, tutorials, and other resources. It helps you quickly locate relevant information:
Services: List of AWS services
Features: List of features of AWS services
Blogs: Posts from the AWS blog
Documentation: AWS Documentation
Knowledge Articles: AWS Premium Support Knowledge Center
Tutorials: Guides from the AWS Getting Started Resource Center
Events: AWS hosted events that are upcoming, or available on-demand
Marketplace: AWS Marketplace offerings that you can deploy in your AWS account
This contains number of widgets for various purposes. It helps user for easy navigation and
overview of their services and resources in AWS.
The widgets can be added or removed as per user preference. Add widget button can be used to
add new widget.
AWS Health: information on events that might affect your AWS infrastructure and account.
Cost and usage: an overview of service costs, with a breakdown by AWS service
Favourites: a list of your favourite AWS services
Recently visited: a list of top recently visited services.
Trusted Advisor: recommendations to follow AWS best practices
Setting up AWS Storage
Amazon Simple Storage Service (S3) is an object storage service that offers industry-leading
scalability, data availability, security, and performance.
It is the backbone of the AWS ecosystem, used by everyone from tiny startups to massive
enterprises like Netflix and Airbnb to store petabytes of data. Core Architecture: Buckets and
Objects
S3 Storage Classes
S3 offers a range of storage classes designed for different access patterns and costs.
Availability
Storage Class Access Frequency Zones Use Case
Amazon S3 Usage
Amazon S3 is used for various purposes in the Cloud because of its robust features with scaling and
Securing of data.
It helps people with all kinds of use cases from fields such as Mobile/Web applications, Big
data, Machine Learning and many more. The following are a few Wide Usage of Amazon S3 service.
Data Storage: Amazon s3 acts as the best option for scaling both small and large storage
applications.
Backup and Recovery: Many Organizations are using Amazon S3 to backup their critical
data and maintain the data durability and availability for recovery needs.
Hosting Static Websites: Amazon S3 facilitates in storing HTML, CSS and other web
content from Users/developers allowing them for hosting Static Websites.
Data Archiving: Amazon S3 Glacier service integration helps as a cost-effective solution
for long-term data storing which are less frequently accessed applications.
Big Data Analytics: Amazon S3 is often considered as data lake because of its capacity to
store large amounts of both structured and unstructured data.
Step 1: Login into the Amazon account with your credentials and search form S3 and click on the S3.
Now click on the option which is "Create bucket" and configure all the options which are shown
while configuring.
Step 2: After configuring the AWS bucket now upload the objects into the buckets based upon your
requirement. By using the AWS console or by using AWS CLI following is the command to upload
the object into the AWS S3 bucket.
aws s3 cp <local-file-path> s3://<bucket-name>/
Step 3: You can control the permissions of the objects which was uploaded into the S3 buckets and
also who can access the bucket. You can make the bucket public or private by default the S3 buckets
will be in private mode.
Step 4: You can manage the S3 bucket lifecycle management by transitioning. Based upon the rules
that you defined S3 bucket will be transitioning into different storage classes based on the age of the
object which is uploaded into the S3 bucket.
Step 5: You need to turn to enable the services to monitor and analyze S3. You need to enable the S3
access logging to record who was requesting the objects which are in the S3 buckets.
Upload and Manage Files on Amazon S3
Create an Amazon S3 bucket to upload and manage files.
Upload files using AWS SDKs, AWS CLI, or the Amazon S3 Management Console.
Organize files into folders and apply access controls to secure data access.
Use features like Versioning and Lifecycle policies to manage data efficiently and optimize
storage costs.
You can access the AWS S3 bucket using the AWS management console which is a web-based
user interface.
Firstly you need to create an AWS account and login to the Web console and from there you can
choose the S3 bucket option from Amazon S3 service. ( AWS Console >> Amazon S3 >> S3
Buckets )
In this methods firstly you have to install the aws cli software in the terminal and try on
configuring the aws account with access key, secret key and the default region.
Then on taking the aws --help, you can figure out the s3 service usage.
3. Programming scripts
You can configure the Amazon S3 bucket by using a scripting programing languages like Python
and with using libraries such as boto3 library you can perform the AWS S3 tasks.
To know more about refer this article - How to access Amazon S3 using python script.
2. Access Control Lists (ACLs): ACLs are legacy access control mechanisms for S3 buckets
instead of ACLs we are using the bucket policies to control the permissions of the S3 bucket.
By using ACL you can grant the read, and access to the S3 bucket or you can make the
objects public based on the requirements.
3. IAM Policies: IAM policies are mostly used to manage the permissions to the users and
groups and resources available in the AWS by using the IAM roles options. You can attach
an IAM policy to an IAM entity (user, group, or role) granting them access to specific S3
buckets and operations.
Use Cases
1. Static Website Hosting: Host HTML, CSS, and JS files directly from S3 without a web
server.
2. Data Lakes: Store structured and unstructured data at scale to run analytics using Athena,
Redshift, or EMR.
3. Backup & Archive: Replace tape drives with Glacier Deep Archive for secure, compliant
long-term storage.
4. Application Hosting: Store user uploads (images, videos) for mobile and web apps.
Elastic: You can easily increase or decrease the number of instances or their size as your
needs change.
Compute: It provides the processing power, memory, and storage for your workloads.
Cloud: It runs on AWS's massive, global data center infrastructure.
Before launching an instance, you need to understand its five fundamental building blocks.
5. Key Pairs
A Key Pair, consisting of a public key and a private key, is the set of security credentials used to
prove your identity when connecting to a Linux EC2 instance.
AWS stores the public key, and you are responsible for securely storing the private key file
(.pem). You will use this private key to SSH into your instance.
Step 2: Afterward, you will be redirected to the EC2 console. Here is the image attached to refer to
various features in EC2. Working of AWS EC2
Instead of buying and managing your own servers, EC2 gives you a virtual machine, where you can run
websites, apps, or even big data tasks.
Choose the memory, storage, and CPU you need, and stop the instance when done.
EC2 offers secure, reliable, high-performance, and cost-effective infrastructure.
Deploy applications without managing physical hardware.
Secure your instance using VPC, Subnets, and Security Groups.
Attach Auto Scaling to scale EC2 based on demand.
Automatically scale up or down based on traffic.
Amazon Linux
Windows Server
Ubuntu Server
SUSE Linux
Red Hat Linux
3. AWS EC2 Software
Leads the cloud computing market with diverse EC2 options
Allows users to choose from a wide range of software for EC2 instances
Provides access to software like SAP, LAMP, and Drupal through AWS Marketplace
There are few things that we think developers will really like about this service. First, Amazon
EKS runs the upstream version of the open-source Kubernetes software, so you can use all the
existing plugins and tooling from the Kubernetes community.
Applications running on Amazon EKS are fully compatible with applications running on any
standard Kubernetes environment, whether running in on-premises datacenters or public clouds.
This means that you can easily migrate your Kubernetes application to Amazon EKS with zero
code changes.
Second, Amazon EKS automatically runs K8s with three masters across three AZs to protect
against a single point of failure.
This multi-AZ architecture delivers resiliency against the loss of an AWS Availability Zone.
How it Works
Now, let’s see how some of this works. Amazon EKS integrates IAM authentication with
Kubernetes RBAC (the native role based access control system for Kubernetes) through a
collaboration with Heptio.
You can assign RBAC roles directly to each IAM entity allowing you to granularly control access
permissions to your Kubernetes masters.
This allows you to easily manage your Kubernetes clusters using standard Kubernetes tools, such
as kubectl.
You can also use Private Link if you want to access your Kubernetes masters directly from your
own Amazon VPC.
With Private Link, your Kubernetes masters and the Amazon EKS service endpoint appear as an
elastic network interface with private IP addresses in your Amazon VPC.
This allows you to access the Kubernetes masters and the Amazon EKS service directly from
within your own Amazon VPC, without using public IP addresses or requiring the traffic to
traverse the internet.
Finally, we also built an open source CNI plugin that anyone can use with their Kubernetes
clusters on AWS. This allows you to natively use Amazon VPC networking with your
Kubernetes pods.
With Amazon EKS, launching a Kubernetes cluster is as easy as a few clicks in the AWS
Management Console. Amazon EKS handles the rest, the upgrades, patching, and high
availability.
Both can integrate with AWS cloud build that can import your git hub and other Google
cloud storage to your specifications and produce containers.
Both uses git repositories.
Both supports code review.
Benefits of using AWS Code Commit
1. Highly Scalable: It scales up or scales down according to your data and can handle large
repositories and the number of branches with ease.
2. Fully Manageable: As a developer you need to focus more on the development rather than
the management or maintaining the hardware or the software. This service provide you to
focus more on production and it manages all the underlying needs and make it highly
available and durable.
3. Work collaboratively: It allows multiple users to work upon the single source code at
different section at a same time with ease. The changes and the updates are later merged and
pushed in the repository.
4. Security: It provides a secure environment to store your source code, documents, binary files
and many more. It uses the encryption technique to secure your stored data. AWS uses IAM
roles to secure your data which allows you to share your data to specific people.
5. Migration- Its most advantageous feature that allow user to migrate its git repository to the
Code Commit easily.
Step 1: Login to your AWS account and navigate to the Amazon Management console. In the
search bar search for the AWS Code Commit .
A Code Commit service window will appear.
Step 2: Click on create repository to create the repository in aws Code Commit. Type a name
and add a description of it and then click on create.
Step 3: A success message will appear on the screen showing successful creation of repository.
Step 4: There are two ways to connect your repository HTTP and SSH. In this we are using
HTTP. Click on create file to add your file.
Step 5: In this we are typing a text file. you can store your source code or any other binary files.
Step 6: Add Filename, Author name, Email ID, Commit message and click on Commit Changes.
Step 7: This is how you can create your repository easily within few clicks.
AWS Code Commit can be integrated with a variety of tools and services to facilitate a seamless
workflow for developers.
For example, AWS Code Commit can be integrated with AWS Code Pipeline to automate the
build, test, and deploy process for code changes.
This can help to reduce the time and effort required to release new features and updates to your
applications.
AWS Code Commit can also be integrated with other version control systems such as Git.
This can be useful if you have an existing codebase that you want to migrate to AWS Code
Commit, or if you want to continue using your existing Git tools while taking advantage of the
security and scalability of AWS Code Commit.
Fully managed – Code Build eliminates the need to set up, patch, update, and manage your own
build servers.
On demand – Code Build scales on demand to meet your build needs. You pay only for the
number of build minutes you consume.
Out of the box – Code Build provides preconfigured build environments for the most popular
programming languages. All you need to do is point to your build script to start your first build.
You can use the AWS Code Build or AWS Code Pipeline console to run Code Build.
You can also automate the running of Code Build by using the AWS Command Line Interface
(AWS CLI) or the AWS SDKs.
As the following diagram shows, you can add Code Build as a build or test action to the build or
test stage of a pipeline in AWS Code Pipeline.
AWS Code Pipeline is a continuous delivery service that you can use to model, visualize, and
automate the steps required to release your code. This includes building your code. A pipeline is a
workflow construct that describes how code changes go through a release process.
Use Infrastructure as Code (IaC) – Define pipelines using AWS CloudFormation or Terraform.
Automate Testing – Implement unit, integration, and end-to-end tests to catch issues early.
Implement Canary Deployments – Reduce risk by gradually shifting traffic to new versions.
Enable Logging and Monitoring – Use CloudWatch, AWS X-Ray, and AWS Config for
visibility.
Secure Code Repositories – Use IAM policies, AWS Secrets Manager, and encryption.
AWS Code Pipeline
AWS Code Pipeline is a fully managed continuous delivery service that automates the build, test,
and deployment phases.
It integrates with various AWS services and third-party tools like GitHub, Bitbucket, Jenkins, and
AWS Code Commit.
1. Source Stage – Fetches the latest code from repositories like GitHub, Code Commit, or S3.
2. Build Stage – Uses AWS Code Build to compile, test, and package the application.
3. Test Stage – Run automated tests to validate functionality.
4. Deploy Stage – Uses AWS Code Deploy to release the application to various environments.
Setting Up a Simple AWS Code Pipeline
1. Navigate to the AWS Code Pipeline console and click Create Pipeline.
2. Select a Source Provider (AWS Code Commit, GitHub, S3).
3. Configure AWS Code Build as the build provider.
4. Choose AWS Code Deploy or another deployment method.
5. Define the deployment environment (e.g., EC2, Lambda, or ECS).
6. Review and create the pipeline.
Once set up, Code Pipeline automatically triggers the build and deployment process when new code is
pushed.
AWS Management Tools: Cloud Watch, AWS Auto Scaling, AWS control
Tower, Cloud Formation, Cloud Trail, AWS License Manager
Cloud Watch
Amazon CloudWatch is a monitoring and management service built for developers, system
operators, site reliability engineers (SRE), and IT managers.
CloudWatch provides you with data and actionable insights to monitor your applications,
understand and respond to system-wide performance changes, optimize resource utilization, and
get a unified view of operational health.
CloudWatch collects monitoring and operational data in the form of logs, metrics, and events,
providing you with a unified view of AWS resources, applications and services that run on AWS,
and on-premises servers.
You can use CloudWatch to set high resolution alarms, visualize logs and metrics side by side,
take automated actions, troubleshoot issues, and discover insights to optimize your applications,
and ensure they are running smoothly.
As enterprises migrate to AWS, they typically have a large number of applications and distributed
teams. They often want to create multiple accounts to allow their teams to work independently,
while still maintaining a consistent level of security and compliance.
In addition, they use AWS management and security services, such as AWS Organizations,
Service Catalog and AWS Config, that provide very granular controls over their workloads.
They want to maintain this control, but they also want a way to centrally govern and enforce the
best use of AWS services across all the accounts in their environment.
AWS Control Tower automates the set-up of their landing zone and configures AWS
management and security services based on established best practices in a secure, compliant,
multi-account environment. Distributed teams are able to provision new AWS accounts quickly,
while central teams have the peace of mind knowing that new accounts are aligned with centrally
established, company-wide compliance policies.
This gives you control over your environment, without sacrificing the speed and agility AWS
provides your development teams.
Cloud Formation
AWS CloudFormation gives developers and systems administrators an easy way to create and
manage a collection of related AWS resources, provisioning and updating them in an orderly and
predictable fashion.
You can use the AWS CloudFormation sample templates or create your own templates to
describe your AWS resources, and any associated dependencies or runtime parameters, required
to run your application. You don’t need to figure out the order for provisioning AWS services or
the subtleties of making those dependencies work. CloudFormation takes care of this for you.
After the AWS resources are deployed, you can modify and update them in a controlled and
predictable way, in effect applying version control to your AWS infrastructure the same way you
do with your software.
You can also visualize your templates as diagrams and edit them using a drag-and-drop interface
with AWS Infrastructure Composer.
Cloud Trail
AWS CloudTrail is a web service that records AWS API calls for your account and delivers log
files to you.
The recorded information includes the identity of the API caller, the time of the API call, the
source IP address of the API caller, the request parameters, and the response elements returned by
the AWS service.
With CloudTrail, you can get a history of AWS API calls for your account, including API calls
made using the AWS Management Console, AWS SDKs, command line tools, and higher-level
AWS services (such as CloudFormation).
The AWS API call history produced by CloudTrail enables security analysis, resource change
tracking, and compliance auditing.
AWS License Manager makes it easier to manage licenses in AWS and on-premises servers from
software vendors such as Microsoft, SAP, Oracle, and IBM.
AWS License Manager lets administrators create customized licensing rules that emulate the
terms of their licensing agreements, and then enforces these rules when an instance of Amazon
EC2 gets launched. Administrators can use these rules to limit licensing violations, such as using
more licenses than an agreement stipulates or reassigning licenses to different servers on a short-
term basis.
The rules in AWS License Manager enable you to limit a licensing breach by physically stopping
the instance from launching or by notifying administrators about the infringement.
Administrators gain control and visibility of all their licenses with the AWS License Manager
dashboard and reduce the risk of non-compliance, misreporting, and additional costs due to
licensing overages.
AWS License Manager integrates with AWS services to simplify the management of licenses
across multiple AWS accounts, IT catalogs, and on-premises, through a single AWS account.
License administrators can add rules in Service Catalog, which allows them to create and manage
catalogs of IT services that are approved for use on all their AWS accounts.
Through seamless integration with AWS Systems Manager and AWS Organizations,
administrators can manage licenses across all the AWS accounts in an organization and on-
premises environments.
AWS Marketplace buyers can also use AWS License Manager to track bring your own license
(BYOL) software obtained from the Marketplace and keep a consolidated view of all their
licenses.