Object storage (S3)
Раздел про object storage и S3-API: устройство (bucket/object/key, storage classes, versioning, encryption, lifecycle), интеграция со Spring через AWS SDK v2, S3-совместимые системы (MinIO, Yandex Object Storage, Cloudflare R2), эксплуатация (backup, replication, costs, monitoring).
Why it matters for UCP. S3-compatible storage is the third type of storage in the UCP stack (after relational and document databases): for user files, backups, exports, and static assets. A senior engineer should understand the differences between the models and know how to combine them correctly. Part of the learning program.
Three articles: the S3 model, integration with Spring via AWS SDK v2, and operations (backup, replication, costs).
Articles in this section
- Fundamentals: bucket, object, key, storage classes, presigned URLs, multipart — the S3 model, consistency guarantees, storage classes, versioning, encryption, presigned URLs, multipart upload.
- Spring + AWS SDK v2: integration, upload patterns, MinIO —
S3Client/S3AsyncClient, MinIO in dev/testcontainers, patterns for uploading large files, Outbox for file operations, common pitfalls. - Operations: backup, replication, lifecycle, costs, monitoring — backup strategies (to S3 and from S3), cross-region replication, lifecycle policies for deleting/moving to cold classes, cost estimation, monitoring.
Related
- PostgreSQL — the primary OLTP store. S3 complements it (large files, backups).
- MongoDB — a document database. S3 for blob data alongside metadata in Mongo.
- Elasticsearch operations — snapshots to S3 as a backup strategy.
- Distributed patterns — Outbox for atomic DB + S3 operations.