What is Infrastructure?
Infrastructure is everything required to run an application. Without it, an app cannot be deployed or reached by users.
Examples
- Servers (EC2)
- Storage (S3)
- Databases (RDS)
- Networking (VPC)
- Load balancers
- Security groups
- DNS
Real-world example
For an e-commerce application:
Frontend Server
Backend Server
Database Server
Load Balancer
Storage
Network
All of these components together form the infrastructure.
Traditional Infrastructure Management
Before cloud automation tools, infrastructure was created by hand in the console.
To launch an EC2 instance you would:
Login to AWS Console
↓
Open EC2 Dashboard
↓
Launch Instance
↓
Select AMI
↓
Select Instance Type
↓
Configure Security Group
↓
Create Key Pair
↓
Launch Instance
Every server had to be created the same way — manually.
Problems with Manual Infrastructure
Time consuming
Clicking through consoles for every environment wastes hours.
Human errors
Wrong security group, port, region, or instance type is easy to miss and hard to spot later.
Difficult to repeat
Recreating the same setup for staging, production, or a new region is slow and inconsistent.
No version control
You cannot easily see what changed, when, or who changed it.
Hard to scale
Creating 10, 20, or 50 servers by hand is not practical.
Manual provisioning works for a single demo. It fails as soon as you need consistency across teams and environments.