AMAZON STORAGE SERVICES:
AWS provides wide range storage services that can be used accordingly to your project and use case. These are virtual storage services on cloud that allow to store data in a scalable and highly available manner and removes the hassle of buying and
maintaining physical equipment for data storage. These storage services are divided basing on the storge types i.e file storage, block storage and object storage.
Amazon Elastic Block Store (EBS):
EBS (Amazon Elastic Block Store) is a block type storage provided by AWS. It is similar to hard drives on our physical machines. EBS is primarily used by the AWS EC2 instances for persistent data storage which means that even if EC2 instances are shut down, the data on EBS volume is not lost.
EBS volumes can be dynamically attached, detached and scaled with EC2 instances.
Types of EBS volumes:
There are different types of EBS :
1)SSD backed volumes
2)HDD backed volumes
Features of EBS:
Scalability: EBS volume sizes and features can be scaled as per the needs of the system. This can be done in two ways:
a) Take a snapshot of the volume and create a new volume using
the Snapshot with new updated features.
b) Updating the existing EBS volume from the console.
Backup: Users can create snapshots of EBS volumes that act as backups. Snapshot can be created manually at any point in time or can be scheduled. Snapshots are stored on AWS S3 and are charged according to the S3 storage charges. Snapshots are incremental in nature. New volumes across regions can be created from snapshots.
Encryption: Encryption can be a basic requirement when it comes to storage. This can be due to the government of regulatory compliance. EBS offers an AWS managed encryption feature.
Users can enable encryption when creating EBS volumes bu clicking on a checkbox.
-> Encryption Keys are managed by the Key Management Service (KMS) provided by AWS.
-> Encrypted volumes can only be attached to selected instance types.
-> Encryption uses the AES-256 algorithm.
-> Snapshots from encrypted volumes are encrypted and similarly, volumes created from snapshots are encrypted.
Charges: AWS charges users for the storage you hold or used. For example, if you use 1 GB storage in a 5 GB volume, you’d still be charged for a 5 GB EBS volume. EBS charges vary from region to region. EBS Volumes are independent of the EC2 they are attached to. The data in an EBS volume will remain unchanged even if the instance is rebooted or terminated.
Relational and NoSQL databases can also be deployed and scaled with EBS. Various databases like MySQL, Oracle, MSSQL, Cassandra, MongoDB, etc. are supported.
- EBS is not recommended as temporary storage.
- They cannot be used as a multi-instance accessed storage as they cannot be shared between instances.
- The durability offered by services like AWS S3 and AWS EFS is greater.
Single EBS volume can only be attached to one EC2 instance at a time. However, one EC2 can have more than one EBS volumes attached to it.
Amazon Simple Storage Service (s3):
S3 (Amazon Simple Storage Service) is an object type store where users can upload and store objects into it. The objects are stored in a container which is referred to as a bucket. We can put objects into a bucket or get the objects from a bucket. An object can be a file of any type like a text file, a video, an image, etc.
Features of AWS S3:
Durability: AWS claims Amazon S3 to have a 99.999999999% of durability (11 9’s). This means the possibility of losing your data stored on S3 is one in a billion.
Availability: AWS ensures that the up-time of AWS S3 is 99.99% for standard access.Note that availability is related to being able to access data and durability is related to losing data altogether.
Server-Side-Encryption (SSE): AWS S3 supports three types of SSE models:
SSE-S3: AWS S3 manages encryption keys.
SSE-C: The customer manages encryption keys.
SSE-KMS: The AWS Key Management Service (KMS) manages the
File Size support: AWS S3 can hold files of size ranging from 0 bytes to 5 terabytes. A 5TB limit on file size should not be a blocker for most of the applications in the world.
Infinite storage space: Theoretically AWS S3 is supposed to have infinite storage space. This makes S3 infinitely scalable for all kinds of use cases.
Pay as you use: The users are charged according to the S3 storage they hold.
AWS-S3 is region-specific.
Use cases for S3: AWS S3 can be used by people with all kinds of use cases like mobile/web applications, big data, machine learning and many more.
Amazon Elastic File System (EFS):
EFS (Amazon Elastic File System) is a file-based storage service which is somewhat similar to the NAS (Network Attached Storage). EFS is a file-level, fully managed, storage provided by AWS that can be accessed by multiple EC2 instances concurrently. Just like the AWS EBS, EFS is specially designed for high throughput and low latency applications.
Features of AWS EFS:
Storage capacity: EFS provides an infinite amount of storage capacity. This capacity grows and shrinks as required by the user.
Fully Managed: EFS takes the overhead of creating, managing, and maintaining file servers and storage.
Multi EC-2 Connectivity: EFS can be shared between any number of EC-2 instances by using mount targets.
Note-: A mount target is an Access point for AWS EFS that is further attached to EC2 instances, allowing then access to the EFS.
Availability: AWS EFS is region specific., however can be present in multiple availability zones in a single region.
-> EC-2 instances across different availability zones can
connect to EFS in that zone for a quicker access
EFS Life Cycle Management: Lifecycle management moved files between storage classes. Users can select a retention period parameter (in number of days). Any file in standard storage which is not accessed for this time period is moved to Infrequently accessed class for cost-saving.
->Note that the retention period of the file in standard storage resets each time the file is accessed
->Files once accessed in the IA EFS class are them moved to Standard storage.
-> Note that file metadata and files under 128KB cannot be transferred to the IA storage class.
-> Life Cycle management can be turned on and off as deemed fit by the users.
Durability: Multi availability zone presence accounts for the high durability of the Elastic File System.
Transfer: Data can be transferred from on- premises to the EFS in the cloud using AWS Data Sync Service. Data Sync can also be used to transfer data between multiple EFS across regions.\
Use cases for EFS:
Multiple server architectures: In AWS only EFS provides a shared file system. So all the applications that require multiple servers to share one single file system have to use EFS.
Big Data Analytics: Virtually infinite capacity and extremely high throughput makes EFS highly suitable for storing files for Big data analysis.
Reliable data file storage: EBS data is stored redundantly in a single Availability Zone however EFS data is stored redundantly in multiple Availability Zones. Making it more robust and reliable than EBS.
Media Processing: High capacity and high throughput make EFS highly favorable for processing big media files.
EBS vs EFS vs S3:
The difference between EBS, EFS AND S3 are as follows: