As cloud technologies are getting evolved and solving many practical problems that occur while you want to maintain your application in the cloud. We will see what are the storage options are present in AWS and how it is solving the problems and how we can use these services to take the benefits that can leverage the application.
Instance store is the physical storage that comes along with the specific EC2 instance. Not all the instance pre-qualified for getting this instance store, only the specific instance are getting this storage. You can avail the instance storage before the instance launch after launching you cannot increase or decrease the storage.
- Unlike network storage, the instance store has high IOPS performance as it is attached to the instance physically.
- If an instance reboots, the data in the instance store will persist.
- The data will be lost if the instance stops, terminates, or disk failure. So, be more careful about storing the data which you need in the long term. Go for S3, EBS, or EFS for more durability.
- Better storage option for the buffer, cache, scratch storage, or temporary storage.
- You cannot resize the storage after you launch the instance. So, you need to very calculative before you launch the instance.
- Data backup is manual.
- You can use the instance store as swap space, which will improve your workload to page the memory in the swap space. Refer to this document for implementation.
To know more about the instance store, you can refer to the AWS document here.
Elastic Block Storage (EBS):
EBS provides the block storage volume that can be attached to your instance. This is the raw, unformatted storage volumes that are independent of the instance life cycle. So, if you want to persist the data that should not erase after the instance stops or terminates, you can go for EBS. EBS provides better throughput so that it can be useful for the high intensive data applications.
- EBS is Availability Zone (AZ) specific, that is you have an instance in us-east-1a you cannot use the EBS that is in us-east-1b.
- You can create the snapshots at any point in EBS and it will be stored in the S3 bucket. The snapshots will be useful that you want to share the EBS to another AZ or quickly back to the past storage point. This improves data durability.
- You can encrypt the data in EBS volumes. You can create the encrypted EBS and mount it to the instance. This helps to meet the requirement of maintaining sensitive data. If you encrypt the EBS, then the data i/o, snapshots, and data stored on the volume becomes encrypted.
- EBS has four types of volume types: gp2 (General purpose?-?3 IOPS/GiB, can burstable up to 3000 IOPS/GiB), io1 ( Provisioned IOPS?-?64,000 IOPS, 1000 MiBs of throughput), st1 ( Throughput optimized IOPS?- low magnetic storage that focuses on throughput performance rather than on IOPS, you can opt this type for a large workload operation but less frequent read/write operations ), sc1 ( Cold storage drives?-?this is same as st1 but this storage is less expensive than st1 so that you can store the large, sequential and less frequent data in this cold storage ). Only gp2 and io1 can be used as the boot volumes.
- You can monitor the EBS volume performance metrics that provided through the Amazon CloudWatch.
Simple Storage Service (S3):
Rather than the above two storage types, S3 is the object storage repository. So, you don’t need to calculate how much storage you want for your application. Amazon S3 provides the facility to store your data and request your data at any time. It allows concurrent access to a file as well. S3 pricing depends on the amount of data you stored and the number of requests that you made. With this analysis, S3 looks cheapest for most of the applications.
- AWS S3 is highly scalable.
- S3 stores the data redundantly. It has high reliability. If your instance fails, the snapshots that you stored in S3 can be used to revert your instance or application back to normal.
- S3 URL will have the bucket name and the key value. Instead of the file and folder structure, this type will be useful for retrieving the object from the bucket.
- We can enable the versioning on the S3 so that we can track the versions of the objects that stored in the bucket.
- The major advantage of S3 is its security features. You can restrict the user access to the bucket through the IAM policies, resource-based restrictions can be done by the bucket policy and ACLs ( Access control lists ).
- Object access can be secured through the pre-signed URL with a timestamp so that the object is accessed only for a specific duration.
- The data can be shared among the multiple availabilities zones, thereby making it more highly scalable.
You can refer to the AWS documentation here.
S3 Glacier is a durable, secure, and extremely low-cost S3 storage class for data archiving and long term backup. S3 glacier provides the facility of storing the archived data and you don’t need to think about the administrative burden such as capacity planning, health checks of drives, recovery planning, etc.,
- In S3 glaciers, you can create the vaults for storing your data meaning the large data that you want to store the data for a very long period of time.
- The data model of the S3 glacier contains the vaults and archives. The Vaults will keep all your archives which can be a photo, video, or any document type. Whenever you need to get the archive, you need to raise a job using SQL queries that retrieves the archive. When the job is completed, the notification will be published.
- The management console will only provide the creation and deletion of vaults. Accessing the vaults for the archives can be done through the REST client using AWS SDK or AWS CLI commands.
You can refer more about the AWS S3 Glacier here.
Elastic File System (EFS):
EFS comes into the light for a highly data-intensive analytics workload which you cannot determine for the first time. EFS provides a simple, scalable, and fully managed Network File System (NFS) for your application. Without disturbing your application, the EFS can grow up to petabytes data. EFS provides better lower latency, bursting throughputs, and autoscaling features. So, these features distinguish EFS with S3.
- EFS is not for specific AZ. That means, If you have one instance in one AZ, another instance in another AZ, and you can access the EFS with less latency and high throughput, which EBS cannot provide since it is bound to AZ.
- EFS can mount it to your EC2 instance. This can be used as a file system in your instance and also you have the feature of scalability with this mounted volume.
- This is the POSIX file system which has the compatible only for LINUX based AMI.
- You can use security groups for accessing the EFS and also allow encryption.
- There is no need for capacity planning needed for EFS, just need to pay peruse.
You can get started to EFS here.
AWS FSx (File System for the third-party system):
FSx provides the fully managed file system with the native compatibility to the third party systems like Microsoft windows AMIs for high computing workloads, machine learning data sets and for large data workload applications. Currently, FSx supports Windows file server and Lustre file systems. This provides the EFS features to these third-party file systems.
AWS Storage Gateway:
This service provides your on-premise software application to access the AWS cloud-based storage seamlessly fast and secure gateway between your on-premise infrastructure and cloud infrastructure. If you want to have a disaster recovery system or backup system, you can opt for a Storage gateway. There are about three types of storage gateways: volume, tape, and file gateway.
This is an Edge device that is useful for transferring the data with more than the internet speed. This helps to move the PBs or TBs of data seamlessly from in and out of AWS. This is a physical device that you can order based on your storage limit. You can encrypt the data while moving from your network to AWS in less time. If you have data that takes several weeks to transfer over the network, use Snowball.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.