Object storage is a type of data storage architecture that manages data as objects instead of file hierarchies (file storage) or blocks (block storage). Each object includes the data, metadata, and a unique identifier. The AWS solution for object storage is Amazon S3 (Simple Storage Service).
Characteristics:
- Data Consistency: It provides eventual and read-after-write consistency for PUTS of new objects in your S3 bucket and eventual consistency for overwrite PUTS and DELETES in all regions.
- Scalability: S3 is designed to scale storage, requests, and users to support an unlimited number of web-scale applications.
- Durability: It offers incredibly high durability of 99.999999999% (11 9’s)
- Versatility: S3 supports a wide variety of use cases including website hosting, data archiving/backups, mobile, and IoT applications.
- Security: Offers a wide array of security features including bucket policies, Access Control Lists (ACLs), and IAM policies.
File Storage:
File storage organizes and represents data as a hierarchy of files in folders. It uses standard file protocols such as NFS (Network File System) and SMB (Server Message Block). AWS provides Amazon EFS (Elastic File System) for file storage.
Characteristics:
- Compatibility: It works well with legacy applications that require file system interface and file system semantics.
- Concurrent Access: Multiple clients, devices, or instances can access and share the same file systems simultaneously.
- Elasticity: With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files.
- Durability: EFS is designed to be durable and available, replicating data across multiple AZs.
- Performance: Amazon EFS offers two performance modes, general purpose, and max I/O.
Block Storage:
Block storage splits a volume into individual data blocks, each block can be controlled as a separate hard drive. AWS service for block storage is Amazon EBS (Elastic Block Store).
Characteristics:
- Low Latency: EBS volumes provide consistent and low-latency performance.
- Versatility: They can be used as primary storage for data that requires frequent updates, like system drive for an instance or storage for a database application.
- Durability: It offers higher durability by automatically replicating within its availability zone to prevent from component failure.
- Security: EBS volumes are automatically encrypted, with keys managed by the AWS Key Management Service (KMS).
- Performance: It offers two types of volumes: SSD-backed volumes optimized for transactional workloads involving frequent read/write operations with small I/O size, and HDD-backed volumes optimized for large streaming workloads where throughput (measured in MiB/s) is a better performance measure than IOPS.
Overall, the choice of storage type often depends on the specific needs of the application or service in question. Thus, understanding these differences is essential for the AWS Certified Solutions Architect – Associate Exam.
Practice Test
True or False: Block storage can only be accessed if the system is locally attached.
- True
- False
Answer: False
Explanation: Block storage can be accessed both locally and over a network. In the case of AWS, EBS (Elastic Block Store) is a block-level storage solution that can be attached to any running instance on the same Availability Zone.
Which of the following AWS services is an example of file storage?
- A) Amazon S3
- B) Amazon EBS
- C) Amazon FSx
- D) Amazon Glacier
Answer: C) Amazon FSx
Explanation: Amazon FSx provides fully managed, robust file storage with a rich feature set including full support for the SMB protocol, Windows NTFS, AD integration, and DFS.
True or False: Object storage, like in Amazon S3, is ideal for frequently accessed data that requires low latency.
- True
- False
Answer: False
Explanation: Object storage is best suited for unstructured data or data that does not require low latency. For low latency and frequent data access, file or block storage is typically better suited.
What are the characteristics of block storage?
- A) Scalability, redundancy, and durability
- B) Low latency, flexibility, and high performance
- C) High scalability but poor performance
- D) Redundancy and high performance but not flexible
Answer: B) Low latency, flexibility, and high performance
Explanation: Block storage is like hard drives, it supports file systems and databases and offers high performance and flexibility. It is suitable for applications requiring low latency and high throughput.
Which of the following is an advantage of file storage?
- A) It is highly scalable
- B) It offers faster data retrieval times than block or object storage
- C) It allows users to organize and access data based on a hierarchical system
- D) All of the above
Answer: C) It allows users to organize and access data based on a hierarchical system
Explanation: File storage allows users to organize and access their data in a familiar structure, similar to a traditional file system.
True/False: Object storage in AWS cannot be used to store unstructured data.
- True
- False
Answer: False
Explanation: Object storage, like Amazon S3, is ideal for storing unstructured data such as photos, videos, and logs.
When should you choose Block Storage over File or Object storage?
- A) When dealing with big data
- B) When you need to store media files or backups
- C) When you need to run an operating system or a transactional database
- D) When the data does not have a structured schema
Answer: C) When you need to run an operating system or a transactional database
Explanation: Block storage like Amazon EBS is suitable for running transactional databases and operating systems as it provides low latency and high performance.
Which of the following AWS services falls under object storage?
- A) Amazon EBS
- B) Amazon S3
- C) Amazon FSx
- D) Amazon Elastic File System
Answer: B) Amazon S3
Explanation: Amazon S3 (Simple Storage Service) is an object storage service that offers scalability, data availability, security, and performance.
True/False: The durability of object storage is higher than that of block storage.
- True
- False
Answer: True
Explanation: Object storage services like AWS S3 offer high durability by distributing data across multiple devices and facilities, making it less likely to lose data than block storage.
File storage systems do not support _______.
- A) Hierarchical data structure
- B) Metadata
- C) Simultaneous access by multiple users
- D) Non-format specific data
Answer: D) Non-format specific data
Explanation: File storage systems are format-specific and not designed to handle non-format specific (unstructured) data as efficiently as object storage systems.
What is a significant advantage of block storage?
- A) It is highly scalable
- B) It is cheap and cost-effective
- C) It is excellent for storing unstructured data
- D) It has high performance and low latency
Answer: D) It has high performance and low latency
Explanation: Block storage is optimized for high performance and low latency, making it ideal for workloads that require high-speed access to their data.
True or False: Each object in object storage contains data, metadata, and a globally unique identifier.
- True
- False
Answer: True
Explanation: Object storage stores data as objects which include the data itself, metadata, and a globally unique identifier.
Which of the following is not a type of storage in AWS?
- A) Object Storage
- B) Block Storage
- C) File Storage
- D) Link Storage
Answer: D) Link Storage
Explanation: There are three main types of data storage – object, block, and file storage. Link storage is not a type of storage in AWS.
What does the Amazon EBS service provide?
- A) Object storage for EC2 instances
- B) Block-level storage volumes for use with EC2 instances
- C) File system storage for EC2 instances
- D) Cold storage for data archiving
Answer: B) Block-level storage volumes for use with EC2 instances
Explanation: Amazon EBS provides block-level storage volumes for use with Amazon EC2 instances, and it is optimized for high performance and low latency.
Interview Questions
What is AWS Identity and Access Management (IAM)?
AWS Identity and Access Management (IAM) is a web service that allows you to manage access to AWS services and resources securely. With IAM, you can create and manage AWS users and groups and use permissions to allow and deny their access to AWS resources.
What is AWS Single Sign-On (SSO)?
AWS Single Sign-On (SSO) is a cloud SSO service that makes it easy to centrally manage SSO access to multiple AWS accounts and business applications. Users can sign in to a user portal with their existing corporate credentials and access all of their assigned accounts and applications from one place.
What is Federated Access in the context of AWS?
Federated Access allows you to use your existing identities to access your resources. This can be achieved by integrating 3rd party Identity Provider (IdP) with AWS IAM.
How does AWS IAM work?
IAM lets you manage access to AWS services and resources through users, groups, roles, and permissions. Every IAM entity (user, group, role) can have policy documents attached to it that define what actions are allowed or denied by the entity.
Can I use SAML with AWS IAM for Single Sign-On?
Yes. AWS supports identity federation with SAML enabling single sign-on to the AWS Management Console or calls to AWS APIs.
What are IAM roles?
IAM roles are a secure way to grant permissions to entities that you trust. Entities can be an AWS service, an application, or even a user from another AWS account.
How are permissions granted for federated users?
Permissions for federation users are granted via IAM roles. Federated users are temporary and are granted to an IAM role and permissions through IAM policy.
What is an IAM policy?
An IAM policy is an entity that defines the permissions for how a principal (a user or an application) can access specific resources. These permissions are written using JSON and define the actions, resources, and conditions of the policy.
Can you effectively manage permissions for large teams using IAM?
Yes, you can create IAM groups to manage permissions for multiple users at once, allowing for effective permissions management for large teams.
How does AWS manage unique identifiers for users?
Every IAM entity—user, group, and role— has a unique Amazon Resource Name (ARN) associated with it. This ARN is used to reference the entity across AWS services.