RSSAmplifier

Blog

Sebastian Hesse

AWS serverless consultant from Germany. I help teams design, build, and optimize Lambda, CDK, DynamoDB, and EventBridge architectures.

sebastianhesse.deRSS feed ↗46 posts

Latest posts

Migrating a SAM CfnApplication to a CDK NestedStack Without Recreating Resources

How to replace an embedded SAM CfnApplication with a native CDK NestedStack in place, keeping the underlying Lambda and Step Functions resources and their outputs intact.

Migrating AWS CDK logRetention to logGroup Without Losing Your Logs

How to safely migrate the deprecated AWS CDK logRetention prop to logGroup by importing the existing log group, so you keep your logs and avoid a failed deploy.

Serverless and AI on AWS in 2026: Governing Agents and the New Agent Economy

Part two of the 2026 serverless AI tour: Bedrock AgentCore for production governance, Strands Agents, the AWS Serverless agent plugin, and WAF's new AI traffic monetization.

Serverless and AI on AWS in 2026: Lambda Gets Hands, S3 Gets Memory

A practitioner's tour of how AWS rebuilt serverless compute and storage for AI agents in 2026: Lambda MicroVMs, Durable Functions, S3 Vectors, S3 Annotations, and managed RAG.

Build, Test and Debug AWS Lambda Container Images Locally with Docker

Run AWS Lambda container images on your machine with the Runtime Interface Emulator. Build the image, pass IAM or AWS SSO credentials, verify them with STS, and shell into the container to debug.

Updating Tags on an OpenSearch Serverless Collection Replaces the Resource

AWS::OpenSearchServerless::Collection requires replacement when you update tags — a surprising CloudFormation behavior that can break cross-account setups and cause downtime.

Cross-Account Data Ingestion into OpenSearch Serverless with AWS CDK

How to set up OpenSearch Serverless for cross-account data ingestion using AWS CDK, VPC endpoints, and IAM role assumption — filling the gaps in AWS documentation.

Run Custom Build Commands During CDK Synthesis with Code.fromCustomCommand

Learn how to use CDK's Code.fromCustomCommand to run custom build scripts, download artifacts, or use non-standard toolchains like Rust or Go during CDK synthesis.

Scale CloudWatch Alarms with Metrics Insights Queries

Use CloudWatch Metrics Insights to monitor multiple resources by querying their tags.

Serve Markdown for LLMs and AI Agents Using Amazon CloudFront

Learn how to serve Markdown to LLM and AI agent clients while keeping HTML for human visitors, using CloudFront Functions, Lambda, and S3 — the AWS equivalent of Cloudflare's 'Markdown for Agents' feature.

Running Scripts Across Multiple AWS Accounts with AWS SSO

Execute AWS CLI commands across multiple AWS accounts and regions from your local machine using AWS SSO.

Importing DynamoDB Items from a CSV File Using the AWS CLI

Import CSV data into an existing DynamoDB table using the AWS CLI and a simple bash script — no complex tooling like Glue required. Covers aws cli dynamodb put-item for each CSV row.

Migrating a CDK Construct to projen and jsii

Learn how to convert your existing AWS CDK construct to use projen for easier maintenance and jsii for multi-language publishing

Using Spring Boot On AWS Lambda: Clever or Dumb?

Should you run Spring Boot on AWS Lambda? Detailed analysis of advantages, disadvantages, cold start impact, and GraalVM alternatives for Java serverless functions.

Serverless Sending and Receiving E-Mails, the CDK Way

Automate email forwarding with AWS SES using CDK constructs. Verify domains, setup receipt rules, and forward emails to Gmail—all with Infrastructure as Code.

5 Ways To Bundle a Lambda Function Within an AWS CDK Construct

5 ways to bundle Lambda functions in CDK constructs: inline code, separate files, pre-build bundling, NodejsFunction, and Serverless App Repository integration.

Automatically Generate a Nice Looking Serverless REST API Documentation

Generate beautiful REST API documentation from OpenAPI specs using ReDoc, openapi-generator, or swagger-codegen. Includes AWS::Serverless::Api DefinitionBody OpenAPI 3.0.1 examples with x-amazon-apigateway-integration for SAM-based Lambda APIs.

Using DynamoDB Local and Testcontainers in Java within Bitbucket Pipelines

Automate DynamoDB testing with Testcontainers and DynamoDB Local in Bitbucket Pipelines. Complete setup guide including Ryuk configuration and AWS SDK settings.

Going Serverless - Why and How (2)

Serverless best practices: keep functions small, use asynchronous communication, scale responsibly, and manage timeouts with Step Functions. Essential guide for production systems.

Going Serverless - Why and How (1)

Start your serverless journey with this comprehensive guide. Learn why serverless matters, how to use Infrastructure as Code with SAM, and set up automated deployments.

Visiting JavaLand 2019

JavaLand 2019 key takeaways: microservices transactions with SAGA pattern, Domain Driven Design principles, and Web API design best practices for Java developers.

AWS Lambda Cache: Caching Strategies for Serverless Functions

Implement an AWS Lambda cache to improve performance and reduce costs. Compare in-memory caching, DynamoDB cache, Redis, and ElastiCache - and learn which Lambda caching strategy fits your use case.

Remove old CloudWatch log groups of Lambda functions

Automatically remove orphaned CloudWatch log groups from deleted Lambda functions. Python script using CloudFormation stack to identify and clean up old logs.

My first time on a bigger stage

Essential lessons from giving a conference talk at Atlas Camp 2018: why storytelling matters, how much preparation time you really need, and presentation techniques that work.

Shut down CloudFormation stack resources over night using AWS Lambda

Save AWS costs by automatically shutting down development stack resources overnight using Lambda functions and CloudFormation parameters. Reduce expenses by 50% or more.

AWS CloudFormation Template: Creating Different Environments

Learn how to write an AWS CloudFormation template that supports multiple environments (dev, staging, production) using parameters and naming conventions. Includes CloudFormation template examples with environment variables.

Keeping your AWS budget under control

Control AWS spending with AWS Budgets. Set up cost alerts and forecasted thresholds to prevent surprise charges. Simple 5-minute setup saves you from overspending.

Use Jersey and Spring in AWS Lambda

Integrate Jersey and Spring Framework in AWS Lambda using aws-serverless-java-container. Complete guide with code examples for building REST APIs on Lambda with Java.

How to reduce your CloudFormation template size

Overcome the 51,200 byte CloudFormation template limit using AWS::Include and cfn-include preprocessor. Split large templates into modular reusable components.

Starter Projects For AWS Lambda Using NodeJS And Java

AWS Lambda starter projects for NodeJS and Java with CloudFormation templates. Get boilerplate code to quickly deploy Lambda functions with API Gateway integration.

Fast AWS Lambda Code Updates And Improved Lambda Logs

Speed up AWS Lambda code updates from 2.5 minutes to 15 seconds with lambda-updater. Plus, easily trace logs across multiple Lambda functions using lambdalogs tool.

5 Things To Consider For Writing A Lambda Function

5 essential tips for writing AWS Lambda functions: choosing a runtime, using CloudFormation, attaching policies correctly, and improving cold starts.

Start Dijkstra Shortest Path using JMapViewer

Implement Dijkstra's shortest path algorithm with JMapViewer for OpenStreetMap. Visualize routes on interactive maps using Java Swing and mouse click events.

Revert rebasing errors with Git reflog

Fix Git rebase mistakes using git reflog to recover lost commits. Step-by-step guide to identifying conflicts and reviewing rebased changes after errors.

Three inspiring indie hacker projects I've found on IndieHackers.com

3 inspiring indie hacker projects from IndieHackers.com: SubmitHub, Logojoy, and park.io. Learn how solo founders automate processes to build profitable businesses.

Set up JMapViewer for OSM data

Set up JMapViewer for OpenStreetMap data in Java Swing applications. Add Maven dependencies, configure map tiles, and implement mouse interactions for map markers.

Deploy a Multi-Module Maven Project to Heroku

Deploy multi-module Maven projects to Heroku with Spring Boot. Use config variables and Procfile to manage multiple microservices from a single repository.

Getting notified about new JIRA issues

Stay updated on new Jira issues with filter subscriptions. Create saved searches with custom criteria and receive automated email notifications on your schedule.

How to test a web app with popups using Selenium

Test hover popups with Selenium using Actions class and WebDriverWait. Solve the common problem of timing issues when popups don't open immediately.

Command line tool to quickly start a Confluence standalone instance

Start Confluence standalone instances in seconds with confluence-starter CLI. Automate downloads, configuration, and setup for addon development and testing.

Apache Troubleshooting and Nginx Rescue

Migrate from Apache to Nginx to solve high CPU usage and timeout issues. Complete tutorial including WordPress configuration, MySQL backup, and permalink setup.

Handle URL parameters with AngularJS

Master AngularJS URL handling with $routeProvider and $routeParams. Learn path parameters, query parameters, and HTML5 pushState mode for clean URLs.

Using AngularJS and Spring together

Build web apps with AngularJS and Spring Boot. Complete tutorial from Spring Initializr setup to AngularJS routing with single page application architecture.

Manipulate a page from a chrome extension

Build Chrome extensions that manipulate web pages using content scripts and context menus. Learn the message passing system between background and content scripts.

Add Spring to JavaFX

Integrate Spring Framework with JavaFX for dependency injection in FXML controllers. Learn the SpringFxmlLoader pattern to combine Spring beans with JavaFX components.

First steps with JavaFX

Learn JavaFX basics with FXML layouts and controllers in this step-by-step tutorial. Build your first JavaFX application using BorderPane, GridPane, and event handling.