Skip to content

Hardware

Understanding what hardware we use, whether it's directly or indirectly via a Cloud provider, is important because ultimately everything we're doing in this field involves getting computer hardware to do something for us. The CPU is literally processing numbers, the hard disks and solid state drives are storing our data in a persistent, long term manner, and random access memory is allowing software (the stuff that runs on the CPU) to store information it can retrieve later.

Knowing what each component does only requires a very high level understanding. Don't try and become a CPU architect, just know what a CPU does. You don't need to build your own hard disk, just understand the different types, speeds, etc.

Ultimately this knowledge will help you later on when you're provisioning resources in remote, public Cloud providers like AWS, becsuse you'll need to know how many "CPU cores" you need, how much RAM to provision, and how big storage volumes need to be and what type you need.

It sounds like a lot, but it's all very logical.

Subjects

These are the subjects we're going to cover in this topic:

  1. Central Processing Unit (CPU)
  2. Random Access Memory (RAM)
  3. Hard Disk Drive (HDD)
  4. Solid State Drive (SSD)
  5. Network Interface Card (NIC)
  6. Network Switch
  7. Network Router
  8. Graphics Processing Unit (GPU)

Curated Materials

So here we are, at the very beginning of the journey. Before you know it, you'll be building clusters and complex solutions in AWS and wondering where the time went. Let's get cracking on.

The hardware in your computer is the same as what's in a server, with some exceptions we don't really are about at this stage. You need to know what this hardware is that you've got a good idea of what it is you're building in the Cloud (except it's virtualised over there) and what kind of "hardware" you need.

Central Processing Unit (CPU)

To get the ball rolling, we highly recommend you start with page from GCFGlobal:

The video is short and to the point, but lacks some of the details we want you to know, so keep reading past the video. Once you're done, we want you to use the following resources to ensure you've got a deeper, more technical grasp of these concepts:

Adblockers

As much as we want to see people earning some compensation for their work, we do recommend you use an adblocker in your browser or NextDNS (ideally at the network level) to block adverts as some of the websites we suggest can get a bit overwhelming when it comes to their use of adverts.

And now that you know what a CPU does and what cores are, check out the following article:

This is important, because when you eventually start provisioning computer resources in the Cloud, how many cores, how much RAM, etc., will determine how much you pay. This is called "right sizing", and it's important to get right because money is at stake.

Random Access Memory (RAM)

RAM is short for Random Access Memory and it acts as the short-term memory for your computer. RAM is where the processor stores the data it needs to perform tasks quickly, such as application code that's going to be executed. Long-term data is stored on the hard drive, but the RAM is used to quickly access data when it's needed. If there isn't enough RAM, your computer can slow down because the processor has to keep going back to the hard drive or internet to obtain the information it needs, just like someone trying to carry more tennis balls than they can handle, resulting in more time spent retrieving tennis balls than playing the game.

RAM isn't a massive topic you need to explore in too much detail. In fact, you only really need to know the fundamentals about what RAM is; you don't need to become an expert.

Hard Disk Drive (HDD)

With a top level understanding of the CPU and RAM, you're ready to learn about a few other hardware components. Look at hard disk drives (HDD) and solid state drives (SSD) devices next.

A computer Hard Disk Drive, or HDD, stores the operating system, applications, and data files such as documents, pictures, and music that you and your computer use daily. On a physical level, the HDD is composed of a platter containing compartments to hold data, with an actuator arm that moves across the platter to read or write the information requested. It's a very finely balanced device. The compartments holding data (on the platters) are not written sequentially, so there is an indexing system to help the actuator arm find the relevant data.

HDDs are still the number one choice if you need storage capacity over speed (which is where an SSD comes in, below.) That gap is closing though, and eventually we'll be asking if HDDs are still requird.

Like RAM, becoming an expert on HDDs isn't the name of the game here. Just know what an HDD is and why they exist. The important thing is an HDD is slower than an SSD, but offers more capacity (for now.)

Solid State Drive (SSD)

So HDDs are fast, but not has fast as an SSD, but what is an SSD?

A solid-state drive (SSD) uses flash memory to read and write data, resulting in nearly instant boot and load times. In contrast, HDDs store data on a spinning platter and an arm that moves across the platter to read each portion of data, making them more likely to fail or break due to their mechanical parts, not to mention making their ability to fetch data slower than an SSD, which has no moving parts at all.

SSDs serve as long-term memory alongside a computer's memory (RAM) and processor to access and use data. SSDs can speed up the data transfer process and make slow load times a thing of the past. SSDs are also more durable and use less energy compared to HDDs, making them a beneficial upgrade for computer systems.

Eventually, SSDs will completely replace HDDs.

Checkout this article from Crucial for an overview on SSDs:

Network Interface Card (NIC)

The Network Interface Card (NIC) allows a computer to connect to a computer network (or multiple), enabling it to transmit or receive data to and from that network. Without NICs, you wouldn't be reading this content. When you eventually come around to looking at Linux and playing around with the networking stack, you'll encounter your system's NICs. We just need an idea of what they do. Nothing more.

You're going to breeze through these sections quickly, despite the fact it seems like a lot of content. You only need to cover the surface level details, not the deep, technical qualities of these technologies. So don't panic.

Network Switch

A network switch is a device that helps connect all the different devices in a network (like your home WiFi network). It's like a traffic cop for data packets, making sure that each packet goes to the right device it's intended for - whether that's another switch, a router, or a user's computer.

Switching is the process of moving these data packets between devices in a network. When a switch receives a packet, it looks at the destination address and then forwards the packet only to the device it's intended for, instead of sending it to all the devices in the network. This makes switching much more efficient than other methods of forwarding packets, like broadcasting or multicasting.

Switches also come in different shapes and sizes, depending on the network's needs. For example, there are unmanaged switches that are simpler and don't require much setup, and managed switches that give you more control over your network and allow you to configure more advanced settings.

In short, network switches are an important part of any network. They help direct data packets to where they need to go, making sure all your devices can communicate with each other effectively.

Checkout CloudFlare's article to learn more:

Network Router

A router connects two or more networks, forwarding data packets to their intended IP addresses and allowing multiple devices to use the same Internet connection (for example.)

Most routers pass data between LANs and WANs (Wide Area Network), which are basically just networks that cover a specific geographic area (like your home network) and networks that are spread out over a huge area (like a company with offices all over the country), respectively.

To direct data packets efficiently, a router uses an internal routing table that lists paths to different network destinations. It reads a packet's header to determine where it's going, consults the routing table to figure out the best path, and then forwards the packet to the next network in the path.

Basically, a router helps make sure that all your data packets get where they're supposed to go, just like an air traffic controller makes sure planes reach their destinations safely.

CloudFlare have this topic covered very well, too:

GPU

So, graphics processing units (GPUs) are a type of technology that's used for a bunch of different stuff. They're mostly known for their abilities in gaming, but they can also be used for creative production, machine learning, and other things.

Originally, GPUs were created to help make 3D graphics look awesome. But they've evolved to be way more flexible and programmable, which means they can do a lot more than just make pretty pictures.

Now, people are using GPUs to speed up all sorts of different computing tasks, from creating realistic-looking special effects to training AI models. So basically, GPUs are super powerful tools that help make a whole bunch of different things possible in the world of computing.

Although it's not likely you will work with Graphic Processing Units (GPU) in the Cloud, it is possible. We would recommend you learn to understand what their function is and when you'd go about using one.

Project

What are the specifications of your computer? Let's create a report. To achieve this, you'll have to discover the best tools for your operating system that allow you to explore the following details:

  1. What CPU make and model do you have?
    1. What is the clock speed?
    2. How many Cores does it have?
    3. Is it 32-bit or 64-bit?
  2. How much system RAM do you have?
    1. Is it DDR3, DDR4 or DDR5?
  3. Do you have an SSD or an HDD?
    1. What make and model is it?
    2. How big is it?
    3. (Bonus) what is the partition layout?
    4. (Bonus) what is the file system on each partition?
  4. What GPU does your system have in it?
  5. What NIC does your system have? Does it have one or two?
    1. (Bonus) What is the MAC address of each NIC you have?

Use Google Docs (or your preferred system) to write a report on each of these components. Explain the tool(s) you used to find the information and how you used them. Screenshots are welcome.

Build a System

Now it's time for some fun! We want you to build a crazy powerful system of your chosing. It must be a valid system, and all the components must be compatible.

Switch region!

In the top-right of PC Part Picker is a drop-down that lets you change you region. We recommend doing this as you'll get locally sourced part prices and suppliers.

To achieve this, us PC Part Picker, create an account, and then shopa round for the best components in each category: CPUs, RAM, mainboards, GPUs, etc. Everything.

Once complete, make sure to save the system and then report it to us on your next call (or via email if you don't want to waste your calls presenting your findings - that's totally fine too.)