Weeks ago, I learnt about AWS Storage while taking the AWS Cloud practitioner course on the AWS Skill Builder website and wanted to share insights on it.
From my previous article about cloud computing, I mentioned AWS as a cloud computing platform provider. Understanding that AWS is a cloud computing platform provider, we can go ahead to discuss the services this platform provides for users but in this context, we would be discussing about storage in particular.
The storage AWS offers is in the cloud and it would be best to understand what cloud storage is first off.
Cloud Storage Defined
Cloud storage is a cloud computing model that stores data on the Internet through a cloud computing provider who manages and operates data storage as a service. It’s delivered on demand with just-in-time capacity and costs, and eliminates buying and managing your own data storage infrastructure. This gives you agility, global scale and durability, with “anytime, anywhere” data access. - AWS
This basically tells us that cloud storage is being kept on the net and maintained by a 3rd party, and the 3rd party here would be AWS.
Types of cloud storage
There are different types of cloud storage in AWS which we would be looking into shortly.
- Object storage
- File storage
- Block storage
Object Storage:
Objects are stored using a key and the contents of the store can be spread over multiple servers. This enables high availability and durability. The object store guarantees that the data will not be lost. Object storage data can be replicated across different data centers and offer simple web services interfaces for access. With AWS object storage solutions like Amazon Simple Storage Service (Amazon S3) and Amazon Glacier, you manage your storage in one place with an easy-to-use application interface. You can use policies to optimize storage costs, tiering between different storage classes automatically. Applications developed in the cloud often take advantage of object storage's vast scalablity and metadata characteristics
File Storage:
These files are in turn, organized in folders, and these folders are then arranged into directories and subdirectories in a hierarchical fashion. To access a file, users or machines only need the path from directory to subdirectory to folder to file. File storage solutions like Amazon Elastic File System (EFS) are ideal for use cases like large content repositories, development environments, media stores, or user home directories. They store files in a folder structure and you can access them through a network.
Block Storage:
Data is broken up into pieces called blocks, and then stored across a system that can be physically distributed to maximize efficiency. Data kept on object storage devices, which consist of the object data and metadata, can be accessed directly through APIs or http/https. You can store any kind of data, photos, videos, and log files. Block storage devices provide fixed-sized raw storage capacity. Each storage volume can be treated as an independent disk drive and controlled by an external server operating system. Block-based cloud storage solutions like Amazon Elastic Block Store (EBS) are provisioned with each virtual server and offer the ultra low latency required for high performance workloads.
Examples of some storage services offered by AWS
1. Instance Stores:
It is a disk storage that is physically attached to the host computer for an EC2 instance and hence has the same lifespan as the instance. We make use of instance stores when intend on storing an EC2 instance temporarily. Whenever you terminate the instance, the data stored on it is also deleted.
2. Amazon Elastic Block Store (Amazon EBS):
This is contradicts the instance store because it stores data for a long time and in a situation that an Amazon EC2 instance is terminated, the data stored on it still remains accessible. It provide block-level storage volumes that work with EC2 instances.
3. Amazon Simple Storage Service (Amazon S3):
This provides object-level storage i.e it stores data as objects in buckets. It is used to host static websites. You need to consider how often you plan to retrieve your data and how available you need your data to be before selecting a storage class under Amazon S3. The storage classes include:
S3 Standard:
It is ideal for frequently acessed data, has high availability, stores in a minimum of 3 availability zones and has a higher cost than the other storage classes.
S3 Standard-Infrequent Access (S3 Standard-IA):
It is ideal for data that isn't accessed frequently, minimum of 3 availability zones, has lower storage price and higher retrieval price.
S3 One Zone-Infrequent Access (S3 One Zone-IA):
Stores data in a single availability zone, has lower storage price compared to S3 Standard-IA
S3 Intelligent-Tiering:
It is used to monitor object access patterns. For example, if an object hasn't been accessed for 30days, Amazon S3 moves it to the S3 Standard-IA.
S3 Glacier:
Low-cost storage designed for data archiving. Retrieval of objects within few minutes to hours.
S3 Glacier Deep Archive:
Lowest-cost object storage class or archiving. Retrieval of objects within 12 hours.
4. Amazon Elastic File System (Amazon EFS):
Amazon EFS is a scalable file system. As you add and remove files, it grows and shrinks automatically. Elastic File System is a service that allows us to store files in S3 as if they were actually on our local network. You attach a VM to your network and it acts as a file server that stores the files in AWS.
Use Cases
Object Storage
- Storage of unstructured data like music, image, and video files.
- Storage for backup files, database dumps, and log files.
- Large data sets. Whether you’re storing pharmaceutical or financial data, or multimedia files such as photos and videos, storage can be used as your big data object store.
- Archive files in place of local tape drives. Media assets such as video footage can be stored in object storage and archived to AWS glacier.
File Storage
- Storage of files for an office or directory in a content repository.
- Storage of files in a small development or data center environment that is a cost effective option for local archiving.
- Storage of data that requires data protection and easy deployment.
Block Storage
- Ideal for databases, since a DB requires consistent I/O performance and low-latency connectivity.
- Use block storage for RAID Volumes, where you combine multiple disks organized through stripping or mirroring.
- Any application which requires service side processing, like Java, PHP, and .Net will require block storage.
- Running mission-critical applications like Oracle, SAP, Microsoft Exchange, and Microsoft SharePoint.
Thank you for reading!