BeyondClouds: AWS
What is Cloud?
Is cloud really just those white vapour formations floating in the sky? In technology, the word “Cloud” represents something far more powerful.
Earlier, companies had to purchase expensive servers, maintain physical machines, and manage huge data centers to run applications and store data. This process required high investment, continuous maintenance, and technical effort. Cloud computing transformed this traditional approach by allowing users to access servers, storage, databases, networking, and many other computing resources directly over the internet. Instead of owning physical infrastructure, organizations can now use resources on demand, scale them whenever required, and pay only for what they use, making modern computing more flexible, scalable, and cost-efficient.
What is AWS and what problem does it solve?
Amazon Web Services (AWS) is a cloud computing platform provided by Amazon Web Services that offers a wide range of on-demand services including computing, storage, databases, networking, security, analytics, machine learning, and DevOps solutions. Cloud computing refers to the delivery of computing resources such as servers, storage, databases, and software over the internet instead of relying on local physical infrastructure. Rather than purchasing and maintaining expensive hardware, users can access these resources anytime on a pay-as-you-go basis. AWS simplifies this process by providing scalable and reliable cloud services such as Amazon EC2 for virtual servers, Amazon S3 for cloud storage, AWS Lambda for serverless computing, Amazon RDS for managed databases, and IAM for secure access management.
Cloud computing services are mainly divided into three categories: IaaS, PaaS, and SaaS.
IaaS (Infrastructure as a Service): Provides virtual servers, storage, and networking resources over the internet, giving users full control over infrastructure and applications.
Examples: AWS EC2, Google Compute Engine, Microsoft Azure VM.
PaaS (Platform as a Service): Provides a complete development platform where developers can build and deploy applications without managing the underlying hardware or operating systems.
Examples: AWS Elastic Beanstalk, Google App Engine, Heroku.
SaaS (Software as a Service): Delivers fully functional software applications directly through the internet, allowing users to simply access and use the software without worrying about maintenance or infrastructure.
Examples: Gmail, Google Docs, Zoom, Microsoft 365.
As we move from IaaS → PaaS → SaaS, the responsibility of managing infrastructure decreases for the user while convenience increases.
Now we will talk about services provided by AWS:
Compute Services→
1. EC2 (Elastic Compute Cloud):
It is a service by AWS that lets you rent virtual computers on the cloud. Instead of buying a physical computer/server, AWS gives you a virtual machine called an EC2 instance.
Suppose you want to build a website, database or any model you need a good specification computer. So instead of buying a new computer you can use EC2 service of AWS which provides you with a virtual machine according to your specification.
Security Groups in AWS:
Security Groups are one of the fundamental security features used to protect cloud resources such as EC2 instances. A Security Group acts like a virtual firewall that controls the flow of traffic entering and leaving an AWS resource. Instead of allowing every user or system to access a server directly, Security Groups define specific rules that decide which traffic is permitted and which is blocked. These rules are mainly divided into two categories: Inbound Rules and Outbound Rules.
In EC2 you can also perform things and use services like-
- Deploy an application
- Load Balancer
To read more about it, refer to my article— ‘Load Distribution on AWS’. - Elastic Block Storage(Assigns more storage to your instance).
- Elastic IP’s
To read more about it, refer to my article — ‘Too many IP’s : AWS’.
Security Services→
1. IAM(Identity Access Management)
Security is one of the most important things while working with cloud systems, as you cannot give permission to everyone to access your server.
They might delete your files, data or delete sensitive information.
That is why we need an extra security for which IAM is there.
IAM:
Stands for Identity Access Management is a security service provided by AWS that helps you manage:
- Users
- Permissions
- Access to AWS services
- Authentication and authorization
Long story short, it helps you control like ‘Who can log in’ or ‘which type of actions he/she can perform’ etc.
For example:
- A developer may only get access to EC2 instances.
- A database administrator may only manage databases.
- A manager may only view billing information.
Its components are-
- IAM Users: These are the people who want permissions to access AWS service.
Each user or the person gets a username,password and access key.
Every user can have different permissions. - IAM Groups: Managing permissions individually for hundreds of users becomes difficult.
IAM Groups help solve this problem.
A group contains multiple users with the same permissions.
If you add a permission to the group, all users inside that group automatically receive it. This makes permission management easier and more organized. - IAM Policies: IAM policy is a JSON-based document that dictates the permissions for an identity (users, groups, roles) or a resource. It defines exactly who can access what resources and how. Policies are essential for enforcing security and the principle of least privilege
4. IAM Role: is a temporary identity in Amazon Web Services that provides permissions to access AWS services and resources without using permanent usernames or passwords.
Unlike an IAM User, a role is not attached to one specific person permanently. Instead, it is assumed temporarily whenever needed.
Storage Services →
1. S3 (Simple Storage Service)
It is a storage service provided by AWS which gives you space to store your data at any scale and you can retrieve it at any time, whenever you want.
- Object storage for files like images, videos, backups, logs, documents
- Highly durable (11 nines durability)
- Scalable — virtually unlimited storage
- Secure with IAM policies, bucket policies, encryption
- Accessible via HTTP/HTTPS APIs
- Supports versioning, lifecycle rules, replication
Properties:
- Versioning in Amazon S3 means S3 keeps multiple versions of the same file (object) instead of overwriting it permanently.
Without Versioning
Suppose you upload:
resume.pdfThen later upload another file with the same name:
resume.pdfThe old file is replaced and lost.
With Versioning Enabled
When you upload the same file again:
resume.pdf (Version 1)
resume.pdf (Version 2)
resume.pdf (Version 3)All versions are stored.
2. Static Website Hosting
Host HTML/CSS/JS websites directly from S3.
Example:
mywebsite.com
↓
S3 Bucket3. Lifecycle Rules
Automatically move or delete files after a certain time.
Example:
- After 30 days → move to Glacier.
- After 365 days → delete.
Useful for reducing storage costs.
And many more.
Database Services →
1. RDS (Relational Database Service)
Suppose you have built a website where users can create accounts, log in, place orders, or upload information. All this data needs to be stored somewhere. Earlier, developers had to install a database on their own servers, configure backups, update the software, and make sure the database was always running. This required a lot of maintenance.
AWS solves this problem using Amazon RDS (Relational Database Service).
It is a fully managed database service that lets you create and manage relational databases without worrying about maintaining the database server yourself. AWS takes care of backups, software updates, security patches, storage scaling, and availability.
It supports multiple database engines such as:
- MySQL
- PostgreSQL
- MariaDB
- Oracle
- Microsoft SQL Server
- Amazon Aurora
Some important features of RDS are:
- Automatic backups
- Easy scaling of storage
- Multi-AZ deployment for high availability
- Read Replicas for improving performance
- Automatic software updates
For example:
Suppose you create an online shopping website.
The website itself runs on an EC2 instance, product images are stored in Amazon S3, while customer information, product details and order history are stored inside Amazon RDS.
This allows developers to focus on building applications instead of managing databases.
2. DynamoDB
Not every application requires a traditional relational database.
Applications like online games, chat applications, recommendation systems, or shopping carts require databases that can handle millions of requests very quickly.
For such applications AWS provides Amazon DynamoDB.
It is a fully managed NoSQL database service that stores data in the form of key-value pairs or documents instead of tables with fixed relationships.
Since DynamoDB is serverless, AWS automatically manages storage, scaling, backups and replication.
Get Abhik’s stories in your inbox
Join Medium for free to get updates from this writer.
Some features of DynamoDB are:
- Extremely fast performance
- Automatic scaling
- Fully managed by AWS
- High availability
- Serverless architecture
Examples where DynamoDB is used:
- Online gaming leaderboards
- Shopping carts
- Social media applications
- IoT applications
Networking Services →
1. VPC (Virtual Private Cloud)
Whenever you launch an EC2 instance or create other AWS resources, they need a network to communicate with each other.
Instead of putting everyone’s resources in one common network, AWS allows every customer to have their own private network called a Virtual Private Cloud (VPC).
A VPC is your own private network inside AWS where you can launch your cloud resources securely.
Inside a VPC you can decide:
- Which resources can communicate with each other.
- Which resources can access the internet.
- Which IP address range should be used.
- Which resources should remain private.
In simple words, a VPC acts like your own private office inside the AWS cloud where only the people and resources you allow can enter.
2. Route 53
Suppose you have created a website.
Instead of remembering an IP address like
54.145.221.30
people simply type
How does the browser know where to go?
This is where Amazon Route 53 comes into the picture.
Route 53 is AWS’s Domain Name System (DNS) service.
Its main job is to convert domain names into IP addresses so that users can access websites easily.
Apart from this, Route 53 also provides:
- Domain registration
- Health checks
- Traffic routing
- Failover support
3. Elastic Load Balancer (ELB)
Imagine your website suddenly becomes popular and millions of users visit it at the same time.
If all requests are sent to a single EC2 instance, that server may become overloaded and eventually crash.
To solve this problem AWS provides Elastic Load Balancer (ELB).
A Load Balancer distributes incoming traffic among multiple EC2 instances instead of sending everything to one server.
This helps in:
- Better performance
- High availability
- Fault tolerance
- Improved reliability
If one EC2 instance stops working, the Load Balancer automatically redirects traffic to other healthy instances.
4. Auto Scaling
The number of users visiting an application is never constant.
For example:
- During a sale, an e-commerce website receives huge traffic.
- At night, very few users visit the website.
Keeping many servers running all the time increases cost.
AWS solves this problem using Auto Scaling.
Auto Scaling automatically increases the number of EC2 instances when traffic increases and decreases the number of instances when traffic reduces.
This provides:
- Better performance
- Lower cost
- High availability
- Automatic resource management
Serverless Computing →
AWS Lambda
Normally, whenever we want to run an application, we need a server.
But what if we only want to execute a small piece of code whenever a specific event happens?
For example:
- A user uploads an image.
- A file is added to S3.
- Someone submits a form.
Instead of running a server continuously, AWS provides Lambda.
AWS Lambda is a serverless computing service that allows you to run code without creating or managing servers.
You simply upload your code and AWS automatically executes it whenever the specified event occurs.
Some advantages of Lambda are:
- No server management
- Automatic scaling
- Pay only for execution time
- Event-driven execution
Monitoring Services →
Amazon CloudWatch
After deploying an application, it is important to monitor whether everything is working properly.
For example:
- Is the CPU usage too high?
- Is the application running?
- Has any server crashed?
- Are there any errors?
AWS provides Amazon CloudWatch to monitor cloud resources.
CloudWatch collects logs and performance metrics from different AWS services.
It can monitor:
- CPU utilization
- Memory usage
- Network traffic
- Disk usage
- Application logs
CloudWatch can also generate alarms.
For example, if CPU utilization becomes greater than 80%, CloudWatch can automatically send a notification or trigger Auto Scaling.
Deployment Services →
Elastic Beanstalk
Deploying an application manually requires creating EC2 instances, configuring networking, installing software, setting up scaling, and much more.
AWS simplifies this using Elastic Beanstalk.
Elastic Beanstalk is a Platform as a Service (PaaS) that allows developers to deploy applications without managing the underlying infrastructure.
You simply upload your application, and AWS automatically creates and configures:
- EC2 instances
- Load Balancer
- Auto Scaling
- Monitoring
It supports applications built using:
- Java
- Python
- Node.js
- PHP
- Ruby
- .NET
- Go
This makes application deployment much faster and easier.









