I remember back to my 1980 Macintosh Plus. I always looked forward to getting new floppy disks from my Uncle. One day though, he sent me this large heavy device. He told me to connect it to my computer and then I could start up my mac without any of those floppy disks. I was confused. How can I start a computer without putting in the floppy disks? I wondered.
This was my first experience with a hard drive. Shift forward 30 years later, and now our heads are in the clouds. But even in “The Cloud”, we still will find our computers, servers, and hard drives
. Amazon calls these hard drives EBS Volumes
(Elastic Block Store).
In modern computing, there are two different ways that data is stored:
- Block Storage – Typical Hard Drives, running Databases or Operating Systems.
- Object Storage – Files, like pictures, music, videos, or downloads
Block Storage divides the hard drive space into a set of small blocks. The size of these blocks are usually 256 – 512 kilobytes each. When you write a big file to a hard drive using block storage, it writes the data across blocks. When the file changes, ONLY the blocks that have changed are written, and the rest of the blocks are left alone.
Compare that with Object Storage
, where all the data is tied together as a single unit. When this unit or object is changed, the entire object has to be rewritten.
We know that necessity is always the mother of invention. Object Storage came about as a need that arose to address the problem of scale. When block storage scaled up to hundreds and thousands of terabyes and even petabytes, it become problematic to organize datas into blocks, simply becasuse the hardware infrastructure no longer allowed for it. That is why object storage came about; to better deal with scalability.
In AWS, object storage is known as Amazon S3
. Block storage in AWS is known as Elastic Block Storage, or EBS Volumes.
Now what types of EBS volumes are available in AWS? There are a total of 5 different configurations and two major types of EBS Volumes. There’s SSD and HDD
drives available. In a nutshell, SSD stands for “Solid State Drive” using memory chips . HDD is “Hard Disk Drives” using a rotating magnetic tape with an arm writing to it, similar to the old school record turntable.
Three of them are bootable drives, where you can install an Operating System (OS) used to run an EC2 instance. Two of them are unbootable, meaning they can’t be used as the root volume containing an OS for an EC2 instance. Another way of looking at it, is that the SSD drives are bootable, and the HDD drives are not bootable, with the exception of the Magnetic Standard HDD.
EBS Volumes – (SSD)
- General Purpose SSD (10K IOPS)
- Provisioned SSD (20K IOPS)
The difference between the two, is speed. General Purpose gives speeds up to 10,000 Input / Output Operations Per Second. (IOPS). Provisioned gives you 20,000 IOPS.
EBS Volumes (HDD)
- Magnetic Standard (250 IOPS)
- Cold HDD Magnetic (250 IOPS)
- High Throughput Magnetic HDD (500 IOPS)
Magnetic Standard HDD is exactly the same as Cold HDD, except one is bootable, and the other is not. High Throughput HDD’s are faster than the Standard HDD.
Why would anybody go with the old fashioned Hard Disk Drives when SSD’s are faster, quieter, and lighter? Various reasons. But one use case for the magnetic HDD is for sequential logging types of activities that need sequencing and ordering. Also, HDD’s are cheaper than SSD’s. You could also use a Cold HDD as a file server for example.
You can find these EBS configurations when you set up the storage options of your EC2 instance.
EBS Volume Pricing
How much does it cost to run EBS Volumes in AWS? Important question when designing solutions in AWS. Each EBS volume has a different price point. With Cloud computing, we pay in general by usage so the rates will be on a per month basis. Each EBS volume type has a different rate.
The price will also vary according the region you’re in. The prices above are for us-east-1 (Northern Virginia).
Also, notice that the last storage offering is called EBS-Snapshots. Those are not EBS Volumes per-say, but rather images of EBS volumes. A good practice when working with EBS Volumes is to create snapshots of volumes that aren’t running, and only create volumes from the snapshots when you need them. This is because snapshots are cheaper to store than the standard SSD volumes.