Storage retains data so applications and people can retrieve it when needed. In the cloud, engineers select storage by how applications access data, how quickly that data must be available, and what failures the design must tolerate. Capacity alone is not enough: a database, shared application directory, and long-term compliance archive have different storage requirements even if they contain the same number of bytes.
The three common storage models are object, block, and file storage. Object storage holds data as objects identified by keys and accessed through APIs; it suits images, backups, logs, and data lakes. Block storage exposes volumes that operating systems can format with file systems or use for databases. File storage presents directories and files through protocols such as NFS or SMB, making it useful when applications need familiar file operations and shared access.
On AWS, Amazon S3 provides object storage, Amazon EBS provides block volumes for EC2, and Amazon EFS and Amazon FSx provide managed file systems. EC2 instance store provides temporary, host-attached storage that can be useful for caches and scratch data. Unlike EBS volumes, instance-store data does not survive instance stop or termination, or failure of the underlying storage. EBS volumes can persist independently of an instance, but termination can delete attached volumes depending on their deletion settings. Persistence must therefore be an explicit architectural choice.
Storage pricing is not simply a price per gigabyte. Depending on the service, charges can include stored or provisioned capacity, requests, data retrieval, provisioned IOPS, throughput, snapshots, replication, and data transfer. EBS generally charges for provisioned volume capacity even when much of that capacity is empty. S3 generally charges for stored data, subject to class-specific minimum billable sizes and other charges. Network transfer charges depend on the traffic path and destination; do not assume every read has the same transfer cost.
Storage tiers trade price against access frequency, retrieval cost, latency, and resilience. Amazon S3 Standard supports frequently accessed data with millisecond access and storage across multiple Availability Zones. S3 Standard-Infrequent Access, or Standard-IA, retains millisecond access and multi-AZ storage but adds retrieval charges and a 30-day minimum storage duration. S3 One Zone-Infrequent Access also has retrieval charges and a 30-day minimum, but stores data in one Availability Zone. It is appropriate for recreatable data or secondary copies when loss of that zone is an acceptable risk.
S3 Intelligent-Tiering automatically moves eligible objects among access tiers as usage changes and charges a monitoring and automation fee for eligible objects. Its Frequent Access, Infrequent Access, and Archive Instant Access tiers provide millisecond access without retrieval charges. Its optional Archive Access and Deep Archive Access tiers require restoration before access. Standard and bulk retrievals from these optional archive tiers are free, but expedited retrievals from Archive Access incur charges. Objects smaller than 128 KB are not monitored or automatically tiered and remain in the Frequent Access tier.
The S3 Glacier classes address different archive access requirements. S3 Glacier Instant Retrieval provides millisecond access for rarely read data, charges for retrieval, and has a 90-day minimum storage duration. S3 Glacier Flexible Retrieval requires restoration, with retrieval options ranging from minutes to hours, and also has a 90-day minimum. S3 Glacier Deep Archive has a 180-day minimum and restoration measured in hours. Retrieval pricing depends on the class and retrieval option. Minimum storage duration is a billing rule, not a prohibition on deletion: early deletion or transition can trigger charges for the remaining duration. S3 Express One Zone instead targets latency-sensitive workloads with consistent single-digit millisecond access in one Availability Zone; it is not an archival tier.
For example, an application might keep database files on SSD-backed block volumes, share working files through a managed file system, and retain exported records in object storage. Lifecycle rules can transition older records to cheaper classes, but expected retrievals, transition requests, object sizes, and retention periods must justify the change. Archiving records that users retrieve daily can cost more and provide a worse experience than leaving them in an immediately accessible tier.
Durability, availability, and backup are different properties. Durability concerns avoiding data loss; availability concerns being able to access data when required. Redundant storage does not automatically protect against accidental deletion or application corruption. Apply least-privilege permissions, encryption, versioning or immutable retention where appropriate, and tested recovery procedures. Select storage using the application's recovery objectives and access requirements, then compare the full expected bill rather than choosing the lowest advertised capacity price.