What are the components or the basic components of a computer?
So the first thing is something that we're all probably pretty familiar with at this point, and that's an operating system. So typically, you're going to see Windows or Linux operating systems when you talk about AWS. But out in the world we have many different operating systems, including Linux and Windows but a lot of people also use Mac OS on their Mac computers. Examples of operating systems include Windows 7, Windows 10, Windows 8, as well as Mac OS and for Linux, we have things like Red Hat, Fedora, CentOS. There are a lot of different operating systems out there, so the operating system is required so that your applications can run.
So the operating system is the base platform that's used to allow all of the other applications to perform their tasks and then there's the CPU. Think of the CPU as the brain. I like to say the brains of the operation, right? So the CPU does the processing for the tasks, the thinking that needs to be done by your computer. The CPU is responsible for that. And then we have the hard drive, so the hard drive is where data is stored. So whenever data is processed, your CPU processes that information, and then it passes it off to the hard drive for safekeeping. So the hard drive is storage, right? Just like you might have a storage container where you put things inside of it. That's what our hard drive is used for.
The data is put inside of the hard drive. Now there are different types of storage. You have local storage, and you have remote storage. What I mean by that is you have a hard drive that's inside of your computer, where you store data, and then sometimes there's a central place where there's a server where you might store data remotely. In this example we're talking about local storage, and then, quite often, we want to use our computer and this CPU power to help us to access the internet and a network adapter or a network card is used to provide that internet access.
So the network adapter could be ethernet based where we put a cable in or it might be WiFi based. But the goal or the job of the network adapter is to connect us to the network so that we can communicate with other computers on our same network and on remote networks. Now, once you get access to the internet, you're going to want a firewall. The firewall is responsible for helping to block unauthorized or undesirable access to your computer for things like viruses and malware. So many operating systems already having OS level Firewall installed. As an example on Windows, you might see Windows Firewall.
Now you can buy third party products and use them. But by default, you'll see Windows Firewall on Linux computers one of the older ones that you'll see that a lot of people might be familiar with is something called IP tables. So we used these firewalls again to help block undesirable or malicious activity from accessing our computer. And then we have the RAM. RAM stands from random access memory, so when data is processed by your computer before it's processed, it goes into memory. The memory hands it off to the CPU for actual processing.
Think of RAM as short term memory, things that recently happened or things that need to be processed by the CPU go into memory first and then from memory they're handed off to the CPU for processing. So these are really the basic components that are part of a computer.
You want to take just a moment to try to understand those basic components, because we're going to apply the same concept to the virtual computers that we use on AWS. Those were called Elastic Cloud Compute instances or EC2 instances, and there are some other compute services as well, but in this section our focus is on EC2. So that's going to do it for compute basics. Thanks for watching. I'll see you in the next lesson.
You have instances that you can purchase from the AWS marketplace. Generally, these have additional license software that's bundled with the operating system, and then you have AMIs that you create. So let's go over here to AMI under images, and I'm going to click on the link for AWS Marketplace and I'm going to scroll down. There's a search section here. We can search for different types of AMIs based on categories, but I'm going to scroll down here and just select operating systems. And if I scroll down a little more over here,
I can select free, and I'm also going to select Linux/Unix operating systems and Amazon Linux. So these are the free Amazon Linux AMIs that have been created by AWS. So you can use these to actually deploy your own EC2 instances. Now, when we talk about instance type options, these are the instance type families that can be utilized when an instance is deployed so think of the purpose or what the instance might actually be used for, and that family kind of helps you narrow down what type of instance you should be looking at as an example, if you have an application that is very memory intensive than you might want, a memory optimized instance.
If you're setting of something like just a web server, then a general purpose Instance may be a good choice. So, based off of your requirement, you select the correct instance type. Now when we think about AMIs, AMIs have several components that include the root volume template that has the operating system and any application software that is included with that AMI, the permissions for launching that AMI, and the block device mapping, which basically maps out the hard drive. These components make up an instance, so in this example, we have an instance named my Linux EC2 instance. The root volume template has Amazon Linux and an Apache web server, installed for the root volume, launch permissions, and then the device mapping for the hard drive or the EBS volume.
From that, we can make an AMI and when we create that AMI. We're creating a template that we can use to launch additional EC2 instances with the exact same configuration. So here you can see we've created the AMI and from the AMI my we can then deploy multiple EC2 instances with that exact same configuration, so you can see how AMIs can help speed up your application deployments. You can create your own customized AMI with all of your applications already installed making image, and then you can deploy multiple EC2 instances with that configuration already preinstalled, it really is a big time saver. So when we look at instance types, instance types are basically the CPU of your instance. The AWS definition is when you launch an instance the instance type that you specify determines the hardware of the host computer. That's the computer that's running your virtual server.
Each instance type offers different compute, memory, and storage capabilities and our grouped in instance families based on these capabilities select an instance type based on the requirements of the application or software that you planned to run on that instance. So if we go back to our EC2 dashboard and click "Launch Instances" and select our Amazon 2 Linux AMI. So let's go ahead and take a deeper dive into these instance type components. The family, which includes the instance type that we want, one that might be used for general purpose, memory optimized, GPU optimized, and so on. The next to that you have the subcategory or type. So within each family, there are multiple subcategories. As an example, we have T2, the T3s, and then we have M5s and all of these are still general purpose. Within each type, we can also select small, medium, large, extra large and so on. So you have multiple options available to you within that family.
You have the virtual CPU is basically how much processing and parallel processing basically multitasking, how much of that is the instance going to have to do? And based on that and the application requirements, you select the correct number of Virtual CPUs and then the memory requirements, what type of instance storage is being utilized like EBS storage, whether or not it's EBS optimize storage.
If that's available as an option for that instance type, what type of network performance you expect, whether you expect of the five gig up to 10 gig at the 20 gig of network performance requirements and then whether or not it supports IP version six. So now that we have a little bit more of an understanding of instance types, let's talk some more about EBS. So I'm going to hit "Cancel" here, and actually, I'm going to go back into that instance type because we're going to take a look at EBS storage. So I'm going to hit "Launch," going to hit the instance type. I'm going to leave that at the T2.micro default. I'm going to hit "Configure Instance Details." I'm going to leave that at all of the default settings.
I'm going to go over to add storage. So from add storage, notice that we have a root volume that's attached here. And this root volume is used as local storage for where the operating system and applications can be installed. So think of EBS as the hard drive for that instance, EBS provides block level storage volumes for use with your EC2 instances. EBS volumes are highly available and reliable storage volumes that can be attached to any running instance that is in the same availability zone. EBS volumes that are attached to an instance are exposed as storage volumes that persist independently of the life of the instance. So what does that mean?
That means that you can attach additional volumes, EBS volumes, to your instance, and those volumes can survive even when that instance is terminated. So if I click "Add Volume" here and I'm going to leave this all at the default and if you look here at the options, we can see here that the volume type is general purpose. But there are other options here for the type of EBS storage as well, we're not going to go through all those storage types here, as that's a more advanced topic. But just know that we're able to select the type of storage that's used with our EC2 instance.
Now you also have the ability to set whether or not you want this volume to the lead on termination. We're not going to select that for this particular example, but this shows how we can attach additional volumes EBS volumes to our EC2 instance and they're treated like local hard drives. So every EC2 instance must have a root volume which may or may not be based on EBS. By default, EBS root volumes are set to be deleted when the instance is terminated. However, you can choose to have that volume persist after termination. So you see, we have a root and a EBS volume. Your root volumes by default are deleted when the instance is terminated. Your EBS volumes that you attach your secondary volumes, those EBS volumes are not automatically deleted. When the instance is deleted.
You can delete them, but by default, they're set to not delete when the instance is terminated. These are attached volumes so you can attach and detach these secondary volumes to your instance at any time. So, in order to keep this video from becoming too long, we're going to go ahead and pause here and pick up with security groups in the next video. So I'll see you in part two. Thanks for watching. I'll see you in the next video.