Amazon EC2 is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. You can use Amazon EC2 for a variety of applications, including websites and web applications, development and test environments, and even back-up and recovery scenarios. Amazon EC2 offers a wide selection of instance types with varying combinations of CPU, memory, storage, and networking capacity that you can use to meet the unique needs of your applications.
A VPS runs its own copy of an operating system (OS), and customers may have superuser-level access to that operating system instance, so they can install almost any software that runs on that OS. For many purposes they are functionally equivalent to a dedicated physical server, and being software-defined, are able to be much more easily created and configured. They are priced much lower than an equivalent physical server. However, as they share the underlying physical hardware with other VPSes, performance may be lower, depending on the workload of any other executing virtual machines.[1]