AWS
HANDBOOK
About me
My name is Nikola Perišić and I am working as a Software Engineer.
Throughout my career, I have worked on many projects but one day I decided
to learn Amazon Web Services (AWS). While learning, I got the idea to write
this handbook to help other people get an idea of what AWS is all about.
Note
By reading this handbook you will not learn all that Amazon Web Services
provides. As the name of it says, handbook, this is good enough to help you to
have the global image of what AWS stands for, its main purpose and etc.
Good luck :)
For the full book version contact me at: https://linkedin.com/in/perisicnikola37
What is AWS?
Amazon Web Services (AWS) is a comprehensive cloud computing platform
provided by Amazon, offering a wide range of services including computing
power, storage options, and networking capabilities. It enables businesses to
scale and grow by providing flexible, scalable, and cost-effective solutions.
AWS supports various use cases, from simple web applications to complex
enterprise-level solutions, and is widely adopted across different industries for
its reliability and extensive infrastructure.
Too complex, isn’t it? :) Let’s write that in beginner beginner-friendly way.
Amazon Web Services (AWS) is a cloud platform from Amazon that provides
online services like storing data, running applications, and managing
databases. It helps businesses do things on the internet without needing
physical servers.
Well, what is a “cloud platform”?
A cloud platform is an online service that allows you to store, manage, and
process data over the Internet instead of on a local computer or server.
AWS certifications
There are twelve(12) AWS certifications available out there.
The cost of AWS certifications varies depending on the level of the certification:
1. AWS Certified Cloud Practitioner: $100
2. AWS Certified Solutions Architect – Associate: $150
3. AWS Certified Developer – Associate: $150
4. AWS Certified SysOps Administrator – Associate: $150
5. AWS Certified Solutions Architect – Professional: $300
6. AWS Certified DevOps Engineer – Professional: $300
7. AWS Certified Advanced Networking – Specialty: $300
8. AWS Certified Big Data – Specialty: $300
9. AWS Certified Security – Specialty: $300
10. AWS Certified Machine Learning – Specialty: $300
11. AWS Certified Database – Specialty: $300
12. AWS Certified SAP on AWS – Specialty: $300
As you can see above, they are divided into four (4) categories:
1. Foundational - mainly for the beginners
2. Associate - mainly for people
3. Professional - mainly for professionals
4. Specialty - mainly for specialization in some fields for example machine learning, data
analytics, etc.
Does certification have an expiry date?
Unfortunately, yes. That is 36 months for now (3 years).
How to pass the exam?
By scoring 700 points out of a total of 1000 (70%+).
How AWS billing is configured?
When you use AWS, concretely, their services, paying and billing are configured as “pay as you
go”. It is metered billing. For each service, you can find a pricing page where you can read more
about pricing rules before using certain services. Also, AWS provides a free tier for a lot of
services so take a look at that here.
Exploring AWS services?
For exploring AWS services you can use “Amazon Braket”.
AWS services that use PoP?
1. Amazon CloudFront - points your website to Cloudfront so that it will route requests to
the nearest Edge Location cache
2. Amazon S3 Transfer Acceleration - generate a special URL that can be used by end
users to upload files to a nearby Edge Location. Once it is uploaded it can move much
faster within the AWS network
3. AWS Global Accelerator - finds the optimal path from the end user to your web servers
AWS Direct Connect - connections between AWS and data center
It has two options:
1. Lower bandwidth 50MBps - 500MBps
2. Higher bandwidth 1GBps - 10 GBs
Terms to remember:
1. Availability
2. Scalability
3. Elasticity
1. Elastic Load Balancer (ELB) - If one zone goes down, other zones will not. Your server
will be redirected to some other zone.
User -> ELB:
- Az1 (down)
- Az2 (up)
“Az1” and “Az2” are together “Target group”.
For Load Balancer(LB) it is required to create a security group with enabling HTTP (HTTP from
anywhere).
Also, it is required to create a target group that will contain all the instances which we choose.
2. Auto-scaling groups (ASG) - for horizontally scaling
It can cause a “503” error/warning.
We should increase ASG with a load balancer and select a target group.
Business Continuity Plan (BCP) - a documented plan that describes how an organization can
continue its business and functions in the event of unexpected events or disasters that may
threaten normal operations. This may include natural disasters such as floods, fires, and
earthquakes, as well as other emergencies such as terrorist attacks, technical failures, or
cyber-attacks.
AWS Cloud formation?
AWS CloudFormation is a service that allows you to model, provision, and manage AWS
infrastructure resources using declarative JSON or YAML templates.
Evolution of cloud computing?
1. One person had one server which ran one instance -> Dedicated
2. One person had one server that ran multiple instances -> Virtual private server (VPS)
(horizontal scaling)
3. 2000’s (GoDaddy etc.) - Multiple persons had one server which ran multiple instances ->
Shared hosting (vertical scaling)
4. Multiple persons have multiple servers in a cloud which runs multiple instances -> Cloud
Hosting
Cloud service providers (CSP)?
- AWS
- Microsoft Azure
- Google Cloud Platform (GCP)
- Digital Ocean
- Linode
- IBM Cloud
AWS services?
AWS has more than 200+ available services.
Core services which were created firstly:
1. 2004 -> SQS
2. 2006 -> S3
3. 2006 -> Elastic Compute Cloud (EC2) -> the most used
Services are divided into four (4) categories:
1. Compute (example: EC2)
2. Storage (example: EBS)
3. Networking (example: VPC)
4. Databases (example: RDS)
RDS services offer “RDS Multi-AZ” - it will duplicate the standby database in another availability
zone which means high availability and failover mechanism. What is a “failover mechanism”?
Well, if the primary database becomes unavailable, RDS automatically redirects all databases to
new instances.
CloudEndure Disaster Recovery - Replicates your machines into a low-cost staging area.
Elastic Beanstalk - it works and finishes all automatically which we needed to do manually with
EC2 and Load Balancer(LB)
DynamoDB - NoSQL database
Aurora - MySQL + PostgreSQL database
Cloud computing types?
1. SaaS - System as a service
2. PaaS - Platform as a service
3. IaaS - Infrastructure as a service
Cloud types?
1. Public cloud
2. Private cloud
3. Hybrid cloud
General computing -> Standard processor
GNU computing -> AWS Infrenetiare
Load Balancer(LB) types of work?
1. Round Robin algorithm.
2. X
3. X
AWS pre-installed shells?
1. Bash (bash)
2. Powershell (pwsh)
3. Z shell (zsh)
AWS offers its unique shell called “CloudShell” which is scoped per region.
AWS Tools for PowerShell - list of all available commands for all services. But need to install
some tools to make them work.
Also, there is an AWS tools reference. There is a reference for AWS CLI also... just type in your
search engine: “AWS CLI reference”.
The command for a local terminal using AWS CLI would be for example aws s3 list
Amazon resource number(ARN)?
Format: ARN:AWS:S3:::my-bucket -> s obzirom that s3 is a global service, there is no need for
specifying region
Policy for some services can be created using the “IAM Policy” feature.
Two useful AWS CLI commands: cat ~/.aws/credentials & cat ~/.aws/config
Software development kit(SDK)?
If we want to manipulate for example our s3 bucket in the Laravel application, we need to have
SDK.
CloudFormation?
1. CloudFormation - specified for AWS(vendor specific), declarative, JSON or YAML
2. Terraform - specified for all CPS(AWS, Azure, GCP) (vendor agnostic), declarative +
imperative, it uses its own format
These two allow us to write IaaC.
AWS Shared responsibility model
On-premise - when something is built from scratch
Types of computing responsibilities?
EC2 -> Infrastructure as a service
Elastic Beanstalk -> Platform as a service
AMI - Amazon machine image
Note: EC2 is a backbone of AWS because a lot of other AWS services are using EC2 as an
underlying service