Hi Reader 👋🏽
we are at the end of our database & storage section. Let's finish with one of the most well-known service in AWS ... 🥁 S3.
Even developers who don’t work with AWS know and use S3.
We’ll cover some of the main concepts
Let’s go 🚀
Here you’ll find the infographic for S3 to get a head start.
One of the main concepts of S3 is buckets & objects.
One bucket contains multiple objects. S3 is a global service (you don't need to choose a region in the management console). However, your bucket still lives in a region. Weird, I know.
A fantastic feature of S3 is the ability to set storage classes to your bucket. Amazon offers 8 different storage classes depending on your needs.
The goal of changing a storage class is to save money. It is always a trade-off for other factors such as:
Here is an overview of all storage classes:
Building event-driven systems are a huge part of AWS. There are whole applications that are built on the basis of S3.
One good example is the creation of thumbnails. Imagine having a YouTube channel. A YouTube channel needs thumbnail pictures.
You can configure S3 to receive images and let it call lambda to create thumbnails out of them.
S3 can trigger SQS, SNS, or Lambda. We would use Lambda for this use case.
S3 triggers the Lambda function with an event for each image upload. You can also execute notifications on change or deletion events. Lambda can go ahead, take the file, and create the correct sizes. This is a very common pattern.
Often, you don’t want to override your data but you want to generate a new version of your S3 object. S3 allows you to version your objects. With that, you can keep older versions and you can roll back to a previous state.
This reduces your risk of accidentally overriding objects.
The main benefit here is that it is fully managed. That means you don’t need to do anything other than activate the actual versioning.
Once you've enabled versioning you can show your versions in the S3 console by switching the button Show versions.
I uploaded a file with the same name bucket-objects.png twice. You see that two different versions of that file exist now.
If you want to restore one you can either remove the old one. Or you can download and upload the file again.
Versioning doesn’t cost anything. You only pay for the additional storage you need.
This brings us to costs. S3 is a serverless service. That means its pricing is 100% usage-based. You don’t pay for any computing.
The pricing in S3 is mainly based on storage and on the number of API calls.
The main pillars of pricing are:
That's it for today! We hope you enjoyed this issue about S3. Check out some of the related blog posts about S3.
Thank you and see you in 2 weeks 👋🏽
Sandro & Tobi ✌🏽
We teach AWS for the real world - not for certifications. Join more than 10,500 developers learning how to build real-world applications on AWS.
AWS FOR THE REAL WORLD ⏱️ Reading time: 6 minutes 🎯 Main Learning: 5 common AWS account mistakes and how to fix each one in under 10 minutes 🎬 Watch on YouTube Hey Reader 👋🏽 New week, new AWS deep dive 🐠 In this one, we'll show you the 5 most common mistakes we've seen in almost every AWS account we've looked at. Yes, there are more out there. But these are the ones you'll see everywhere. And they're pretty simple to fix! The good news? Most of these fixes take under 10 minutes. Rather watch...
AWS FOR THE REAL WORLD ⏱️ Reading time: 9 minutes 🎯 Main Learning: Build a self-service portal that grants temporary AWS + Azure access and revokes it automatically — using Kestra and one YAML file. 📝 Blog Post 💻 GitHub Repository 🎬 Watch on YouTube Hey Reader 👋🏽 Happy new week! Tobi and I met up last week and spent some time planning the videos ahead. We’re going more and more into YouTube — and a few things I’m hyped about: The biggest AWS mistakes we’ve made (so you don’t have to) How...
AWS FOR THE REAL WORLD ⏱️ Reading time: 4 minutes 🎯 Main Learning: Which AWS services are worth your time and which ones to skip 🎬 Watch on YouTube Hey Reader 👋🏽 a new week, new AWS video coming out. I (Sandro) used all of my knowledge from the past six plus years building AWS solutions, ranking the services I actually use and the services I hate. For some I've changed my mind A LOT over the years (e.g. DynamoDB). Let me know what you think and check it out.Here you go AWS News But first of...