EC2 Instance Root Device: EBS vs. Instance Store

So, let's discuss the difference between EBS and the instance store. First of all, EBS, it's faster to boot. We're using EBS as the main Root Boot Device, and then you can add multiple elastic block stores later, by the act of mounting those volumes. And you can also mount different sizes of volumes if you need more space. Maybe you're running out of space so you can mount more volumes. You can detach them. You can store them separately.

So basically, EBS, it's a technology that allows you to separate the actual compute, the actual...the processing, the CPU of the instance from the storage. And EBS, it's a special storage for the compute instances. EBS allows you to stop and restart. This is pretty important feature. It's a pretty important thing. So, without EBS... So, if you are using an image which does not support EBS and probably it's an older image, most of the recent images, they support EBS, so you won't be allowed to stop and restart that instance. And also, you would lose all the information. So, whatever source code you installed, you would lose that.

With EBS, when you stop an instance, the EBS will be just saved as a volume and all the data, whatever you installed manually or via shell script, via automation script, it will be safely there in that EBS. Persistent. So, that's why EBS is nice to have and nice to use because your data, whatever you installed, will be saved. For more information and more comparison between the storages for Root Device, follow the link Storage for the Root Device.

Now, let's talk about some of the configurations inside of the EC2. So, each EC2 instance will have a Type. And it will look like, for example, t2.micro. Let's see what each of those characters mean. For example, the first "t", the first character, means a Category. So, "t", it's typically a general category of instances. They're not specifically tailored to any of the needs. You can get some of those specifically tailored instances such as graphical, compute, memory optimized, for different purposes. You might want to pick a different category. But generally, considered like a standard, the default option. The second character is the generation. So, for example, "t1", would be the previous generation. And "t2", right now as of 2017, it's the current generation. The third parameter, the third name in the type would be the size. So, you might have nano. You might have large. You might have medium. So, just like you would go into a clothing store and pick a t-shirt, micro or small would be smaller than a large or extra large.