Amazon S3 stores objects inside buckets and addresses them by keys. It provides high durability, versioning, encryption, access policies, and event notifications. Storage classes trade retrieval speed and cost: Standard fits active data, Intelligent-Tiering adapts to changing access, and Glacier classes fit archival data.
Lifecycle rules can transition objects to colder classes or expire old versions automatically. Treat bucket policies, public access blocks, and encryption defaults as part of the design rather than afterthoughts.