Module 5 (8)
Module 5 (8)
There are multiple cloud computing platforms available, each offering different
types of services.
A cloud system can be developed using:
● A single technology/vendor or
● A combination of multiple technologies/vendors.
Amazon web services
● Amazon Web Services (AWS) is a cloud platform that helps develop flexible
applications.
● It provides scalable infrastructure, messaging, and data storage
solutions.
● AWS can be accessed using SOAP or RESTful web service interfaces.
● It offers a web-based console for managing resources, monitoring usage,
and tracking costs on a pay-as-you-go basis.
Key AWS Services
AMIs can have an associated product code, allowing the owner to earn
revenue whenever someone uses the AMI to launch an EC2 instance.
EC2 Instances (Virtual Machines in AWS)
EC2 instances are virtual machines created using Amazon Machine Images
(AMIs) as templates.
ECUs (EC2 Compute Units) measure the computing power of a virtual core.
● One ECU is equal to a 1.0–1.2 GHz 2007 Opteron or Xeon processor.
● ECUs help AWS keep performance consistent even when hardware is
upgraded over time.
1. Instead of buying hardware, users rent computing power, making cloud
computing more flexible and scalable.
AWS offers six major categories of EC2 instances. Here are three key types:
2. Standard Instances:
○ Suitable for most applications.
○ Comes in three levels, each offering higher computing power,
storage, and memory.
3. Micro Instances:
○ Designed for low-power applications.
○ Can handle occasional CPU bursts for unexpected workload surges.
○ Ideal for small web applications with limited traffic.
High-Memory Instances:
● Designed for applications needing large memory capacity.
● Suitable for high-traffic, three-tier web applications.
● Available in three levels, with memory increasing proportionally to CPU
power.
High-CPU Instances:
● Designed for compute-intensive applications.
● Available in two configurations, where computing power increases more
than memory.
● Suitable for tasks requiring high processing power but not much memory.
Cluster Compute Instances:
● Designed for virtual cluster services.
● Features high CPU power, large memory, and extremely high I/O &
network performance.
● Best for High-Performance Computing (HPC) applications that need fast
processing and data transfer.
Cluster GPU Instances are designed for applications that require high-
performance graphics processing.
These instances come with Graphics Processing Units (GPUs) along with:
● High computing power
● Large memory
● Extremely high I/O and network performance
They are ideal for graphic-intensive tasks such as:
● Rendering clusters (e.g., animations, simulations).
● High-Performance Computing (HPC) applications.
Since GPUs can be used for general-purpose computing (GPGPU), users can
harness extra computing power for complex calculations beyond graphics.
EC2 Environment (Virtual Machine Setup in AWS)
EC2 instances run in a virtual environment that provides essential services
such as:
● Allocating IP addresses
● Attaching storage volumes
● Configuring security settings (access control, network connectivity)
IP Addressing in EC2:
● By default, instances get an internal IP address (for communication within
the EC2 network).
● Instances can access the Internet as clients using this internal IP.
● To make an instance publicly accessible, an Elastic IP (EIP) can be assigned.
● Elastic IPs are flexible: they can be reassigned to different instances over
time, allowing failover capabilities.
Domain Naming System (DNS) in EC2:
● Each instance gets a domain name (e.g., ec2-xxx-xxx-xxx.compute-
x.amazonaws.com).
● The xxx-xxx-xxx part represents the external IP address.
● The compute-x part indicates the AWS availability zone where the instance
is deployed.
1. AWS CloudFormation
Immutable Objects
● Once stored, objects cannot be modified, renamed, or relocated.
● To update an object, it must be deleted and re-uploaded.
Eventual Consistency
● S3 uses replication for redundancy, meaning changes take time to reflect
globally.
● Large objects may experience delays in availability across different regions.
● Canonical Form:
Metadata
● Object metadata cannot be directly accessed through a URL.
● Metadata is manipulated by adding attributes to the request in the URL, not
part of the identifier.
Buckets
● A bucket is a container for storing objects (files) in Amazon S3.
● Think of it like a virtual drive or storage space.
● Buckets are top-level elements, meaning they cannot be nested or have sub-
buckets.
● To view the content inside a bucket, send a GET request specifying the bucket name.
Object Metadata
● What it is: Server access logging tracks detailed information about the requests
made to a bucket and its objects (e.g., who accessed the objects, when, and from
where).
● How to enable: By default, this feature is off. You can turn it on by sending a PUT
request to the bucket URI (with /logging at the end).
● Required information:
○ The request must include an XML file specifying:
■ The target bucket where logs will be saved.
■ The file name prefix for the log files.
● Retrieve logging configuration: To view the current logging settings, send a
GET request to the same bucket URI.
Integration with BitTorrent
● What it is: S3 objects can be exposed to the BitTorrent file-sharing
network. This means files stored in S3 can be downloaded using the
BitTorrent protocol.
● How to enable: You can expose an S3 object to BitTorrent by adding torrent
to the end of the object’s URI (e.g.,
http://s3.amazonaws.com/bucket_name/object_name?torrent).
● Permission required: For users to download the object via BitTorrent, the
Access Control Policy (ACP) of the object must allow read permission to
everyone.
Amazon elastic block store
● Amazon Elastic Block Store (EBS) provides persistent storage for EC2 instances.
● It allows data to be stored even after the instance is stopped or terminated.
● EBS volumes usually reside in the same availability zone as the EC2 instance
using them, ensuring high performance.
● Volumes from different availability zones can also be connected if needed.
● Volumes are lazily loaded, meaning data is fetched in the background as needed.
● Multiple EBS volumes can be attached to a single EC2 instance.
● A volume can be created from a snapshot and its size modified (if the file system
supports resizing).
Limitations
How It Works
● Automatic patching, failure detection, and recovery ensure the cache remains
available without user intervention.
● Users only need to adjust cluster size when necessary.
Pricing
● Follows the EC2 pricing model with a small additional cost for the caching
service.
● Different instance types are available based on performance needs.
Structured Storage Solutions in AWS
Many enterprise applications use databases to store and analyze data.
Traditionally, Relational Database Management Systems (RDBMS) have been
widely used, but more scalable and lightweight alternatives are now available.
Amazon SimpleDB is a lightweight, scalable, and flexible data storage solution for
applications that do not require a fully relational database.
Key Features
Scalability Limits
Operations Supported
How It Works
1. Virtual Networking
2. Messaging Services
1. Amazon CloudWatch
● Monitors and provides detailed statistics about AWS services.
● Collects data from EC2, S3, SimpleDB, CloudFront, and other AWS
services.
● Helps developers analyze usage patterns, performance, and costs to
optimize applications.
● Initially required a subscription but is now free for all AWS users.
1. Infrastructure – The base system that ensures the platform runs efficiently.
2. Runtime Environment – Provides the necessary tools to execute
applications in supported languages.
3. Storage – The underlying database and file storage system for storing
application data.
4. Scalable Services – A set of tools that help developers design applications
that can scale easily.