
- File-based storage (e.g., NFS/EFS), and
- Block-based storage (e.g., EBS).

- Log storage and archival
- Media hosting (images, audio, video)
- CI/CD artifacts and build outputs
- Backups and snapshots
- Data lakes and analytics
- Hosting static website assets (HTML, CSS, JS)

- Traditional setup: web servers store both site HTML and media. For large sites, storing terabytes on every web server is inefficient.
- With S3: keep small static assets (HTML, CSS, JS) on your web servers and place large media (videos, images) in S3. Serve HTML that contains URLs pointing to S3-hosted objects so clients fetch media directly from S3 or via CloudFront, offloading storage and bandwidth from your web servers.

- A bucket is a container for objects — think of it as a top-level namespace that groups related files (for example,
logs/,media/,artifacts/). - You can create multiple buckets per AWS account and organize them by application, environment, or purpose.

- An object is a file uploaded to S3. Each object includes:
- a key (the object name, e.g.,
mysong.mp3), - a value (the object data/content),
- optional metadata and a version ID (if versioning is enabled).
- a key (the object name, e.g.,

- S3 stores objects in a flat keyspace — there are no true nested directories. The AWS Console shows a folder-like UI by grouping objects with key prefixes (for example,
music/song1.mp3andmusic/song2.mp3appear under a virtualmusic/folder). - These “folders” are purely a UI convenience; they are part of the object key name.
S3 presents virtual folders in the console by grouping objects that share the same prefix (for example,
photos/2026/). These are not real directories — they are just part of the object key.
- When you upload an object, S3 replicates data across multiple physical servers and multiple Availability Zones (AZs) to provide very high durability and availability. Cross-AZ replication protects objects from server or AZ failures.

- Bucket names are globally unique across all AWS accounts because the bucket name forms part of the globally addressable endpoint for objects. For example:
https://<bucket-name>.s3.amazonaws.com/<key>
- Some endpoint patterns include region names (e.g.,
s3.us-east-1.amazonaws.com). Certain bucket name patterns (for example, names containing dots) can affect TLS/SSL validation for virtual-hosted–style URLs, so pick names carefully and follow AWS naming rules.
Bucket names are globally unique. Choose names carefully and follow AWS naming rules because the name becomes part of the URL for your objects.
Multipart upload is useful when uploading very large objects: it lets you split an object into parts, upload parts in parallel, and complete the upload once all parts are uploaded. This improves performance and reliability for large files.

- Amazon S3 is a highly scalable, durable, and available object storage service optimized for security and performance.
- Typical use cases: media hosting, logging, CI/CD artifacts, backups, and static website hosting.
- S3 uses a flat object namespace; the console provides virtual folders by grouping on key prefixes.
- Objects consist of a key (name), a value (data), and optional metadata/versioning.
- Buckets are containers for objects and must have globally unique names; bucket names appear in object URLs.
- S3 supports virtually unlimited objects, individual objects up to
5 TB, and multipart upload for large files.
