<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: aziz.amghar</title>
    <description>The latest articles on DEV Community by aziz.amghar (@aziz_amghar).</description>
    <link>https://dev.to/aziz_amghar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F590136%2Fa3f84a01-0eb7-4382-802c-d527f11a31e8.png</url>
      <title>DEV Community: aziz.amghar</title>
      <link>https://dev.to/aziz_amghar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aziz_amghar"/>
    <language>en</language>
    <item>
      <title>All you need to know about EC2 instance</title>
      <dc:creator>aziz.amghar</dc:creator>
      <pubDate>Wed, 23 Jun 2021 12:50:27 +0000</pubDate>
      <link>https://dev.to/aziz_amghar/all-you-need-to-know-about-ec2-instance-55na</link>
      <guid>https://dev.to/aziz_amghar/all-you-need-to-know-about-ec2-instance-55na</guid>
      <description>&lt;p&gt;EC2 instance is an amazon virtual machine, there are many EC2 instance types, find below the main ones:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- R:&lt;/strong&gt; apps that need a lot of RAM -in memory caches&lt;br&gt;
&lt;strong&gt;- C:&lt;/strong&gt; apps that need good CPU – compute / databases&lt;br&gt;
&lt;strong&gt;- M:&lt;/strong&gt; apps that are balanced (think medium) – general / web app&lt;br&gt;
&lt;strong&gt;- I:&lt;/strong&gt; apps that need good local I/O (instance storage) – databases.&lt;br&gt;
&lt;strong&gt;- G:&lt;/strong&gt; apps that need a GPU – video rendering / machine learning.&lt;br&gt;
&lt;strong&gt;- T2/T3:&lt;/strong&gt; burstable instances (up to a capacity)&lt;br&gt;
&lt;strong&gt;- T2/T3:&lt;/strong&gt; unlimited burst&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing models:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On Demand: pay per hour or second with no commitment, it is low cost, flexible and used for short term, dev/testing and you have a  predictible price.&lt;/li&gt;
&lt;li&gt;Reserved: you get a significant discount (1y-3y), it is used for apps that have steady state and that require capacity:

&lt;ul&gt;
&lt;li&gt;Convertible reserved instances: long workloads with flexible instances. &lt;/li&gt;
&lt;li&gt;Scheduled reserved instances, example: every Thu between 3 and 6 pm.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Spot: you bid whatever price you want for instance, it is used for apps that have flexible start &amp;amp; end times.&lt;/li&gt;

&lt;li&gt;Dedicated instances: no other customers will share your hardware, billing is based on instance.&lt;/li&gt;

&lt;li&gt;Dedicated hosts: you book an entire physical server, for regulatory (no multi-tenant support), great for licensing,&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Important: for prod environnement&lt;/strong&gt;&lt;br&gt;
Termination protection is turned off by default, you must turn it on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EBS: 5 different types of EBS storage:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;General purpose SSD&lt;/li&gt;
&lt;li&gt;Provisionned iops SSD&lt;/li&gt;
&lt;li&gt;Throughput optimized HDD&lt;/li&gt;
&lt;li&gt;Cold HDD (lowest )&lt;/li&gt;
&lt;li&gt;EBS magnetic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft95tpsoiq6wxrccfc707.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft95tpsoiq6wxrccfc707.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AMI Types (EBS vs instance store):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For EBS volumes: the root device for an instance launched from the AMI is an EBS volume created from an EBS snapshot.&lt;/li&gt;
&lt;li&gt;For Instance store volumes: the root device for instance launched from the AMI is an instance store volume created from a template stored in S3.&lt;/li&gt;
&lt;li&gt;Instance store volume is an Ephemeral storage: if stopped, you will lose all your data.&lt;/li&gt;
&lt;li&gt;Instance store is physically attached to the machine (EBS is a network drive).&lt;/li&gt;
&lt;li&gt;Instance Store Pros:

&lt;ul&gt;
&lt;li&gt;Better I/O perofrmance&lt;/li&gt;
&lt;li&gt;Good for buffer / cache / scratch data / temporary content.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Instance Store Cons:

&lt;ul&gt;
&lt;li&gt;On stop or termination, the instance store is lost.&lt;/li&gt;
&lt;li&gt;You cant resize the instance store&lt;/li&gt;
&lt;li&gt;Backups must be operated by the user.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;EBS RAID Options (do it on OS not AWS):

&lt;ul&gt;
&lt;li&gt;RAID0: increase performance (lots of iops), but more risk (if 1 disk fail, data lost).&lt;/li&gt;
&lt;li&gt;RAID1: increase fault tolerance (mirroring).&lt;/li&gt;
&lt;li&gt;RAID5 (not recommanded for EBS)&lt;/li&gt;
&lt;li&gt;RAID6 (not recommanded for EBS)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Elastic Network Interface vs Enhanced Networking vs Elastic Fabric Adapter:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ENI: elastic network interface, virtual network card

&lt;ul&gt;
&lt;li&gt;For basic networking, create a management network, use a network appliance in your VPC..&lt;/li&gt;
&lt;li&gt;Low cost&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;EN: Enhanced networking: uses single root I/O virtualization, there is 2 types:

&lt;ul&gt;
&lt;li&gt;ENA elastic network adapter: 100Gbps&lt;/li&gt;
&lt;li&gt;VF virtual function: 10Gbps&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Elastic Fabric Adapter: for machine learning or high performing computing (HPC) or OS bypass.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;EBS encryption:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data in transit between an instance and an encrypted volume is also encrypted&lt;/li&gt;
&lt;li&gt;Encryption is supported on all Amazon EBS volume types&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;EFS: Elastic File System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It grows automatically, great for file server or sharing data between EC2 instances&lt;/li&gt;
&lt;li&gt;You pay for what you use&lt;/li&gt;
&lt;li&gt;EFS support NFSv4 protocol&lt;/li&gt;
&lt;li&gt;You only pay for the storage you use&lt;/li&gt;
&lt;li&gt;Can scale up to the petabytes&lt;/li&gt;
&lt;li&gt;Can support 1000s of concurrent NFS connections&lt;/li&gt;
&lt;li&gt;Data is stored across multiple AZs within a region&lt;/li&gt;
&lt;li&gt;Read After write consistency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Amazon FSx for Windows and for Lustre:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FSx for windows: built on windows server, use SMB and supports AD users, DFS (Distributed File System).. . Centralized storage for windows, Sharepoint, IIS or other native app for microsoft:

&lt;ul&gt;
&lt;li&gt;Can be accessed from your on-premise infrastructure&lt;/li&gt;
&lt;li&gt;Can be configured to be MultiAZ (HA)&lt;/li&gt;
&lt;li&gt;Data is backed up daily to S3&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;EFS: is linux only, use it if you need distribution..&lt;/li&gt;

&lt;li&gt;FSx for Lustre: for linux, if you process large data sets, millions of IOPS, machine learning, High Performance Computing (HPC), video processing, electronic design automation, financial modeling.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;EC2 Placement Groups:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clustered placement group: within a single Availability Zone

&lt;ul&gt;
&lt;li&gt;Pros: Low Network Latency / High network throughput&lt;/li&gt;
&lt;li&gt;Cons: if the rack fails, all instances fails at the same time.&lt;/li&gt;
&lt;li&gt;Use case: Big data job that needs to complete fast.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Spread placement group: individual instances placed in different hardware (rack..), for single instance

&lt;ul&gt;
&lt;li&gt;Pros:

&lt;ul&gt;
&lt;li&gt;Can span across AZs&lt;/li&gt;
&lt;li&gt;Reduce risk of simultaneous failure&lt;/li&gt;
&lt;li&gt;EC2 instances are on different physical hardware&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Cons:

&lt;ul&gt;
&lt;li&gt;Limited to 7 instances per AZ per placement group&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Use case:

&lt;ul&gt;
&lt;li&gt;App that needs to maximize high availability.&lt;/li&gt;
&lt;li&gt;Critical apps where each instance must be isolated from failure from each other&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Partitioned Placement Group: think multiple instances in partition group.

&lt;ul&gt;
&lt;li&gt;Up to 7 partitions per AZ&lt;/li&gt;
&lt;li&gt;Up to 100s of EC2 instances&lt;/li&gt;
&lt;li&gt;The instances in a partition do not share racks with the instances in the other partitions.&lt;/li&gt;
&lt;li&gt;A partition failure can affect many EC2 but won’t affect other partitions.&lt;/li&gt;
&lt;li&gt;EC2 instances get access to the partition: information as metadata&lt;/li&gt;
&lt;li&gt;Use case: HDFS, HBase, Cassandra, Kafka&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;EC2 Hibernate.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The in-memory (RAM) state preserved.&lt;/li&gt;
&lt;li&gt;The instance boot is much faster (os is not stopped/restarted)&lt;/li&gt;
&lt;li&gt;Under the hood:the RAM state is written to a file in the root EBS volume&lt;/li&gt;
&lt;li&gt;The root EBS volume must be encrypted&lt;/li&gt;
&lt;li&gt;Supported instance families: C, M and R.&lt;/li&gt;
&lt;li&gt;Instance RAM size must be less than 150GB&lt;/li&gt;
&lt;li&gt;Available for OnDemand and Reserved Instances.&lt;/li&gt;
&lt;li&gt;An instance cannot be hibernated more than 60days&lt;/li&gt;
&lt;li&gt;Use cases:

&lt;ul&gt;
&lt;li&gt;long running processing&lt;/li&gt;
&lt;li&gt;saving the RAM state&lt;/li&gt;
&lt;li&gt;services that take time to initialize.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;EC2 Best practices&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Security&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manage access to AWS resources using IAM roles.&lt;/li&gt;
&lt;li&gt;Implement the least permissive rules for your security group (Firewall).&lt;/li&gt;
&lt;li&gt;Patch, update and secure regularly the operating system and applications on your EC2 instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use separate Amazon EBS volumes for the operating system and  data. &lt;/li&gt;
&lt;li&gt;Ensure that the data volume persists after instance termination. &lt;/li&gt;
&lt;li&gt;Encrypt EBS volumes and snapshots.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Resource management&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use instance metadata and custom resource tags to track and identify your AWS resources.&lt;/li&gt;
&lt;li&gt;View your current limits for Amazon EC2 and plan in advance  the request of any limit increases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Backup and recovery&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backup periodically your EBS volumes using snapshots.&lt;/li&gt;
&lt;li&gt;Create an Amazon Machine Image (AMI) from your instance to save the configuration as a template if needed for future installation.&lt;/li&gt;
&lt;li&gt;Deploy critical components of applications across multiple AZs.&lt;/li&gt;
&lt;li&gt;Monitor and respond to events.&lt;/li&gt;
&lt;li&gt;Test regularly the process of recovering your instances and Amazon EBS volumes if they fail.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cloud</category>
      <category>cloudskills</category>
      <category>aws</category>
      <category>beginners</category>
    </item>
    <item>
      <title>15 Things that you must know about AWS S3 (Simple Storage Service)</title>
      <dc:creator>aziz.amghar</dc:creator>
      <pubDate>Mon, 21 Jun 2021 21:28:32 +0000</pubDate>
      <link>https://dev.to/aziz_amghar/notes-certified-solutions-architect-associate-part-1-2-2a28</link>
      <guid>https://dev.to/aziz_amghar/notes-certified-solutions-architect-associate-part-1-2-2a28</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. S3 is a secure and scalable storage service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can store securely your files (called objects) to S3, the object size can be up to &lt;strong&gt;5 TB.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Objects Attributes:&lt;/strong&gt;&lt;br&gt;
S3 objects can have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Key (name of the object)&lt;/li&gt;
&lt;li&gt;Value (data)&lt;/li&gt;
&lt;li&gt;Version ID.&lt;/li&gt;
&lt;li&gt;Metadata (data about data you are storing)&lt;/li&gt;
&lt;li&gt;Subresources: Access control list, torrents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. S3 Naming convention:&lt;/strong&gt;&lt;br&gt;
There are some rules that you must respect in order to name your S3 objects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No uppercase nor underscore&lt;/li&gt;
&lt;li&gt;3-63 characters long&lt;/li&gt;
&lt;li&gt;Not an IP and it must start lowercase letter or number&lt;/li&gt;
&lt;li&gt;S3 is a universal namespace, so it’s unique.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. S3 has the following features:&lt;/strong&gt;&lt;br&gt;
Tiered storage available&lt;br&gt;
Lifecycle management&lt;br&gt;
Versionning&lt;br&gt;
Encryption&lt;br&gt;
MFA Delete (multi factor auth): can be only configured in CLI mode.&lt;br&gt;
Secure data using ACL (Access Control List) and bucket policies.&lt;br&gt;
Signed URLs: URLs that are valid only for a limited time (ex: premium video service for logged in users)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. S3 storage classes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S3 standard: 99.99% availability, 99.99999999% durability, it is the default storage class.&lt;/li&gt;
&lt;li&gt;S3 IA (infrequently Accessed)&lt;/li&gt;
&lt;li&gt;S3 one zone - IA&lt;/li&gt;
&lt;li&gt;S3 Intelligent Tiering&lt;/li&gt;
&lt;li&gt;S3 Glacier (for data archiving, 99.999999999% durability of archives   )&lt;/li&gt;
&lt;li&gt;S3 Glacier Deep Archive (retrieve data in 12hours)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;S3 Pricing Tiers:&lt;/strong&gt;&lt;br&gt;
You pay per:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Storage&lt;/li&gt;
&lt;li&gt;Requests and data retrieval&lt;/li&gt;
&lt;li&gt;Data transfer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most expensive: S3 standard, then followed by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S3 IA&lt;/li&gt;
&lt;li&gt;then S3 Intelligent Tiering&lt;/li&gt;
&lt;li&gt;then S3 one zone IA&lt;/li&gt;
&lt;li&gt;then S3 glacier&lt;/li&gt;
&lt;li&gt;and finally S3 glacier deep archive.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. S3 Encryption:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Two types of encryption:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Encryption in Transit: SSL/TLS&lt;/li&gt;
&lt;li&gt;Encryption at Rest (server side), there are three types of server side encryption:

&lt;ul&gt;
&lt;li&gt;S3 managed keys -SSE -S3,&lt;/li&gt;
&lt;li&gt;AWS Key Management Service,&lt;/li&gt;
&lt;li&gt;Server side encryption with customer provided keys SSE-C&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Then there is client side encryption&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;8. S3 Security:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User based: IAM policies.&lt;/li&gt;
&lt;li&gt;Resource based, that can be managed in three ways:&lt;/li&gt;
&lt;li&gt;Bucket policies, used to:

&lt;ul&gt;
&lt;li&gt;Grant public access to the bucket&lt;/li&gt;
&lt;li&gt;Force a bucket to be encrypted at upload&lt;/li&gt;
&lt;li&gt;Grant access to another account (Cross Account)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Object ACL,&lt;/li&gt;
&lt;li&gt;Bucket ACL.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;9. S3 CORS:&lt;/strong&gt;                                                                                                 &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you request data from another S3 bucket, you need to enable CORS.&lt;/li&gt;
&lt;li&gt;Cross Origin Resource Sharing allows you to limit the number of websites that can request your files in S3, thus limit your costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;10. Consistency Model&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read after write consistency for PUTS of new objects:

&lt;ul&gt;
&lt;li&gt;As soon as an object is written, we can retrieve it, ex: PUT 200 -&amp;gt; GET 200)&lt;/li&gt;
&lt;li&gt;This is true, except if we did a GET before to see if the object existed (ex: GET 404 -&amp;gt; PUT 200 -&amp;gt; GET 404) – eventually consistent&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Eventual Consistency for DELETES and PUTS of existing objects

&lt;ul&gt;
&lt;li&gt;If we read an object after updating, we might get the older version (ex: PUT 200 -&amp;gt; PUT 200 -&amp;gt; GET 200 (might be older version))&lt;/li&gt;
&lt;li&gt;If we delete an object, we might still be able to retrieve it for a short time (ex: DELETE 200 -&amp;gt; GET 200)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;11. S3 Access Logs:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For audit purpose&lt;/li&gt;
&lt;li&gt;Any request made to S3, from any account, authorized or denied will be logged into another S3 bucket&lt;/li&gt;
&lt;li&gt;That data ca be analyzed using data analysis tools like Athena.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;12. S3 pre-signed URLs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can generate pre-signed URLs using SDK or CLI&lt;/li&gt;
&lt;li&gt;For download (easy, can use the CLI)&lt;/li&gt;
&lt;li&gt;For uploads (harder, must use the SDK)&lt;/li&gt;
&lt;li&gt;Valid for a default of 3600s, can change timeout with –expires in {TIME_BY_SECONDS] argument&lt;/li&gt;
&lt;li&gt;Users given a pre-signed URL inherit the permissions of the person who generated the URL for GET / PUT.
Examples:&lt;/li&gt;
&lt;li&gt;Allow only logged in users to download a premium video on your S3 bucket&lt;/li&gt;
&lt;li&gt;Allow an ever changing list of users to download files by generating URLs dynamically&lt;/li&gt;
&lt;li&gt;Allow temporarily a user to upload a file to precise location in our bucket&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;13. S3 Performance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Baseline Performance:

&lt;ul&gt;
&lt;li&gt;S3 scale automatically to high request rates, latency 100-200ms&lt;/li&gt;
&lt;li&gt;Your app ca achieve at least 3500 PUT/COPY/POST/DELETE and 5500 GET/HEAD requests per second per prefix in a bucket.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;KMS Limitation:

&lt;ul&gt;
&lt;li&gt;If you use SSE-KMS, you may be imapcted by the KMS limits&lt;/li&gt;
&lt;li&gt;When you upload, it call the GenerateDataKey KMS API&lt;/li&gt;
&lt;li&gt;When you download, it calls the Decrypt KMS API&lt;/li&gt;
&lt;li&gt;Count towards the KMS quota per second (5500, 10000, 3000 req/s based on region)
&lt;/li&gt;
&lt;li&gt;You cant request a quota increase for KMS&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Multi Part upload:

&lt;ul&gt;
&lt;li&gt;Recommended for files &amp;gt; 100MB, must use for files &amp;gt; 5GB&lt;/li&gt;
&lt;li&gt;Can help parallelize uploads (divied in parts and speed up transfers)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;S3 Transfer Acceleration (upload only)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Increase transfer speed by transferring file to an AWS edge location which will forward the data to the S3 bucket in the target region using AWS backbone.&lt;/li&gt;
&lt;li&gt;Compatible with multipart upload&lt;/li&gt;
&lt;li&gt;Check this url for S3 Acceleration speed:
&lt;a href="https://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/"&gt;https://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;S3 Byte range Fetches&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parallelize GETs by requesting specific byte ranges&lt;/li&gt;
&lt;li&gt;Better resilience in case of failures&lt;/li&gt;
&lt;li&gt;Can be used to speed up downloads&lt;/li&gt;
&lt;li&gt;Can be used to retrieve only partial data (for example the head of a file)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;14. Select &amp;amp; Glacier Select:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retreive less data using SQL by performing server side filtering&lt;/li&gt;
&lt;li&gt;Can filter by rows &amp;amp; columns (simple SQL statements, server side filtering)&lt;/li&gt;
&lt;li&gt;Less network transfer, less CPU cost client side.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;15. Object &amp;amp; Glacier Vault Lock:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CD2koq_p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4qgkij2o9sep1ys60d0t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CD2koq_p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4qgkij2o9sep1ys60d0t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you know any other functionnality of S3 that I didn't mention, please feel free to post it in the comment.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>beginners</category>
      <category>cloudskills</category>
    </item>
  </channel>
</rss>
