When you hibernate an instance:
Memory (RAM) contents are saved to the root EBS volume.
The instance’s current state (open apps, in-memory data, running processes) is preserved.
When you start it again, it resumes from where it left off — like waking up your laptop from sleep.
Billing during hibernation:
EC2 instance hours are not charged.
But you still pay for EBS storage (since memory and root volume data are stored).
When you stop an instance:
The RAM is cleared — all in-memory data is lost.
The instance is shut down completely.
When you start it, it boots from scratch (like a fresh start, not resume).
Billing during stop:
EC2 usage charges stop.
You still pay for EBS volume storage.
Instances which have a fixed pricing and specific duration(1 year or 3 years) are Reserved Instances. These instances once created, even if terminated are billed till the entire duration is over.
These instances should be used when there is a long-term requirement for a server
On-Demand pricing is better for short term usage where the duration is uncertain. Since, the instances are not charged when they are stopped and can be terminated whenever required, this is better than Reserved Instances.
Horizontal Scaling in AWS refers to using multiple servers to run the same operation. For example, if a website is having large traffic, then more than one instance can be used to run the website which is called Scaling Out. If later the traffic is lesser, the extra instances(servers) can be removed which is called Scaling In.
An instance which can be created or terminated at any time without any fixed duration is an On-demand instance.