<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AWS on Abdelbaki Ben Elhaj Slimene</title><link>https://bakic.github.io/categories/aws/</link><description>Recent content in AWS on Abdelbaki Ben Elhaj Slimene</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 28 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bakic.github.io/categories/aws/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrating from SMTP to AWS SES with IAM Roles: A Security-First Approach to Email in Spring Boot</title><link>https://bakic.github.io/posts/smtp-to-aws-ses-iam-roles-spring-boot/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate><guid>https://bakic.github.io/posts/smtp-to-aws-ses-iam-roles-spring-boot/</guid><description>&lt;p&gt;Sending emails is a fundamental requirement for most applications. Whether it’s transactional notifications, alerts, or user communications, we need a reliable and secure way to dispatch messages.&lt;/p&gt;&#10;&lt;p&gt;In this article, I’ll walk through our migration from traditional SMTP authentication to AWS SES with IAM role-based authentication, explaining why this shift represents a significant security improvement.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="image-1.jpg" alt="Photo by CHUTTERSNAP on Unsplash"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Photo by &lt;a href="https://unsplash.com/@chuttersnap?utm_source=medium&amp;amp;utm_medium=referral"&gt;CHUTTERSNAP&lt;/a&gt; on &lt;a href="https://unsplash.com?utm_source=medium&amp;amp;utm_medium=referral"&gt;Unsplash&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;h2 id="the-traditional-approach-smtp-with-credentials"&gt;The Traditional Approach: SMTP with Credentials&lt;/h2&gt;&#10;&lt;p&gt;For years, the standard way to send emails from a Spring Boot application has been through SMTP with username and password authentication:&lt;/p&gt;</description></item><item><title>Presigned URLs in AWS S3: Secure File Upload and Download</title><link>https://bakic.github.io/posts/presigned-urls-aws-s3/</link><pubDate>Mon, 09 Oct 2023 00:00:00 +0000</pubDate><guid>https://bakic.github.io/posts/presigned-urls-aws-s3/</guid><description>&lt;p&gt;Amazon Simple Storage Service (S3) is an object storage service offered by Amazon Web Services (AWS). It allows users to store and retrieve data from anywhere on the web. While you can manage S3 objects directly through the AWS Management Console and the AWS SDKs with dedicated permissions, there are situations where you need to securely grant temporary access to your S3 objects without exposing your AWS credentials. This is where presigned URLs come into play.&lt;/p&gt;</description></item><item><title>How to Send SMS messages using AWS SNS and Java: A Step-by-Step Guide</title><link>https://bakic.github.io/posts/send-sms-with-aws-sns/</link><pubDate>Wed, 02 Aug 2023 00:00:00 +0000</pubDate><guid>https://bakic.github.io/posts/send-sms-with-aws-sns/</guid><description>&lt;p&gt;When it comes to mobile applications, SMS messaging is still one of the most reliable and widely used communication channels. Amazon Web Services (AWS) provides a service called Simple Notification Service (SNS) that allows you to send SMS messages to mobile devices. In this article, we will walk you through the step-by-step process of setting up AWS SNS SMS in your Java project. We will cover creating an AWS account, configuring SNS to send SMS messages, creating an IAM user, and sending SMS messages from your Java application. By the end of this guide, you will have a solid understanding of how to implement AWS SNS SMS in your Java project.&lt;/p&gt;</description></item><item><title>A Comprehensive Comparison of AWS S3 Storage Classes</title><link>https://bakic.github.io/posts/aws-s3-storage-classes-comparison/</link><pubDate>Mon, 08 May 2023 00:00:00 +0000</pubDate><guid>https://bakic.github.io/posts/aws-s3-storage-classes-comparison/</guid><description>&lt;p&gt;AWS S3 storage has been one of the most popular and widely used cloud storage services in recent years. With its flexibility, scalability, and cost-effectiveness, S3 provides businesses with a reliable and secure way to store, retrieve, and manage their data. However, not all data is the same, and not all storage requirements are identical. To meet the diverse needs of customers, AWS offers a range of S3 storage classes, each optimized for a particular use case. In this article, we will explore the different S3 storage classes, their features, and best practices for their use, to help you choose the right storage class for your organization’s needs.&lt;/p&gt;</description></item><item><title>Object Versioning in S3</title><link>https://bakic.github.io/posts/object-versioning-in-s3/</link><pubDate>Thu, 06 Apr 2023 00:00:00 +0000</pubDate><guid>https://bakic.github.io/posts/object-versioning-in-s3/</guid><description>&lt;p&gt;Object versioning is a powerful feature that allows you to store multiple versions of an object within a bucket. By default, versioning is disabled on a bucket, but you can easily enable it if desired. Once enabled, you cannot disable it, but you can suspend it if needed. A suspended bucket can be re-enabled at any time.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="image-1.png" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;Without versioning enabled, each object in a bucket is identified solely by its unique name, or object key. If you modify an object, the original version is replaced. However, with versioning enabled, any modifications to an object generate a new version while leaving the original intact. For example, let’s say you have a bucket with a picture called “logo.jpg”. If you modify or delete this object, those changes will impact the original object.&lt;/p&gt;</description></item><item><title>Buckets and Objects in S3</title><link>https://bakic.github.io/posts/buckets-and-objects-in-s3/</link><pubDate>Sat, 01 Apr 2023 00:00:00 +0000</pubDate><guid>https://bakic.github.io/posts/buckets-and-objects-in-s3/</guid><description>&lt;p&gt;S3 is a global storage platform that is accessible from anywhere with an Internet connection. It is a public service that runs from all AWS regions, making it a globally available resource&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="image-1.jpg" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;However, S3 is regionally based, meaning that your data is stored in a specific AWS region and never leaves that region unless you explicitly configure it to do so.&lt;/p&gt;&#10;&lt;p&gt;This regional resilience ensures that your data is replicated across availability zones in that region, making it tolerant to the failure of an AZ. Additionally, S3 has the ability to replicate data between regions, providing an extra layer of protection for your data.&lt;/p&gt;</description></item></channel></rss>