All blogs / DevOps / SRE / infrastructure
cloudonaut
All you need to know to build a highly available, scalable and cost efficient cloud infrastructure based on Amazon Web Services (AWS).
- Posts
- 406 from 9 May 2015 to 1 Oct 2026
- Posting
- now and then (5 in the last year)
- Kind
- company blog
- Feed
- https://cloudonaut.io/feed/rss.xml
2026 4
2025 11
- AWS CloudWatch Dashboard Cost Efficiency: Logs vs. Custom Metrics
- AWS Step Functions: How to Orchestrate Workflows Waiting for 3rd Parties
- Optimizing Amazon Linux 2023 for tiny EC2 instances: t3.nano, t3a.nano, or t4g.nano
- How to reduce your AWS Config bill for volatile workloads
- How to generate SDKs for a REST API powered by Amazon API Gateway
- Simplified AMI deletion: new feature streamlines cleanup
- Getting ISO 27001 certified as a 2-person company
- S3 Virus Scan and Malware Protection Step-by-Step Guide
- Reduce GitHub runner costs by leveraging EC2 spot instances
- 10th anniversary - our story
- How to move a DynamoDB table to another region or account?
2024 11
- Optional DependsOn with CloudFormation: Metadata to the rescue
- Are you missing an AWS resource in Terraform? Try awscc provider!
- Review: Amazon GuardDuty Malware Protection for S3
- Deploying Self-Hosted Runners for GitHub Enterprise Server on AWS: A Guide to Efficient CI/CD
- How to write unit tests when using the AWS JavaScript SDK v3?
- Tidying up after failed Terraform tests
- How to monetize an API on AWS?
- Cleaning up AMIs
- How to reduce costs for GitHub Actions?
- KMS Key Policy Privilege Escalation
- Connect GitHub Actions with AWS VPC
2023 17
- Protect Amazon Connect from viruses and malware by scanning attachments
- Worldwide availability of EC2 instance types
- How to monitor container workloads running on ECS and Fargate?
- Using DynamoDB Entity Store for cleaner TypeScript code
- The Lambda monitoring blind spot
- A future-proof Terraform provider definition
- Migrating to AWS JavaScript SDK v3: Lessons Learned
- Self-hosted GitHub runners on AWS
- AWS Security Monitoring in 2023: Untangle the chaos
- Show Me Your Architecture Vol. 2: Platform Engineering on AWS
- Detecting connectivity anomalies with CloudWatch Internet Monitor
- Now available: Book Amazon Web Services in Action 3rd Edition
- How we built bucketAV powered by Sophos
- Fallback to on-demand EC2 instances if spot capacity is unavailable
- AWS Monitoring with EventBridge
- Builder's Diary Vol. 6: Serverless and DevOps - a match made in heaven
- How to filter S3 events by object size
2022 35
- Builder's Diary Vol. 5: ECS Anywhere
- Builder's Diary Vol. 4: Serverless Software Engineering
- Hot off the Cloud #007: AppSync JavaScript Resolvers + IAM MFA + CloudFront CD
- Mastodon on AWS: Host your own instance
- Builder's Diary Vol. 3: Infrastructure Pipeline with GitLab and Terraform Cloud
- Hot off the Cloud: October 2022
- Migrating CodePipeline to GitHub Actions to improve performance
- Builder's Diary Vol. 2: Serverless ETL with Airflow and Athena
- 🎧 AWS-to-go: Podcast series to get started with AWS
- Show Me Your Architecture Vol. 1: Scanning S3 buckets for malware
- Enhance EFS file system protection with TLS and IAM
- Step Functions pitfall: The execution reached the maximum number of history events (25000)
- Monitor VPC NAT gateways with CloudWatch metrics and alarms
- CloudFormation cfn-init pitfall: Auto scaling and throttling error rate exceeded
- Selling an AMI and a CloudFormation template as an alternative to SaaS
- Fargate vs. App Runner
- Authentication at the edge with Lambda@Edge and Cognito
- Builder's Diary Vol. 1: Successful Cloud Migrations
- ALB vs. NLB: Which AWS load balancer fits your needs?
- Review: App Runner - Simply containers on AWS!
- Building multi-architecture container images for AWS Graviton
- Deprecated Terraform provider template causes `Incompatible provider version` error
- Security Iceberg: AWS Security Hub the right way
- Automate CloudFormation StackSets with CloudFormation
- Review: Aurora Serverless v2
- Launching cloudonaut talent
- Amazon Web Services in Action 3rd Edition: Early Access
- Application Authentication and Authorization on AWS
- How to create a security group allowing traffic from CloudFront only?
- Sanction Russia: Block traffic using CloudFront Geo Restriction
- Enabling S3 Versioning is not a backup strategy
- AWS Security: Stephen Kuenzli and Andreas Wittig on IAM
- Connect to your EC2 instance using SSH the modern way
- How to set up Jenkins on AWS?
- Parental Leave (Michael)
2021 42
- 2021 in Review
- Video Hosting on AWS
- AWS Architect Mindset
- EBS Snapshot Pitfalls: Does your backup withstand reality?
- Celebrating five years of marbot
- Containers on AWS: ECS, EKS, and Fargate
- EC2 Checklist: 7 things to do after launching an instance
- The AWS Security Journey (2021)
- How to Replicate Your Data with DynamoDB Global Tables
- Multi-Region AWS Architectures
- Choosing the best way to scale EC2 instances on demand
- Calculate AWS Costs in Detail
- Getting Started with Free Templates for AWS CloudFormation
- Unboxing S3 Object Lambda
- How I use AWS Security Hub
- AWS Architecture Pattern for Scheduled & Serverless Batch Processing
- Real-world CodePipeline CI/CD examples
- Serving content only to logged-in users with CloudFront Signed Cookies
- Running containers on spot infrastructure
- Review: AWS Fault Injection Simulator (FIS) – Chaos as a Service?
- Programming your CDN: CloudFront and Lambda@Edge
- Defining IAM Policies with Terraform safely
- Managing application secrets: SSM Parameter Store vs. Secrets Manager
- What Architects Need to Know About Networking on AWS
- Cognito Under the Hood
- DNSSEC with Route 53: Protecting the core of the Internet
- Parental Leave (Andreas)
- A Deep Dive into AWS CloudTrail
- Serverless in the Enterprise
- Serverless Hybrid Cloud: Accessing an API Gateway via VPN or Direct Connect
- AWS Backup - Vault cannot be deleted? Use this script!
- All you need to know about encrypting S3 buckets
- CloudFormation Modules
- Does your VPC endpoint allow access to half of the Internet?
- AWS Client VPN: Connected with the Cloud
- 5 good reasons not to get AWS certified
- Unboxing Amazon Managed Service for Prometheus (AMP)
- Guest authors wanted!
- What's new about AWS SDK for JavaScript v3?
- Debugging a VPC: Security Groups, Network ACLs, and Routing Tables
- Cheap, Durable, Fast. How to choose an EBS volume type?
- How to Become an AWS Certified Solutions Architect
2020 60
- 2020 in Review
- What's the CO² footprint of your architecture?
- Unboxing AWS DataSync
- re:Invent 2020: Recap of Werner Vogels's Keynote
- Next Generation Load Balancing: ALB with gRPC and HTTP/2
- 3½ ways to workaround missing CloudFormation support
- How to configure SAML for AWS SSO?
- A recap of the re:Invent 2020 Keynote with Andy Jassy
- Unusual AWS Architectures
- CodeBuild Report Groups 101
- Amazon EventBridge versus Amazon SNS: What's the difference?
- privacy policy
- Comparing API Gateways on AWS
- Transition to IMDSv2 on EC2 - Introduction, Preparation, Pitfalls
- Tracing an HTTP request
- Getting started with IPv6 on AWS
- How to enable CORS on API Gateway with Lambda proxy integration?
- Unboxing Amazon Timestream
- Caching on AWS 101
- Have you replaced IAM Users with AWS SSO yet?
- Amazon ECR vs. Docker Hub vs. GitHub Container Registry
- I'm losing trust in AWS. SNS is broken for 65 days.
- AWS needs a bug bounty program
- Record AWS API calls to improve IAM Policies
- NoSQL on AWS: Document-Oriented Databases
- Review: AWS App Mesh – A service mesh for EC2, ECS, and EKS
- Workaround: CodePipeline for GitHub Enterprise
- (Erratum) VPC Endpoint increases DynamoDB latency by 30%
- 10 Obstacles for Lift & Shift Architectures
- AWS Month in Review: July 2020
- How do you choose the best storage option on AWS?
- Run the AWS CLI v2 inside Docker
- Use multiple AWS accounts, but keep it simple!
- ECS Deployment Options - From rolling updates to blue-green and canary
- Resilient event-driven Serverless architectures: Isolate your dependencies
- Messaging on AWS
- Containers vs. Serverless: Thoughts About Your Cloud Strategy
- Review: API Gateway HTTP APIs - Cheaper and Faster REST APIs?
- End-user monitoring of your website with CloudWatch Synthetics
- Terraform, can you keep a secret?
- 5th Anniversary of cloudonaut
- Scaling Container Clusters on AWS: ECS and EKS
- Databases on AWS
- Anonymize CloudFront Access Logs
- Building with EC2: 10 Tips for the Successful Cloud Architect
- AWS Account Structure: Think twice before using AWS Organizations
- Top 14 Must-Haves for Your AWS Architecture Checklist
- CloudWatch Metrics & Alarms reloaded
- Seamless EC2 monitoring with the Unified CloudWatch Agent
- Advanced AWS Networking: Pitfalls That You Should Avoid
- How to analyze and reduce S3 storage usage?
- On the way to sustainable open source projects
- What's the best AWS Compute option for your project?
- GitHub Actions vs. AWS CodePipeline
- Review: Amazon Connect – A Programmable Telephone System
- Show your Tool: Parliament
- EC2 Instances 2.0 - Time to Update Your Toolbox
- How to secure your DevOps tools with ALB authentication?
- 10 Success Factors for Starting Your Cloud Journey
- AWS Cost Optimization 101
2019 51
- 2019: Review and Outlook
- Dockerizing Ruby on Rails
- Combine CloudWatch metrics for Auto Scaling or to reduce costs
- All you need to know about AWS re:Invent in 2019
- How to dockerize your Node.js Express application for AWS Fargate?
- Show your Tool: Jenkins Pipeline Step Plugin for AWS
- Checklist: Is your application ready for a container cluster?
- Reduce your AWS bill with Savings Plans
- ETL with a Glue Python Shell Job: Load data from S3 to Redshift
- How to dockerize your Python Django application for AWS Fargate?
- re:Invent Roulette
- Review: AWS Global Accelerator - Improving Latency and Design for Failure
- Resilient task scheduling with ECS Fargate
- How we run our blog cloudonaut.io
- Show your Tool: awsume
- How to avoid S3 data leaks?
- Prevent CloudFormation Change Sets from piling up
- Rapid CI/CD with CodeBuild to deploy PHP and Docker
- How to create a customized CloudWatch Dashboard with CloudFormation
- Review: Amazon Aurora Serverless - A cloud-native and production-ready relational database?
- How to sell pay per use SaaS to AWS customers in the AWS Marketplace
- Avoid the 60 minutes timeout when using the AWS CLI with IAM roles
- We have a podcast!
- EC2 Instance Connect is an insecure default!
- Verify SNS messages delivered via HTTP(S) in Node.js
- Review: AWS Backup - A centralized place for managing backups?
- Calling AppSync GraphQL from Lambda
- Dockerizing legacy applications with confd
- How to dockerize your PHP application for AWS Fargate?
- Analyze CloudWatch Logs like a pro
- School's Out For Summer
- AWS CloudTrail: your audit log is incomplete
- EFS with TLS behind a proxy
- AWS SSM is a trojan horse: fix it now!
- More than 25 SSL certificates with ECS
- Cronjob at the edge with AWS IoT
- Download YouTube videos with AWS Lambda and store them on S3
- 6 new ways to reduce your AWS bill with little effort
- Monitoring EC2 Network Utilization
- Own your analytics data: Replacing Google Analytics with Amazon QuickSight
- 6 unknown CloudFormation features you should know about
- Goodbye SSH, use AWS Session Manager instead
- Three ways to run Docker on AWS
- Fargate networking 101
- Beginner-friendly mobile backend based on AWS AppSync
- A brief history of AWS architectures
- ECS vs. Fargate: What's the difference?
- Serverless WebSocket API: API Gateway, Kinesis, Lambda
- Cost savings with DynamoDB On-Demand: Lessons learned
- AWS SLA: Are you able to keep your availability promise?
- Fargate is ready for prime time, and we share our CloudFormation templates
2018 37
- 2018 in Review
- How to become an AWS expert
- Eat your own dog food: how AWS leverages Serverless
- The somewhat different AWS re:Invent recap
- My mental model of AWS
- Meet us at re:Invent (Update)
- Three simple rules to avoid data leaking from S3
- Customized rate limiting for API Gateway by path parameter, query parameter, and more
- EC2 Network Performance of t3
- Hot off the press: Amazon Web Services in Action Second Edition
- Comparing Serverless offerings from Alibaba Cloud and AWS
- A neglected serverless data store: Cloud Directory
- DevOps on AWS Radio
- Encrypting sensitive data stored on S3
- Restricting Access to EC2 Instances Based on Tags
- Analyzing CloudTrail with Athena
- Dead man's switch with CloudWatch
- Rich Social Sharing with single page applications hosted on S3 and delivered via CloudFront
- Rapid CloudFormation: cfn-modules
- EKS vs. ECS: orchestrating containers on AWS
- Cleaning up an S3 bucket with the help of Athena
- Cloud adaption strategy: event-based data synchronization
- Sharing data volumes between machines: EFS
- Behind the scenes of the EC2 network performance benchmark
- Evolutionary Serverless Architecture: JeffConfg Hamburg 2018 talk
- Serverless pattern: accessing public and private resources
- Configure your CloudFormation managed infrastructure with Parameter Store and CodePipeline
- Burst credits of t2 EC2 instances need monitoring
- New CloudFormation Templates - Store your state
- Tweaking RDS database performance and ElastiCache
- Introducing AWS Lambda
- Monitoring a critical part of your infrastructure: Amazon Elasticsearch domain
- Monitoring a critical part of your infrastructure: Amazon Relational Database Service (RDS)
- Monitoring a critical part of your infrastructure: Amazon ElastiCache memcached cluster
- Migrating to Amazon Linux 2
- AWS Monitoring Primer
- EC2 Network Performance Cheat Sheet
2017 39
- 2017 in Review
- Evolution of the EC2 Network Performance: m3, m4, and m5
- AWS re:Invent 2017 themes
- Join our re:Invent follow-up group
- EC2 network performance demystified: m3 and m4
- Meet me at AWS re:Invent and have breakfast with me
- Your Lambda function might execute twice. Be prepared!
- Send CloudWatch Alarms to Slack with AWS Lambda
- Passwordless database authentication for AWS Lambda
- Engaging your users with AWS Step Functions
- A simple way to manage log messages from containers: CloudWatch Logs
- Amazon Web Services in Action Second Edition is in the works
- A non-technical way to reduce your AWS bill within 5 minutes
- The Cloud Switch: IoT Button, Lambda, and CloudFormation
- CloudFormation vs Terraform in 2022
- CloudWatch is neglected: Why is the control room empty?
- Maintaining an Open Source library of production-ready CloudFormation templates
- Move to the Next Level of Load Balancing on AWS
- Lessons learned: Serverless Chatbot architecture for marbot
- ECS vs. Kubernetes: same same but different
- Amazon Elasticsearch Service revised
- AWS Security Primer
- AWS Velocity Series: Summary
- New CloudFormation Template - Operational Alerts and new Docs
- AWS Velocity Series: Serverless app
- AWS Velocity Series: Containerized ECS based app CI/CD pipeline
- AWS Velocity Series: Containerized ECS based app infrastructure
- Painlessly create or update a CloudFormation stack in an idempotent way
- AWS Velocity Series: EC2 based app CI/CD pipeline
- AWS Velocity Series: EC2 based app infrastructure
- DZone Cloud Guide including Serverless Architectures on AWS
- New CloudFormation Templates - ECS Cluster & Service, legacy VPC wrapper, automated tests
- AWS Velocity Series: Running your application
- AWS Velocity Series: CI/CD Pipeline as Code
- Free ebook: Exploring Cloud Computing
- AWS Velocity Series: Local development environment
- AWS Velocity Series: Set the assembly line up
- AWS Velocity Series
- Book review: The DevOps Handbook
2016 72
- 2016 in Review: Thank You!
- Delivery Pipeline as Code: AWS CloudFormation and AWS CodePipeline
- Designing asynchronous event systems with AWS IoT and Serverless Application Model (SAM)
- AWS Advent has started: Deploy your AWS Infrastructure Continuously
- DynamoDB pitfall: limited throughout due to hot partitions
- A pattern for Continuously Deployed, Immutable and Stateful applications on AWS
- My Opinion on Serverless
- WordPress on AWS: smooth and pain free
- AWS CloudFormation Update Evaluation - YAML, Cross-Stack References, Simplified Substitution
- New CloudFormation Template - Authentication Proxy using your GitHub Organization and YAML
- Serverless Slack Bot Hero Award
- Beyond the default: a Multi-VPC architecture
- Introducing the real-time data store: Kinesis Streams
- marbot, our submission to the AWS Serverless Chatbot Competition
- Connecting Kinesis Analytics with AWS IoT
- New CloudFormation Templates - VPC bastion host, Jenkins, Security AWS Config
- New Online Training - Navigating the AWS Management Console
- Getting started with AWS IoT and Tessel
- Pitfall: ACM Certificate with CloudFormation
- Reference API Gateway Models in CloudFormation
- Improve Security (Groups) using VPC Flow Logs & AWS Config
- Process-as-Code #c9d9
- AWS Weekly 2016-33
- Jenkins Templates for AWS CloudFormation
- Complete AWS IAM Reference
- AWS Weekly 2016-32
- Create a serverless RESTful API with the Serverless Framework powered by API Gateway, Lambda, and DynamoDB
- AWS Weekly 2016-31
- API Gateway Custom Authorization with Lambda, DynamoDB and CloudFormation
- AWS Weekly 2016-30
- Imprint
- Your AWS Account is a mess? Learn how to fix it!
- Create a serverless RESTful API with API Gateway, CloudFormation, Lambda, and DynamoDB
- AWS Weekly 2016-29
- DevOps and Security #c9d9
- AWS Weekly 2016-28
- Serverless Big Data pipeline on AWS
- AWS Weekly 2016-27
- Serverless: Invalidating a DynamoDB Cache
- AWS Weekly 2016-26
- The Life of a Serverless Microservice on AWS
- Setup Amazon EFS in 60 seconds
- AWS Weekly 2016-25
- Performance boost and cost savings for DynamoDB
- AWS Weekly 2016-24
- Using S3 for static web hosting
- 6 tips and tricks for AWS command-line ninjas
- AWS Monthly Review - May 2016
- Integrate SQS and Lambda: serverless architecture for asynchronous workloads
- Free ebook: Cloud Native Applications
- Pro bono: non-profit project wanted
- DIY AWS Security Review
- AWS Monthly Review - April 2016
- Avoid security credentials on GitHub
- Free ebook: Building and Deploying Applications on the Cloud
- Antivirus for S3 Buckets
- Manage AWS EC2 SSH access with IAM
- New Online Training - Automating AWS with CloudFormation
- New CloudFormation Templates - NAT Gateway, Static website, Security
- Event Driven Security Automation on AWS
- AWS Monthly Review - March 2016
- Security Templates for AWS CloudFormation
- Introducing the Object Store: S3
- Optional Parameter in CloudFormation
- Avoid Sharing Key Pairs for EC2
- AWS Weekly 2016-08
- Protect AWS SDK calls with Bulkheads and Circuit Breakers
- Discovering Machine Learning with Iris flower data set
- Rolling Update with AWS CloudFormation
- Static Website Templates for AWS CloudFormation
- VPC Templates for AWS CloudFormation
- AWS year in review
2015 25
- 5 AWS mistakes you should avoid
- Show your SaaS architecture: Time Series Guru
- Serverless image resizing at any scale
- A look at DynamoDB
- 3 simple ways of saving up to 90% of EC2 costs
- High availability is a no-brainer: EC2 auto-recovery
- Create a serverless RESTful API with API Gateway, Swagger, Lambda, and DynamoDB
- EC2 Templates for AWS CloudFormation
- WordPress on AWS: you are holding it wrong
- WordPress Templates for AWS CloudFormation
- Improve AWS security: protect your keys with ease
- CloudFormation vs Engineers: How to protect your CloudFormation managed AWS account from human intervention
- 5 announcements I missed at re:Invent
- Day 2 at the AWS re:Invent – what we learned
- Understanding Infrastructure as Code
- Day 1 at the AWS re:Invent – what we learned
- Amazon Web Services in Action is available
- Prevent outages with redundant EC2 instances
- Building blocks for highly available systems
- Monitor your AWS account to detect suspicious behavior in real time
- Your single AWS account is a serious risk
- Private subnets are broken on AWS
- Amazon Web Services in Action
- Interacting with AWS to turn system diagrams into reality
- What can you do with AWS?