Overview of Amazon Web Services (AWS)
Overview of Amazon Web Services (AWS)
1
4/4/2024
2
4/4/2024
What is AWS?
• The full form of AWS is Amazon Web Services.
• It is a platform that offers flexible, reliable, scalable, easy-to-use and,
cost-effective cloud computing solutions.
• AWS is a comprehensive, easy to use computing platform offered
Amazon.
• The platform is developed with a combination of
• infrastructure as a service (IaaS),
• platform as a service (PaaS)
• software as a service (SaaS)
• History of AWS
• 2002- AWS services launched
• 2006- Launched its cloud products
• 2012- Holds first customer event
• 2015- Reveals revenues achieved of $4.6 billion
• 2016- Surpassed $10 billon revenue target
• 2016- Release snowball and snowmobile
• 2019- Offers nearly 100 cloud services
• 2021- AWS comprises over 200 products and services
3
4/4/2024
4
4/4/2024
Migration
Migration services used to transfer data physically between your datacenter
and AWS.
[Link] (Database Migration Service)– DMS service can be used to
migrate on-site databases to AWS. It helps you to migrate from one type
of database to another — for example, Oracle to MySQL.
[Link] (Server Migration Service)– SMS migration services allows you to
migrate on-site servers to AWS easily and quickly.
[Link]— Snowball is a small application which allows you to transfer
terabytes of data inside and outside of AWS environment.
Storage
[Link] Glacier- It is an extremely low-cost storage service. It offers secure
and fast storage for data archiving and backup.
[Link] Elastic Block Store (EBS)- It provides block-level storage to use
with Amazon EC2 instances. Amazon Elastic Block Store volumes are network-
attached and remain independent from the life of an instance.
[Link] Storage Gateway- This AWS service is connecting on-premises software
applications with cloud-based storage. It offers secure integration between the
company’s on-premises and AWS’s storage infrastructure.
10
5
4/4/2024
Security Services
[Link] (Identity and Access Management)— IAM is a secure cloud security
service which helps you to manage users, assign policies, form groups to
manage multiple users.
[Link]— It is an agent that you can install on your virtual machines, which
reports any security vulnerabilities.
[Link] Manager— The service offers free SSL certificates for your
domains that are managed by Route53.
[Link] (Web Application Firewall)— WAF security service offers application-
level protection and allows you to block SQL injection and helps you to block
cross-site scripting attacks.
[Link] Directory— This service allows you to create flexible, cloud-native
directories for managing hierarchies of data along multiple dimensions.
11
Database Services
[Link] RDS- This Database AWS service is easy to set up, operate, and scale
a relational database in the cloud.
[Link] DynamoDB- It is a fast, fully managed NoSQL database service. It is
a simple service which allow cost-effective storage and retrieval of data. It also
allows you to serve any level of request traffic.
[Link] ElastiCache- It is a web service which makes it easy to deploy,
operate, and scale an in-memory cache in the cloud.
[Link]- It is a fast, reliable and scalable graph database service.
[Link] RedShift- It is Amazon’s data warehousing solution which you can
use to perform complex OLAP queries.
12
6
4/4/2024
13
14
7
4/4/2024
15
16
8
4/4/2024
17
18
9
4/4/2024
Different Amazon EC2 instance types are designed for certain activities.
Consider the unique requirements of your workloads and applications when choosing an
instance type.
This might include needs for computing, memory, or storage.
19
20
10
4/4/2024
General-Purpose Instances
• The computation, memory, and networking resources in general-purpose instances are balanced
and can be used for a variety of diverse workloads.
• Scenarios, where you can use General Purpose Instances, are gaming servers, small databases,
personal projects, etc.
• Assume you have an application with a kind of equal computing, memory, and networking
resource requirements.
• Because the program does not require optimization in any particular resource area, you can use
a general-purpose instance to execute it.
Examples:
• The applications that require computing, storage, networking, server performance, or want
something from everything, can utilize general-purpose instances.
• If high-performance CPUs are not required for your applications, you can go for general
purpose instances.
21
Compute-Optimized Instances
• Compute-optimized instances are appropriate for applications that require a lot of computation
and help from high-performance CPUs.
• You may employ compute-optimized instances for workloads including application and gaming
servers just like general purpose instances.
• Compute-optimized programs, on the other hand, are best suited for high-performance web
servers, compute-intensive application servers, and dedicated gaming servers.
• Compute-optimized instances can also be used for batch processing workloads that require
processing several transactions in a single group.
Examples:
• Applications that require high server performance or that employ a machine learning model will
benefit from compute-optimized instances.
• If you have some batch processing workloads or high-performance computing.
• Dedicated gaming servers and ad server engines.
22
11
4/4/2024
Memory-Optimized Instances
• Memory-optimized instances are geared for workloads that need huge datasets to be processed in memory.
Memory here defines RAM which allows us to do multiple tasks at a time.
• It stores all of the data and instructions that a central processing unit (CPU) needs to perform tasks.
• A computer program or application must be loaded from storage into memory before it can run. This process of
preloading gives the CPU direct access to the computer program.
• Assume you have a workload that necessitates the preloading of significant volumes of data prior to executing an
application.
• A high-performance database or a task that requires real-time processing of a significant volume of unstructured
data might be involved in this scenario.
• In this case, consider using a memory-optimized instance. Memory-optimized instances allow you to run
applications that require a lot of memory and still get exceptional performance.
Examples:
• If your application uses a relational or non-relational database and needs to handle data quickly.
• Processes that do not need a big quantity of data yet require speedy and real-time processing.
• Real time Big data analysis
23
• Coprocessors are used in accelerated computing instances to execute specific operations more
effectively than software running on CPUs.
• Floating-point numeric computations, graphics processing, and data pattern matching are
examples of these functions.
• A Hardware-Accelerator/ Co-processor is a component in computing that may speed up data
processing.
• Graphics applications, game streaming, and application streaming are all good candidates for
accelerated computing instances.
Examples:
• If the application utilizes floating-point calculations or graphics processing, accelerated
computing instances will be the best amongst all.
• Also, data pattern matching can be done more efficiently with this instance type.
• Memory intensive applications such as high performance databases.
24
12
4/4/2024
25
Instance lifecycle
An Amazon EC2 instance transitions through different states from the moment you launch it
through to its termination.
26
13
4/4/2024
27
28
14
4/4/2024
• Amazon Simple Storage Service (Amazon S3) is an object storage service that offers
industry-leading scalability, data availability, security, and performance.
• Customers of all sizes and industries can use Amazon S3 to store and protect any
amount of data for a range of use cases, such as websites, mobile applications, backup
and restore, enterprise applications, IoT devices, and big data analytics.
• Amazon S3 provides management features so that you can optimize, organize, and
configure access to your data to meet your specific business, organizational, and
compliance requirements.
29
Advantages of Amazon S3
• Create Buckets: Firstly, we create a bucket and provide a name to the bucket. Buckets are the
containers in S3 that stores the data. Buckets must have a unique name to generate a unique
DNS address.
• Storing data in buckets: Bucket can be used to store an infinite amount of data. You can
upload the files as much you want into an Amazon S3 bucket, i.e., there is no maximum limit
to store the files. Each object can contain upto 5 TB of data. Each object can be stored and
retrieved by using a unique developer assigned-key.
• Download data: You can also download your data from a bucket and can also give permission
to others to download the same data. You can download the data at any time whenever you
want.
• Permissions: You can also grant or deny access to others who want to download or upload the
data from your Amazon S3 bucket. Authentication mechanism keeps the data secure from
unauthorized access.
• Standard interfaces: S3 is used with the standard interfaces REST and SOAP interfaces
which are designed in such a way that they can work with any development toolkit.
• Security: Amazon S3 offers security features by protecting unauthorized users from accessing
your data.
30
15
4/4/2024
Amazon S3 Concepts
Buckets: A bucket is a container used for storing the
objects.
31
32
16
4/4/2024
33
• By default, all new buckets, objects, and access points are not set up for public access.
• Yet, users can modify policies and S3 permissions to allow public access — meaning
sensitive data could potentially get accessed by any user via a URL.
• Unless the company explicitly requires anyone on the internet to read or write to an S3
bucket, ensure that all buckets are not public.
• To block public access, use the S3 Block Public Access settings to override S3 permissions
and prevent accidental or intentional public exposure.
• These settings let administrators centralize account controls for maximum protection,
regardless of how the resources are created.
34
17
4/4/2024
3. Multi-factor Authentication(MFA):
• MFA is required for anyone who accesses data stored in AWS.
• MFA prevents anyone from accessing data using stolen account credentials.
• An additional form of authentication is necessary beyond just a username and password.
35
5. Monitoring
• Monitoring is an important part of maintaining the reliability, availability, and performance of
Amazon S3 and your AWS solutions.
• You should collect monitoring data from all of the parts of your AWS solution so that you can
more easily debug a multi-point failure if one occurs.
36
18
4/4/2024
• The Amazon S3 Event Notifications feature enables you to receive notifications when certain
events happen in your S3 bucket.
• To enable notifications, you must first add a notification configuration that identifies the
events that you want Amazon S3 to publish.
• Make sure that it also identifies the destinations where you want Amazon S3 to send the
notifications.
37
• AWS Lambda
AWS lambda is a compute service that makes it easy for you to build applications that respond
quickly to new information. AWS Lambda runs your code in response to events such as image
uploads
38
19
4/4/2024
Properties of S3 Bucket:
[Link] Versioning – Keep multiple versions of an object in one bucket by using versioning.
By default, versioning is disabled for a new bucket.
[Link] – With AWS cost allocation, you can use bucket tags to annotate billing for your use of a
bucket. A tag is a key-value pair that represents a label that you assign to a bucket.
[Link] encryption – Enabling default encryption provides you with automatic server-side
encryption. Amazon S3 encrypts an object before saving it to a disk and decrypts the object
when you download it.
[Link] access logging – Get detailed records for the requests that are made to your bucket
with server access logging. By default, Amazon S3 doesn't collect server access logs.
[Link] CloudTrail data events – CloudTrail data events (also known as "data plane
operations") show the resource operations performed on or within a resource in your AWS
account. These operations are often high-volume activities.
39
40
20
4/4/2024
• Amazon Elastic Block Store (Amazon EBS) provides block level storage volumes for use
with EC2 instances.
• EBS volumes behave like raw, unformatted block devices. You can mount these volumes as
devices on your instances.
• EBS volumes that are attached to an instance are exposed as storage volumes that persist
independently from the life of the instance.
• You can create a file system on top of these volumes, or use them in any way you would use a
block device (such as a hard drive).
• You can dynamically change the configuration of a volume attached to an instance.
• With Amazon EBS, you pay only for what you use.
Amazon EBS provides the following volume types: General Purpose SSD (gp2 and gp3),
Provisioned IOPS SSD (io1 and io2), Throughput Optimized HDD (st1), Cold HDD (sc1), and
Magnetic (standard). They differ in performance characteristics and price, allowing you to
tailor your storage performance and cost to the needs of your applications
41
42
21
4/4/2024
Location Flexibility.
Excellent Performance.
43
Block Storage
• Block storage as the name suggests the data is stored in the form of block.
• Block Storage store the data in the form of the fixed-size chunks which is called
block with its own address but no metadata(additional information) which
provide the context for what that block of data is all about.
• It is the most commonly used storage type for most applications.
• Block Storage works best when the application and storage are local
• It cannot be accessed directly through APIs.
• It is controlled or accessed by the external Operating system.
44
22
4/4/2024
45
Object Storage
• Object storage is used to store the unstructured data which can be a photo, video,
audio of any size, and suitable for the situation which has to written once and read
once or multiple times.
• There should not be many incremental updates because the small change leads to the
full change in the object.
• Object Consist of three things- Data, Metadata( which is data about data), and a
global unique identifier.
• Data consist of any type and amount of information that has to be store.
46
23
4/4/2024
Can access directly through API’s or http/ Can only be accessed through external operating
Accessibility
https. System.
Higher performance for big content and High performance with database and transactional
Performance
strong throughput data.
Analytics Contain metadata and unique identifier. No metadata but contain the address of the block
Written once and read once or multiple Flexible to update any time and can be written or
Usability
times. Doesn’t provide incremental update. read multiple times.
Amazon S3, Google cloud storage, Azure Premium Storage, AWS Elastic Block storage
Options in
Azure Blob ,Rackspace cloud block storage, Google persistent
Cloud
storage, Rackspace cloud Files Disk
47
Parameter Archive
Backup
The original data remains in place, Archived data is moved from its
Data Storage
while a backup copy is stored in original location to an archive storage
Method
another location location
Once you create an archive, you do
Data State Backed up data is constantly changing
not modify it
Data You periodically delete or overwrite
Data archives are designed for long-
Retention data backups that are too old to be
term storage
Policy useful
Easily accessible local storage
Storage Type Tape archives
locations
All of your data, with the exception of
Specific files that you must retain for
Data Scope unimportant information like
compliance purposes
temporary files
48
24
4/4/2024
Amazon CloudWatch
49
Introduction
50
25
4/4/2024
51
How it works
52
26
4/4/2024
53
CloudWatch Metrics
Metrics are the fundamental monitoring unit in CloudWatch.
They are numerical values that are collected at regular intervals and provide knowledge on
capabilities and performance of your systems.
Metrics represent the health of your environment and are particularly useful for alerting and
fast detection of issues.
Metrics are data about the performance of your systems.
By default, many services provide free metrics for resources (such as Amazon EC2
instances, Amazon EBS volumes, and Amazon RDS DB instances).
You can also enable detailed monitoring for some resources, such as your Amazon EC2
instances, or publish your own application metrics.
Amazon CloudWatch can load all the metrics in your account (both AWS resource metrics
and application metrics that you provide) for search, graphing, and alarms.
Metric data is kept for 15 months, enabling you to view both up-to-the-minute data and
historical data.
To graph metrics in the console, you can use CloudWatch Metrics Insights, a high-
performance SQL query engine that you can use to identify trends and patterns within all
your metrics in real time.
54
27
4/4/2024
• The alarm performs one or more actions based on the value of the metric or
expression relative to a threshold over a number of time periods.
55
• A composite alarm includes a rule expression that takes into account the alarm
states of other alarms that you have created.
• The composite alarm goes into ALARM state only if all conditions of the rule
are met.
• The alarms specified in a composite alarm's rule expression can include metric
alarms and other composite alarms.
56
28
4/4/2024
•INSUFFICIENT_DATA – The alarm has just started, the metric is not available, or not
enough data is available for the metric to determine the alarm state.
57
Introduction to Glacier
• Amazon S3 Glacier (S3 Glacier) is a secure and durable service for low-cost data
archiving and long-term backup.
• With S3 Glacier, you can store your data cost effectively for months, years, or even
decades.
• S3 Glacier helps you offload the administrative burdens of operating and scaling storage
to AWS, so you don't have to worry about capacity planning, hardware provisioning, data
replication, hardware failure detection and recovery, or time-consuming hardware
migrations.
58
29
4/4/2024
59
60
30
4/4/2024
Features
61
These are features provided by Amazon Glacier for different speeds and making it more cost-
effective. There are three different retrieval methods – Expedited, Standard, and Bulk. We
will look at these methods in depth in the next part of this blog.
AWS Let’s you to run queries directly on the archives rather than extracting the entire
archive which reduces the access time.
• Vault lock
Glacier lets you create locks on individual vaults by applying policies. For instance, WORM
(Write Once Read Many) policies can be used to prevent further edits after uploading.
62
31
4/4/2024
• Access control
AWS IAM can be used to securely access the management console and also secure the S3 Glacier
data.
You can create multiple users using IAM and specify separate user policies for every individual
to restrict or allow access to certain parts
• Vault Inventory
Amazon S3 Glacier always has an inventory of all the archives in every vault. The inventory will
contain the name, creation date, and description of the archives.
• AWS SDKs
All upload and retrieval functions are done by AWS SDKs or the APIs (Application
Programming Interfaces). AWS SDK is supported by multiple programming languages and
frameworks like JAVA, .NET, Python and PHP. Programming is made easy by SDKs and APIs
63
Benefits
64
32
4/4/2024
S3 S3 Glacier
1 S3 is a durable, secure, simple, S3 Glacier is used for archiving
and fast storage service solutions.
65
66
33
4/4/2024
• Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS
resources into a virtual network that you've defined.
67
• One of the major features that are being offered by AWS VPS is that it is very flexible
with connectivity. You will be able to connect it with the internet, and various data
centers that are based on the AWS resource.
• It has the ability to connect the VPCs within the given organizations and various internal
services that are across different accounts. The scalability feature is very important
when there are various internal services needed in an organization.
• Another amazing feature of using VPC is that it will be able to connect privately to the
virtual private network without even using the Internet Gateway.
68
34
4/4/2024
69
70
35
4/4/2024
VPC basics
• When you create a VPC, you must specify a range of IPv4 addresses for the VPC in
the form of a Classless Inter-Domain Routing (CIDR) block.
• For example, [Link]/16. This is the primary CIDR block for your VPC.
• A VPC spans all of the Availability Zones in the Region.
• The following diagram shows a new VPC. After you create a VPC, you can add one
or more subnets in each Availability Zone.
71
72
36
4/4/2024
• A virtual private cloud (VPC) is a virtual network dedicated to your AWS account.
• You can specify an IP address range for the VPC, add subnets, add gateways, and
associate security groups.
• A subnet is a range of IP addresses in your VPC. You launch AWS resources, such as
Amazon EC2 instances, into your subnets.
• You can connect a subnet to the internet, other VPCs, and your own data centers, and
route traffic to and from your subnets using route tables.
73
VPC sizing
VPC sizing for IPv4 When you create a VPC, you must specify an IPv4 CIDR block for the
VPC.
The allowed block size is between a /16 netmask (65,536 IP addresses) and /28 netmask
(16 IP addresses). After you've created your VPC, you can associate additional IPv4 CIDR
blocks with the VPC.
74
37
4/4/2024
75
Subnet basics
76
38
4/4/2024
Subnet types
• Depending on how you configure routing for your subnets, they are considered
either public, private, or VPN-only:
• Public subnet: The subnet has a direct route to an internet gateway. Resources
in a public subnet can access the public internet.
Route tables
• A route table contains a set of rules, called routes, that are used to
determine where network traffic from your VPC is directed.
• Each route in a route table specifies the range of IP addresses where you
want the traffic to go (the destination) and the gateway, network
interface, or connection through which to send the traffic (the target).
78
39
4/4/2024
79
80
40
4/4/2024
• The cloud provider takes care of everything from periodic upgrades to backups to
ensuring that the database system remains available and secure 24/7.
• Amazon SimpleDB, Google Cloud Datastore, MongoDB Atlas are few of the examples
of DBaaS
81
82
41
4/4/2024
83
84
42
4/4/2024
[Link] Groups
The core of DB instances is operated by a security group where the access control is given by
creating an IP address for the user who needs permission from the security group to access the
operational functions.
Amazon RDS has 3 types of security groups:
1. VPC Security Group
2. EC2 Security Group
3. DB Security Group
4. DB Parameter Groups
These defined sets of database engines act like controllers to manage the behaviour of the
databases. Each DB instance is assigned a default parameter group with the default values if
no other DB parameter group is assigned for that instance.
5. DB Option Groups: With the DB option groups, it becomes easier to manage the
databases as Amazon RDS provides the tools used by some DB engines.
85
86
43
4/4/2024
Database engine
• In a computer database, the database engine is the software that does the real work of sorting
the information, finding specific data that you request, and so on.
• The term used to refer to a separate piece of software that ran on a central computer (in this
case, it is more or less synonymous with the term “back-end”). Widely used database engines
include Oracle, DB2, and Sybase.
• Separate front-end software running on your own computer lets you tell the database engine
what to do (how to sort the data, what data to find), and displays the results of your
commands.
• If you’re talking about database software that runs entirely on one computer, the term
database engine is sometimes used to describe that part of the software responsible for
manipulating the data, as distinct from the parts of the software that you interact with on the
screen.
87
88
44
4/4/2024
DB instance classes
• A DB instance class consists of both the DB instance type and the size.
89
90
45
4/4/2024
91
• db.r6g – Instance classes powered by AWS Graviton2 processors. These instance classes are ideal for running
memory-intensive workloads in open-source databases such as MySQL and PostgreSQL.
• You can modify a DB instance to use one of the DB instance classes powered by AWS Graviton2 processors. To
do so, complete the same steps as with any other DB instance modification.
• db.r6gd – Instance classes powered by AWS Graviton2 processors. These instance classes are ideal for running
memory-intensive workloads in open-source databases such as MySQL and PostgreSQL. They have local NVMe-
based SSD block-level storage for applications that need high-speed, low latency local storage.
• db.r6i – Instance classes that are ideal for running memory-intensive workloads.
• db.r5b – Instance classes that are memory-optimized for throughput-intensive applications. Powered by the AWS
Nitro System, db.r5b instances deliver up to 60 Gbps bandwidth and 260,000 IOPS of EBS performance. This is
the fastest block storage performance on EC2.
• db.r5d – Instance classes that are optimized for low latency, very high random I/O performance, and high
sequential read throughput.
• db.r5 – Instance classes optimized for memory-intensive applications. These instance classes offer improved
networking and Amazon Elastic Block Store (Amazon EBS) performance. They are powered by the AWS Nitro
System, a combination of dedicated hardware and lightweight hypervisor.
• db.r4 – Instance classes that provide improved networking over previous db.r3 instance classes.
• For the RDS for Oracle DB engines, Amazon RDS has started the end-of-life process for db.r4 DB instance
classes using the following schedule, which includes upgrade recommendations. For RDS for Oracle DB
instances that use db.r4 instance classes, we recommend that you upgrade to a db.r5 instance class as soon as
possible.
92
46
4/4/2024
• Point-in-time Restores
• You can restore your DB instance to any specific time during the backup retention period, creating a new DB instance.
To restore your database instance, you can use the AWS Console or Command Line Interface.
• To determine the latest restorable time for a DB instance, use the AWS Console or Command Line Interface to look at
the value returned in the LatestRestorableTime field for the DB instance. The latest restorable time for a DB instance is
typically within 5 minutes of the current time.
• Database Snapshots
• Database snapshots are user-initiated backups of your instance stored in Amazon S3 that are kept until you explicitly
delete them. You can create a new instance from a database snapshots whenever you desire. Although database
snapshots serve operationally as full backups, you are billed only for incremental storage use.
93
• NoSQL databases are purpose built for specific data models and have flexible
schemas for building modern applications.
• NoSQL databases use a variety of data models for accessing and managing data.
• These types of databases are optimized specifically for applications that require
large data volume, low latency, and flexible data models, which are achieved by
relaxing some of the data consistency restrictions of other databases.
94
47
4/4/2024
Consider the example of modeling the schema for a simple book database:
• In a relational database, a book record is often dissembled (or “normalized”) and
stored in separate tables, and relationships are defined by primary and foreign
key constraints.
• In this example, the Books table has columns for ISBN, Book Title, and Edition
Number, the Authors table has columns for AuthorID and Author Name, and finally
the Author-ISBN table has columns for AuthorID and ISBN. The relational model is
designed to enable the database to enforce referential integrity between tables in the
database, normalized to reduce the redundancy, and generally optimized for storage.
95
• Flexibility: NoSQL databases generally provide flexible schemas that enable faster and
more iterative development. The flexible data model makes NoSQL databases ideal for
semi-structured and unstructured data.
• Scalability: NoSQL databases are generally designed to scale out by using distributed
clusters of hardware instead of scaling up by adding expensive and robust servers. Some
cloud providers handle these operations behind-the-scenes as a fully managed service.
• High-performance: NoSQL database are optimized for specific data models and access
patterns that enable higher performance than trying to accomplish similar functionality with
relational databases.
• NoSQL databases provide highly functional APIs and data types that are pHighly
functional: urpose built for each of their respective data models.
96
48
4/4/2024
• Key-value
• Document
• Graph
• In-memory
• Search
97
49
4/4/2024
Amazon DynamoDB
99
Advantages of DynamoDB:
100
50