Amazon’s Elastic Compute Cloud Web service, which provides resizable computing capacity in the cloud so developers can enjoy great scalability for building applications. To put it simply, an EC2 is a virtual machine that represents a physical server for you to deploy your applications. Instead of purchasing your own hardware and connecting it to a network, Amazon gives you nearly unlimited virtual machines to run your applications while they take care of the hardware. EC2 instances have a unique feature that is fundamental to cloud computing called Auto-Scaling Groups. This allows EC2 instances to dynamically add additional computing power as thresholds like CPU utilization are broken due to high demand. AWS supports multiple operating systems from Windows to many flavors of Linux etc. As a customer, you are also able to bring your own custom OS and run it on their platform. This allows for near limitless capabilities for running your application in the cloud.
in other words
A custom rubber band that can stretch for building applications.