AWS Cloud computing
[ EC2, S2 Bucket, IAM, VPC, DNS, Load Balancing ]
AWS is a cloud computing platform which provide wide rage of services for compute, storage, database, networking and more. It is used for its flexibility, scalability, cost effective, security and globally reach .
Difference between On Premises and Cloud
On Premises
Place is required
commitment
up front cost
H/W and S/W purchase required
management and Maintenance is required
Headache
Cloud
No place is required
no commitment
no up front cost
H/W and S/W available on rent
No Management and maintenance is required
No Headache
Features
Cost effective
Flexibility → [* Maintenance * Management *Provisioning → [H/w and S/w Provisioning] ]
Security → [*Network *data]
Scalability
Globally reach
Availability
Top Cloud venders
AWS
Microsoft
Google
IBM
Alibaba
Cloud computing :-
Platform of IT resources → H/w [CPU, RAM, HDD] S/w [ .ISO file ]
Access mode → AWS Portal
Access Medium → Internet
Pricing model → Pay as you go
Cloud Computing provide various model : →
IaaS → Infra as a service [
In infra as a service venders provide a platform where we can run our Hardware with the help of virtualization and managed by a cloud venders and rest of the services are managed by a Company.
An IaaS cloud provider gives a variety of computing infrastructure such as Storage, Services, Networking hardware and all of this managed and maintained by the cloud venders
]
PaaS → Platform as a service [ Here Infra and hardware and software are provided by the venders and rest is managed by us ]
SaaS → Software as a service [ Software as a service is everything is managed by a Venders and the deployment and framework is already set ]
On Premises → Physical Approach [ In a traditional method where all the hardware and software are managed by the company for which company required a Space, H/w and S/w resource, Management and maintenance team and more ]
Amazon EC2
AWS EC2 (Elastic Compute Cloud) →
Amazon Elastic Compute cloud is a web base service which provide on demand scalable computing capacity which is determine by the workload our task.
Using EC2 we can launch various virtual servers as we need, configure security and networking and manage storage and reduce the hardware cost and helps to develop and deploy application faster.
EC2 provide various features :→
Scalability →
Various instance types →
Security →
Flexibility →
Amazon EC2 provide various high level features : →
Instance → Instance are the virtual servers that we can use to run application on the AWS infrastructure. These are the following instance type available on AWS EC2 : →
General Purpose → are used for those work which have low workload requirement and provide a balanced compute , storage, and networking resources ( t2.Micro, t3.mirco, m5, mac1, mac2 and more )
Use case →
Compute Optimized → are used for the workload which required high performance processor for the computing power ( C5, C5a, C6a, C7a and more )
Use case →
Memory Optimized → are used to deliver fast performance of a workload that process large set of data in a memory and has to constantly sharing data from memory storage to the processor . These instance are used for the high performance databases and real-time big data analytics ( R5, R6g, R6i, X1 )
Use case →
Storage Optimized → If we have a high workload that is required high read and write in a large set or data and use for data warehousing and for file system we have Storage Optimized EC2 instance ( I2, I3en, I4i, D2, D3, D3en )
Use case →
Accelerated Computing → Accelerated Computing EC2 instances are used for compute intensive task by using hardware accelerators such as GPU which boost performance of a computing device and it is used for AI and ML and hardware accelerated performance ( P3, P4, G4, G5, F1 )
Use case →
High - performance power → are used to deliver high level of processing power for the application which require high end computational recourses and used for the large-scale machine learning application ( C5, C6g, C6i, C7g, and hpc6a )
Use case →
AMI (Amazon machine image) →
Amazon Machine Instance are the pre-configured templets that is used to create new instance in Amazon EC2. It includes operating system, application servers, applications and all the configuration files that is required to run a particular type of workload.
Launch Permissions →
The owner of the AMI determines the availability by specifying the launch permissions.
these launch permissions are divided into 3 parts
Public → Owner Grant permission to all the AWS users
Implicit → Only owner is allowed or The default user has the permission to access.
Explicit → In explicit permission is only granted to only specific users or the organization.
instance type →
Instance type defines the hardware configuration of an amazon EC2 instance which include CPU, memory, storage, and network capabilities.
AWS offers various type of instance type which is use to handle different type of workload and have a different use cases
Types → General Purpose, Compute Optimized, Memory Optimized, Storage Optimized, Accelerated Computing, and High-Performance Computing.
Amazon EBS volume → Amazon EBS provide Block-level storage volumes for use with Amazon EC2 instance. It provide storage that is highly available, scalable and designed for use with the capability of your workload .
There are two type of EBS volumes : →
Root Volume → Root volume is the storage space where all our root, configuration, and boot up files are stored.
Storage Volume → This is the secondary storage volume where all our the document are stored and the third party software information and other details.
we can not use the Secondary storage volume as a root volume because
Instance store volume → Instance storage volume is a block level storage in aws which is physically attached with the host machine.
These are the temporary storage volumes and data is lost when the instance is stopped or terminated
Instance store volume is used for its high performance and provides high I/O performance and low latency
It is used for its temporary storage like caches, buffer and scratch data.
key pairs → Key pairs in AWS EC2 in the security credentials the are used to identify when we connect to the instance
There are two type of key pare 1. Public 2. Private
Public key are stored in our instance allowing it to encrypt our data.
Private key is given to the user which is use to decrypt data sent by a instance
Key pairing is used for securely accessing EC2 instance via SSH for linux and RDP for windows
Amazon S3 Bucket
Amazon S3 bucket is a Simple Storage Service that provide object storage service that offers scalability, security, data availability and performance. It allow user to store and retrieve all kind of data through out the web.
Object storage → means storing a file and all the metadata that describe that file
We can upload objects to the bucket. When the object is in the bucket we can open it, download it, move it and when we don’t required a that file we can clear up the resources.
Default s3 class is S3 Standard or S3 Express One zone for frequent access
S3 standard data are stored in 6 zones and has a high cost.
S3 Express One zone are for frequent access and only store data in one zone so it require low cost.
Amazon IAM
VPC
VPC is a virtual private cloud is a isolated section of AWS cloud where we can define our own private networks. We can control the network configuration of our network , including its ip address range, subnet, route table, internet gateway.
it is used to create a secure and scalable for hosting application, database and other resources on cloud platform
Amazon SNS
AWS SNS is a Simple notification Service that allow to send messages to the Public/subscribers for both application to application (A2A) or Application to Person (A2P) communication .
It Provides various features like →
Pub/sub Messaging
Push Notification
SMS
Email
Lambda integration
Message Filtering
How SNS Works →
Publisher → Publishes a message to SNS
SNS Topic → Take the published message and routes it to the appropriate subscribers.
Subscribe → Receives and processes the message.
Common Use Cases
Application Alerts: Send alerts to operations teams when there are application failures.
User Notifications: Notify users about application events (e.g., account creation, password changes).
Distributed Systems: Facilitate communication between decoupled components of a distributed system.
Mobile Push Notifications: Send push notifications to mobile applications.
Basic Steps to Use AWS SNS
Create a Topic:
Go to the SNS dashboard.
Click "Create Topic".
Choose a type (Standard or FIFO).
Enter a name for the topic.
Create the topic.
Create a Subscription:
Go to the topic you created.
Click "Create Subscription".
Choose a protocol (Email, SMS, Lambda, etc.).
Enter the endpoint (e.g., email address, phone number).
Create the subscription.
Publish a Message:
Go to the topic you created.
Click "Publish Message".
Enter the message subject and body.
Publish the message.
Receive Messages:
Subscribers receive the message via their specified endpoints (e.g., email, SMS).