Digest #129: Lambda Optimization, Docker Automation & Cloud Cost Insights
Serverless PDF Generation, Node.js Lambda Optimization, Docker CI/CD Automation, and Multicloud Resource Management.
Welcome to this week’s edition of the DevOps Bulletin!
This week, we're diving into exciting DevOps topics you won't want to miss. From making PDFs in the cloud to speeding up your Node.js Lambda functions, our guides are packed with tips and tricks.
Curious about automating Docker image updates or managing events across your AWS setup? We've got simple steps to boost your skills.
Plus, we spotlight cool projects like a tool for spotting duplicate AWS rules and a command line tool to check cloud costs. These are neat tricks for any DevOps toolkit.
We also share the latest news on code security, managing tech projects, and real stories from tech experts. Ever thought about the difference between SLAs, SLOs, and SLIs, or what goes on inside a data center? We're covering that and more 🔥
Tutorials of the week
Seamless PDF Generation: Master the art of generating PDFs in the cloud using Puppeteer, Chromium, and AWS Lambda for scalable, serverless applications.
Optimizing Node.js Lambda Packages: Discover strategies to decrease the size and increase the performance of your Node.js Lambda functions through package optimization.
Newsletter Click Tracking: Learn how to build your own Google Analytics with an AWS Serverless stack.
Automating Tasks with Amazon Bedrock Agents: Explore how Amazon Bedrock agents can automate routine tasks with AI.
Building a Multicloud Resource Data Lake: Learn how to harvest metadata from CSP APIs, populate data in S3, and create interactive dashboards on top of that.
Automating Docker Image Deployment with GitHub Actions: How to build a Docker image from a Python Flask app, push it to DockerHub, and automatically update the image tag in a Kubernetes deployment.
Convert Express Applications to Run on AWS Lambda: How to migrate the architecture with zero effort.
Suspicious message detection with AI: How to use AWS Bedrock to spot suspicious conversations.
Cross-Account event forwarding within an AWS Organization: How to centralize the management and analysis of logs and events with CloudTrail, S3, and Lambda.
Publishing Terraform Modules to Gitlab Infra Registry: the title says it all!
What’s the best way to migrate Cognito users to a new user pool?
Mastering Terraform Testing: Key takeaways:
Start by making sure your modules are user-friendly. This involves limiting the number of required variables, providing sensible defaults for most variables, and most importantly adding validation to make sure only valid values are allowed.
You should add custom conditions wherever it makes sense in your Terraform module to help your module consumers to use your module properly.
Once that is in place, move on to the Terraform test framework. Start by adding tests to see if your validation logic works as intended. Add tests to verify that your providers are working as intended.
Next up, start thinking about integration testing for your module estate. Turn your compatibility requirements into tests, for instance, if your last three major versions of a module are expected to be supported together with a third-party module, make sure that this is the case by using integration tests.
Take the testing to the extreme by identifying use cases or scenarios that your modules are intended to support.
Introduce policy-as-code in your organization. You might do this from day 1 or you might do it whenever your organization is ready for it.
Projects of the week
Highlighting cool DevOps projects to keep an eye on:
Duplicate Rule Detection Tool: A project to assess the current active AWS Config rules with potential duplicate scope in an AWS account.
Service Screener: A tool for customers to evaluate their AWS service configurations based on AWS and community best practices and receive recommendations on potential improvements.
ccExplorer: Cloud cost explorer is a simple command line tool to explore the cost of your cloud resources.
Hancho: A simple, pleasant build system with few moving parts. Like Ninja, it knows nothing about your build tools and is only trying to assemble and run commands as fast as possible.
Dotenv: A CLI to sync .env files across machines, environments, and team members.
Newsworthy Stories
Stay informed with the latest news impacting the DevOps and SRE world:
My thoughts on writing a Minecraft server from scratch (in Bash)
Platform Engineering: orchestrating applications, platforms, and infrastructure