Monday, December 14, 2020

AWS S3 performance improvement

AWS S3 is well equipped with tools to increase their performance there by helping you for faster s3 data access. The three basic concepts are
1. The S3 prefix: each prefix is capable of supporting 3500 put, copy, post delete requests and 5500 get/head requests per second. So the more number of prefix the more the number if requests per second. 
2.multipart upload mechanism: This is another great tool which helps the user to reduce the upload time of files ranging from 100 mb to 5gb by breaking down the file into data chunks and then parallely pushes to S3 bucket location. This is really useful with the sceanarios where you have to deal with huge files sizes.
3. S3 byte-range ferches: it is similar to Multipart mechanism but here it helps during downloads of huge sizes. The user can specify the byte size and the file is broken down according and gets downloaded. 

what is S3 prefix and its significance

It is path url that is present in between your bucket name and the final file name.
For example,
Bucketname/path1/folder1/file.png
Here the /path1/folder is called the prefix. 
Prefixes plays a major role in increasing the performance. In general each prefix can support around 3500 request per second for put, post, copyand delete operations and around 5500 requests per second for get headoperations. So if you have data in two prefixes rather that one then you can get twice the requests increasing the performance. So you can achieve 7000 put, post, copy, delete requests per second and 11000 get, head requests per second.
Also, keep in mind that if you are using any encryption then it has its own limit for encryption during upload and decryption hits for download which will impact your overall requests per second. This is region specific and would be 5500,10000 or 35000 depending on the region of s3 bucket 

Sunday, December 13, 2020

what is Aws S3 object version locking?

Aws S3 supports locking mechanism on an object version for fixed time period. It helps in implementing WORM mechanism - Write Once Read Many. This type of locking helps the architect when there is a need ofnot deleting and not overwriting an object.
We have two modes in locking mechanism one is 
1.Governance Mode: this mode helps to restrict to only set of users who can delete/overwrite and object. 
2.Complaince mode: This mode is tightly configured, when activated even the root user and other users won't be able to delete or overwrite the object.

Retention Period : It is basically time period for object version. This retention data is saved as object version meta data.

If user does not wish to apply retention period or does not know the exact time period for the object version to get locked, he/she has the provision to use Legal hold option which acts similar to locking mechanism but user can remove the locking at any time. 
NOTE: User should have S3 put legal policy option to enable it. 

Saturday, December 12, 2020

What is Life cycle Management in AWS S3 service and how to enable it

 Life Cycle Management is a mechanism that helps the user in transitioning the data between different storage classes automatically without the need for manual intervention. This is a smart way of reducing the storage cost while designing architecture with the S3 service requirement.

One can create a life cycle rule by navigating to Management option in bucket and clicking on create life cycle.



Each life Cycle rule support 5 rule actions using which the objects are transitioned from one storage class to another.

  1. Current Version Transitioning Action
  2. Previous Version Transitioning Action
  3. Permanent deletion of previous versions
  4. Expiring the current version of object based on timeline
  5. Deleting the expired delete markers or incomplete uploads.

Friday, December 11, 2020

Points to be remembered on Versioning in AWS S3 bucket

 Below are the few points to be remembered about AWS S3 versioning

  • Once versioning is enabled on to an AWS S3 bucket, the user will only be able to suspend the services. Once suspended versioning will be disabled for new objects in the bucket, however, the old objects would still have the versioned files.
  • When using public access option on S3 versioning, every new version of an object needs to be manually made public.

  • The public domain of a file would directly points to the latest version of file, if the user wants to point to another version, he/she has to mention the version id in the public URL. for Example, 
https://awscertificationparctise.s3.amazonaws.com/dummy.txt?versionId=q6IPedWI.TefbO4Xr8jcKk_DFH0mP9n1

How to enable versioning in AWS S3

 AWS Simple Storage Service (S3) support simple versioning mechanism which helps the user/company to store multiple version of the same object. This helps us in the use case, wherein which a file should not be overwritten if the user/company tries to upload the same file again.

1.To enable the versioning mechanism in an existing bucket, the user has to simply enable the option under Properties tab of the bucket. as shown in the below image.


2. AWS also allows the user to specify the versioning capability at the time of S3 bucket creation.