What Are Compute Services?
Compute services provide the computing power required to create and run all kinds of applications, from websites and databases to advanced machine learning algorithms.
Wait, backtrack a little... what is computing power?
Great question! Computing power is like a car engine.
- The more power the engine, the faster and more capable the car is.
- The more computing power a computer has, the faster and more capable it is at handling tasks and calculations.
In the world of computers, computing power is essential for:
- Speed: A computer with more computing power can execute tasks faster. It can open programs, load web pages, and process data in less time.
- Complexity: Powerful computers can handle more complex tasks. They can smoothly run high-definition video games, edit large photos and videos, or perform detailed scientific simulations.
- Multi-tasking: Computing power also determines how well a computer can handle multiple tasks at once. A powerful computer can smoothly switch between running different apps without slowing down.
- Data processing: When you work with large amounts of data, like in scientific research or business analytics, computing power allows you to process and analyse that data quickly and efficiently.
- Artificial intelligence: Advanced computing power is necessary for tasks like artificial intelligence and machine learning, where computers need to analyse vast amounts of data to make predictions or decisions.
Why do people use compute services?
Let's say you want to own your own physical servers instead. This means you'll have to:
- Do a bunch of research to see the type of servers you want to buy, and how many you need to buy.
- Spend money (a lot of money, in the tens to hundreds of thousands) upfront to purchase hardware.
- Wait for the servers to be delivered to you (this could take weeks or months).
- Take your physical servers to a data centre space that you own or rent to install them, rack and stack them, and wire them all up.
- Make sure your servers are secured, powered up, and ready to be used.
- Make all the necessary customising as your IT needs change.
Only then can you begin to host your apps on top of these servers. The worst part is, you are stuck with the servers you buy - even if you're not using them. If you don't have enough servers for the amount of customers you're getting, you'll have to wait weeks or months again for more servers to come in. It's even harder to get your money back on servers you no longer need!
Using a compute service is much easier ways to get started and be flexible with your operations over time. AWS has taken care of the hard part for you - buying the servers, securing them in data centres AND maintaining them. They're ready for you to use!
3 reasons people LOVE compute services
- Think of your computer as a supercomputer with the power to run multiple smaller computers inside it. These smaller computers, known as virtual machines, can each perform their own tasks and run different software independently, all within your one physical machine. It's like having a computer that's actually several computers in one, each with its own job to do!
- This technology is called virtualisation, and it's how AWS delivers computing power to us.
- Virtual machines aren't always the answer! Virtual machines like EC2 are great, but there are other compute services out there too, like container services and serverless compute. You will learn about these other compute options and their use cases. Sometimes it makes sense to build applications with serverless compute or containers from the start, depending on what you are building and what's important to you.
- A big advantage of using compute services is scalability. You can easily expand or contract your computing power in response to demand. This flexibility makes sure you are never burdened with excess or insufficient capacity*.
*Capacity = the amount of computing resources and power you have to perform tasks or run applications.
Selecting the right type of compute service
At a fundamental level, three types of compute options are available: virtual machines (VMs), container services, and serverless.
- Virtual Machines (VMs)
- Virtual Machines (VMs) are the first one you should get to know - they're the iconic compute service and are widely used too! VM services like Amazon EC2 offer resizable compute capacity while handling the underlying hardware and operating system for you.
- Container services
- Container services, such as Amazon Elastic Container Service, are great for applications because they make it easy to move your apps from one place to another.
- Serverless compute
- For those wanting highly scalable and cost-effective applications, serverless computing is the way forward. With serverless, you only pay for the actual compute time used, with infrastructure management taken off your hands. You'll learn about AWS' serverless compute services - AWS Lambda and AWS Fargate!