We challenged one of our writers to explain AWS instances in plain English because we believe too many websites alienate would-be customers by using too much technical jargon. The result is an explanation of what AWS instances are that visitors with any level of technical expertise will be able to understand.
You don’t have to be a beginner to struggle with some of the terminology used by cloud computing experts. It’s a bad habit that even the best-intentioned cloud computing experts—even us—can fall into. It might even be us that get the greatest benefit out of this blog post!
So, what are AWS Instances?
To best explain what AWS instances are, we need to go back more than half a century to when businesses used mainframe computers the size of offices for batch processing jobs and data storage. These computers were expensive to build and operate, and often under-utilized. Although “time-sharing” partly resolved the problem of under-utilization, there was still plenty of spare capacity.
Then, in the 1960s, computer engineers found a way of dividing computer resources between different applications—the equivalent of having two programs running simultaneously on a PC today. Subsequently, resources were further divided so more than one user could use the same computer at the same time, and eventually it became possible for individual users to run separate operating systems on the same mainframe computer.
The process of dividing computer resources became known as “virtualization,” and it made computers more cost-efficient. Together with the invention of the microprocessor, virtualization made it possible for larger businesses to build their own on-premises data centers—typically consisting of a central “virtualized” server connected to users’ workstations and printers via cables. Smaller companies still found the costs associated with on-premises data centers too expensive.
Then came the Internet
Strictly speaking, “then came the World Wide Web”. The technology on which the Internet is built had been around since the 1960s, but it was only in the 1990s that the first web servers and web browsers were developed. “What has this to do with AWS instances?” you ask. Well, it enabled smaller businesses to connect to large purpose-built data centers in order to rent computing services over the Internet rather than pay for their own on-premises data centers.
At the time, Amazon Web Services (AWS) didn’t exist. However, its parent company—the online shopping website Amazon.com—was in the process of building a new e-commerce platform. In order to accelerate the development of the e-commerce platform, the company created an in-house Infrastructure-as-a-Service—effectively its own purpose-built data center that connected the company’s users via the Internet.
Then, in 2006, Amazon Web Services was born with the release of three services that businesses could rent from Amazon.com’s own Infrastructure-as-a- Service over the Internet—the Simple Storage Service (S3), the Simple Queue Service (SQS), and the Elastic Compute Cloud service (EC2). We’re going to focus on the EC2 service, because this is the service that uses AWS instances.
So, AWS Instances are……?
AWS instances are parts of a virtualized server with compute, storage, memory, and networking capabilities. In many ways, when you rent instances it’s like renting a PC, except it’s all done over the Internet with AWS having the responsibility for keeping the instances working and bearing the costs of power, cooling, and infrastructure security. Naturally, renting AWS instances is cheaper and easier than renting a PC, especially as—in most cases—you can rent instances by the second.
One big difference between renting instances and renting PCs is you can pick from hundreds of different types of AWS instances to best match the applications you want to run. So whereas you might have workloads that are suitable for General Purpose instances, you might also have workloads for which you need memory-optimized, storage-optimized, or high performance instances. With AWS instances, you can just choose whichever instance is most suitable for the job.
One important point to mention about AWS instances is how you’re charged for them. Amazon Web Services charges for the capacity you “provision” rather than what you use. This means that if you rent an instance with sixty units of compute capacity, but you use only ten units, you’ll be charged for all sixty units. Similarly, if you leave instances running when you’re not using them, you’ll still be charged—like leaving a lightbulb on when you leave a room.