Understanding S3 LifeCycles and related concepts
What is an S3 lifecycle rule?
S3 lifecycle rules automate the management of objects stored in your buckets throughout their lifecycle.
These rules help you to optimize storage space and maintain good data hygiene by automatically deleting objects that are no longer required.
LEVIIA Storag3, as an S3-compatible service, supports lifecycle configurations.
Lifecycle configuration
Lifecycle setup
🔄 Understanding S3 versioning
Versioning is a feature that lets you keep several variants of the same object in a bucket. Instead of replacing an object when it is modified, S3 keeps the old version and creates a new version.
Protection against accidental deletion : Deleted objects are simply marked with a “delete marker”, but remain recoverable.
History preservation: Access to all previous versions of a file.
Easy restoration: Possibility of reverting to any previous version
Current version: The most recent version of an object, the one returned by default.
Non-current versions: All previous versions of an object
Delete markers: Special markers indicating that an object has been "deleted" (without actually deleting it).
Version ID: Unique identifier assigned to each version of an object.
🗑️ Concept 1: Delete Markers
In a bucket with versioning enabled, when you "delete" an object, S3 actually creates a delete marker instead of permanently deleting the object. This marker becomes the current version of the object and hides previous versions.
A deletion marker is considered expired when it is the only remaining version of the object. This usually occurs after all non-current versions have been deleted by other lifecycle rules.
Complete cleanup: Finalizes the deletion process.
Bucket visibility: Prevents "ghost objects" in your bucket.
Optimal organization: Maintains a clear view of the objects actually present.
📚 Concept 2: Non-current versions
When versioning is enabled on a bucket, every modification to an object creates a new version. Previous versions become non-current versions which are kept indefinitely by default.
Compliance: Definition of a clear retention policy
Performance: Too many versions can affect the performance of bucket operations.
Short-term (7-30 days) : For development environments or frequently modified files
Medium-term (30-90 days) : For most professional use cases
Long term (90-365 days) : For important data requiring a longer history
🧩 Concept 3: Incomplete multipart uploads
Multipart upload is a feature for uploading large files in several parallel parts. If the upload process is not completed correctly (by a CompleteMultipartUpload command), the uploaded parts remain in the bucket indefinitely.
Size: These parts take up space even if they don't form a usable object.
Disorder: These parts are not visible in the standard S3 console, but take up space.
Confusion: Difficult to identify and clean up manually.
S3 lifecycle rules automate the management of objects stored in your buckets throughout their lifecycle.
These rules help you to optimize storage space and maintain good data hygiene by automatically deleting objects that are no longer required.
LEVIIA Storag3, as an S3-compatible service, supports lifecycle configurations.
Lifecycle configuration
Lifecycle setup
🔄 Understanding S3 versioning
Versioning in LEVIIA Storag3
Versioning is a feature that lets you keep several variants of the same object in a bucket. Instead of replacing an object when it is modified, S3 keeps the old version and creates a new version.
Benefits of versioning
Protection against accidental deletion : Deleted objects are simply marked with a “delete marker”, but remain recoverable.
History preservation: Access to all previous versions of a file.
Easy restoration: Possibility of reverting to any previous version
Key concepts
Current version: The most recent version of an object, the one returned by default.
Non-current versions: All previous versions of an object
Delete markers: Special markers indicating that an object has been "deleted" (without actually deleting it).
Version ID: Unique identifier assigned to each version of an object.
🗑️ Concept 1: Delete Markers
Expired delete markers
In a bucket with versioning enabled, when you "delete" an object, S3 actually creates a delete marker instead of permanently deleting the object. This marker becomes the current version of the object and hides previous versions.
What is an expired delete marker?
A deletion marker is considered expired when it is the only remaining version of the object. This usually occurs after all non-current versions have been deleted by other lifecycle rules.
Why delete them?
Complete cleanup: Finalizes the deletion process.
Bucket visibility: Prevents "ghost objects" in your bucket.
Optimal organization: Maintains a clear view of the objects actually present.
📚 Concept 2: Non-current versions
Non-current versions
When versioning is enabled on a bucket, every modification to an object creates a new version. Previous versions become non-current versions which are kept indefinitely by default.
Why manage non-current versions?
Compliance: Definition of a clear retention policy
Performance: Too many versions can affect the performance of bucket operations.
Current retention strategies
Short-term (7-30 days) : For development environments or frequently modified files
Medium-term (30-90 days) : For most professional use cases
Long term (90-365 days) : For important data requiring a longer history
🧩 Concept 3: Incomplete multipart uploads
Incomplete multipart uploads
Multipart upload is a feature for uploading large files in several parallel parts. If the upload process is not completed correctly (by a CompleteMultipartUpload command), the uploaded parts remain in the bucket indefinitely.
Problems related to incomplete multipart uploads
Size: These parts take up space even if they don't form a usable object.
Disorder: These parts are not visible in the standard S3 console, but take up space.
Confusion: Difficult to identify and clean up manually.
Updated on: 28/05/2025
Thank you!