AWS NAT Gateways Are Robbing You 💀💸
10 October 2025 | Brandon Barker
If you've ever looked at your AWS bill and winced at the NAT Gateway charges, you're not alone. While NAT Gateways are essential for allowing private subnet resources to access the internet, their cost can quickly spiral out of control, especially in multi-region or high-throughput environments. What if there was a modern, cost-effective alternative that could slash your NAT costs by up to 90% without sacrificing functionality? Enter fck-nat – a (f)easible (c)ost (k)onfigurable NAT solution that challenges the existing NAT Gateway pricing model

Mechanical Rock Joins AWS ISV Accelerate Program with Snowvault Data Platform
24 September 2025 | Tania Broome Miller-Jones
Mechanical Rock, Australia's leading cloud native practice and AWS Advanced Consulting Partner, today announced its entry into the Amazon Web Services (AWS) Independent Software Vendor (ISV) program with its flagship product, Snowvault.
One Simple Trick to Better Types
17 September 2025 | Brandon Barker
When building APIs, it's easy to create types that look fine at first glance but can actually allow impossible or contradictory states. Thinking of types as sets of values provides a simple way to reason about all possible states a type can hold, known as its cardinality. By reducing unnecessary states and using discriminated unions instead of multiple boolean flags, you can create types that are precise, safe, and clear-preventing bugs and making your code easier to understand and maintain.

Running dbt projects on Snowflake
2 July 2025 | Maciej Tarsa
Discover how to run dbt projects natively on Snowflake using the new Workspaces feature and Git integration. This post explores the benefits, setup process, and current limitations of running dbt directly within Snowflake, including key considerations for teams migrating from other orchestration tools. With dbt Fusion and evolving platform features, now is the perfect time to experiment and prepare for the future of analytics engineering on Snowflake.

Solving Global Latency With PostgreSQL Logical Replication
8 May 2025 | Quintin Maseyk
As our application gained global traction, performance for users outside Australia began to suffer especially at the database layer. In this post, I share how we solved the challenge by leveraging PostgreSQL Logical Replication to reduce latency for international regions while maintaining a central source of truth. I’ll walk through our decision-making process, implementation steps, and the lessons we learned scaling a global architecture.
16 April 2025 | Maciej Tarsa
Tried and tested methods to reduce your Snowflake spending
Speak & It Shall Be Done: Building a Voice Assistant That Actually Works
26 March 2025 | Jesse Millman
A deep dive on setting up Voice Enabled AI workflows with Eleven Labs, n8n, and OpenAI.

How Databricks Apps Are Changing Our Relationship With Information
12 March 2025 | Jesse Millman
This blog post explores the shift from dashboards to interactive applications in the Databricks ecosystem, using a LinkedIn content optimization app as a concrete example of how these new tools transform business workflows and create value.

Chrome-ing to Success: Automate CI/CD for Web Extensions
6 March 2025 | Tui Warihana
Web extension development comes with its own set of challenges—ambiguous documentation, browser quirks, and the risk of deployment headaches. A solid CI/CD pipeline can take the guesswork out of releases, ensuring smooth updates and secure hosting. In this guide, I’ll walk you through automating the process so you can spend less time troubleshooting and more time building.
Securing Load Balancers: A Tale of Two CloudFront Approaches
10 February 2025 | Jesse Millman
As web applications grow in complexity, securing communication between CloudFront and origin servers remains a critical concern. Today, we explore two approaches to this challenge: custom header validation vs Amazon's newly announced CloudFront VPC origins feature. We'll see how this new approach dramatically simplifies origin security while improving your infrastructure's security posture.

A Grad's Review of re:Invent 2024
30 January 2025 | Sophie Giraudo
My 3 top highlights from attending re:Invent 2024 thanks to the AWS All Builders Welcome Grant.
Aurora DSQL: The Future of Serverless Relational Data
22 January 2025 | Jesse Millman
Amazon's newest database offering, Aurora DSQL, makes it easier than ever to build highly performant global applications that need consistent data everywhere. Unlike previous solutions that required complex trade offs between performance and reliability, DSQL lets you write and read data from any location while keeping everything in sync automatically.

Snowflake DevOps - first impressions and comparison with schemachange
13 January 2025 | Maciej Tarsa
An evaluation of Snowflake DevOps tools for managing lifecycle of Snowflake resources compared with schemachange

Getting Dynamic with Snowflake
18 November 2024 | Ben Dang
Exploring Snowflake's Dynamic Tables feature
Byting the dust: siloed approaches to data modelling
7 November 2024 | Donald Wade
Miss out on this year's DataEngBytes conference? FOMO dialled to the max? Fear not. Mechanical Rock's intrepid team of conference-goers went along in person, so you didn't have to. Since its beginnings in 2019, DataEngBytes has established itself as a real highlight of the Australian tech conference calendar, and true to form, it brought some great speakers to Perth this September.

How a Simple Configuration Almost Compromised Our Application.
5 November 2024 | Caio Kaihara
Discover how a single misconfiguration in Amazon CloudFront led to a security vulnerability, exposing user data to potential risk, and the steps we took to resolve it.

AppSync Events - Serverless WebSockets on AWS
4 November 2024 | Jesse Millman
Websockets used to be a nightmare, but no longer! Dive into the new AppSync Event API

24 October 2024 | Mechanical Rock
A recap of the 2024 UXCamp Boorloo, a conference for UX professionals

Deploying MWAA with CloudFormation Part 2
16 September 2024 | Maciej Tarsa
Experience and hurdles of deploying Amazon Workflows for Apache Airflow (MWAA) with CloudFormation

14 August 2024 | Bret Waldow
AWS credentials can be leaked! Here are some ways to stop this or deal with it.

Don't Burn Your Data - Freeze Your Requirements!
12 August 2024 | Ben Dang
The Importance of Using pip freeze for Data Engineers and Analysts

Deploying MWAA with CloudFormation Part 1
12 August 2024 | Maciej Tarsa
Experience the hurdles of deploying Amazon Workflows for Apache Airflow (MWAA) with Cloud Formation

WayFinder: The Evolution of our Recommendation Engine
2 August 2024 | Hamish Tedeschi
A journey through the complexity of creating a recommendation engine to foster high performing software teams
Dependabot Management - Notification Fatigue, AWS CodeArtifact and Transient Dependencies
2 May 2024 | Matt Carter
Dependabot is a useful free tool for managing dependencies in your GitHub repositories. This blog discuss some common issues with the tool and some solutions
Role of FlutterFlow in Modern App Development: Insights for DevOps Teams
2 February 2024 | Matt Carter
FlutterFlow is a visual editor for building Flutter apps. It is a good starting point for building applications; however, beyond a certain size, applications may need to be moved to GitHub to enable DevOps practices as well as robust, secure, and consistent development.
Bypassing GitHub branch protection with Environments
14 October 2023 | Chris Howard
GitHub Environments changes the claim token provided to OIDC Providers and removes the Branch name from the Subject, this allows a user to authenticate via any branch
Story telling App with Amazon Bedrock
8 October 2023 | Nadia Reyhani
Part 2: Building your very own storytelling application with Foundation Models from Amazon Bedrock
8 October 2023 | Nadia Reyhani
Part1: What is Amazon Bedrock And What Does It Do?
3 July 2023 | Quintin Maseyk
Unity for 3D modelling and React for user interfaces. How a layered architecture can help with this
A brief overview on MLOps workflow components
15 May 2023 | Nadia Reyhani
A brief overview on MLOps workflow components
Pain point of S3 Notification Configuration for SNS
21 March 2023 | Nadia Reyhani
Pain point of S3 Notification Configuration for SNS
21 March 2023 | Andrew Tyler
Example Mapping - Breaking boundaries to provide the most effective means to derive requirements and create common understanding within the team!
22 February 2023 | Matt Carter
A modern data platform built on Snowflake, Fivetran, DBT and Dagster
Amazon SageMaker Recap, Re:Invent 2022
27 January 2023 | Nadia Reyhani
Amazon SageMaker Recap, Re:Invent 2022
Snowflake SnowPro Core Certification notes
25 January 2023 | Zainab Maleki
Snowflake SnowPro Core Certification notes
Automating Data Workflows with AWS Step Functions: An Example Using Fivetran and dbt
6 January 2023 | Joseph Miocevich
Automating Data Workflows with AWS Step Functions: An Example Using Fivetran and dbt
Integrating Auth0 Authentication into React
12 December 2022 | Chris Howard
Integrating Auth0 Authentication into React
Databricks - An Approach To Unit Testing
27 October 2022 | Bryan Yu
Lets look at testing our code using delta lake and spark
27 October 2022 | Tim Veletta
Let's look at how the new Layouts announced at Next.js Conf 2022 improve the developer experience of working with Next.js
Running Rust in the cloud with AWS Lambda Custom Runtime
18 October 2022 | Leon Ticharwa
Running Rust in the cloud with AWS Lambda Custom Runtime
Realtime Applications with AWS Subscribe
29 August 2022 | Nadia Reyhani
Realtime communication between a web app and a GraphQL API
Azure AD Authentication in Cypress Tests with MSAL
8 August 2022 | Tim Veletta
Azure AD Authentication in Cypress Tests with MSAL
26 July 2022 | Dale Murugan
Level-up from a React developer to a 'Full Stack' developer - A definitive guide for junior developers
Domain Management for Multi-tenant Application in AWS
20 July 2022 | Shermayne Lee
Architecting multi-tenant applications
Why Skeleton Loaders Are The Better Option
11 July 2022 | Quintin Maseyk
Since ajax was introduced we've been familiar with circular loading spinners, dot-dot-dot animations, crazy logo transitions and more, all in place to distract the user while the application requests more data to present back.
24 June 2022 | Joseph Miocevich
Creating Fivetran event notifications using webhooks
Fine Grained Access Control for Multi-tenancy
30 May 2022 | Leon Ticharwa
Architecting multi-tenant backend applications
Fivetran Paginated Custom Connector
26 May 2022 | Joseph Miocevich
Overview of a custom fivetran connector with pagination
Getting Started with Protobufs and Typescript
8 April 2022 | Ed Newsom
Tutorial for how to start using Protobufs with Typescript
Private NPM modules with GitHub packages
4 April 2022 | Tim Veletta
Now that we've built our own NPM module, lets dive into making it private to our organisation using GitHub packages to host it
AWS WAFV2 association with API Gateway
17 March 2022 | Dale Murugan
AWS WAFV2 association with API Gateway
Doesn't look good to me — a requiem for thorough code reviews
8 March 2022 | Simon Bracegirdle
Do you give a cursory review and slap the trusty 'LGMT!' on pull requests? Read this to find out how you could bring more rigour to your team's code review practices and improve the software delivered
Passwordless authentication with Express and PostgreSQL
16 February 2022 | Steven Laidlaw
Tutorial to create a passwordless registration and login system using one-time passwords with ExpressJS and PostgreSQL.
Publishing TypeScript Node Modules
24 January 2022 | Tim Veletta
Understanding how to build your own NPM modules can enable your development teams to share common pieces of code across multiple applications which can accelerate delivery speed. Let's look at building your own modules with TypeScript and publishing them to the NPM registry
Applying DevOps Principles to Robotics
20 December 2021 | Simon Bracegirdle
How can you accelerate your robotics development without compromising on quality and safety? DevOps gives us the DORA metrics, which can help serve as a guide for choosing tools to integrate into our delivery pipeline
Managing Missing CloudFormation Support with the AWS CDK
20 December 2021 | Simon Bracegirdle
AWS CloudFormation support for services is patchy. Using Custom Resources to poll-fill them can be prone to error and messy. In this post I introduce a module that the AWS CDK provides to make creation of Custom Resources easier, safer and less messy.
Building a Serverless RPC API on AWS: Emulating & Testing Locally
23 September 2021 | Matt Tyler
Building a Serverless RPC API on AWS: Emulating & Testing Locally
Building a Serverless RPC API on AWS: When is the mono lambda OK?
23 September 2021 | Matt Tyler
Building a Serverless RPC API on AWS: When is the mono lambda OK?
Building a Serverless RPC API on AWS: Go Middleware
23 September 2021 | Matt Tyler
Building a Serverless RPC API on AWS: Go Middleware
Building a Serverless RPC API on AWS: A simple RPC service with help from Twitch
23 September 2021 | Matt Tyler
Building a Serverless RPC API on AWS: A simple RPC service with help from Twitch
Building a Serverless RPC API on AWS: REST vs RPC
23 September 2021 | Matt Tyler
Building a Serverless RPC API on AWS: REST vs RPC
Snowflake SSO setup with G-Suite
5 July 2021 | Zainab Maleki
FED Talk! Episode 4: React Components
2 July 2021 | Quintin Maseyk
In today’s episode we talk all things React Components, taking you from novice to pro!
FED Talk! Episode 3: Setting Up Routing in React
11 June 2021 | Quintin Maseyk
In today’s episode we will setup routing in our React app, the pro way!
Managing React application state with Context
27 May 2021 | Tim Veletta
What if I told you the best way to manage state within React apps was actually built into React?!
FED Talk! Episode 2: Material UI Theme
14 May 2021 | Quintin Maseyk
In today’s episode we will style all of the base UI elements by creating a MUI Theme, taking you from novice to pro
FED Talk! Episode 1: Getting Started with React & Material UI
27 April 2021 | Quintin Maseyk
In today’s episode we will bootstrap a React app with Material UI and loads more front-end concepts which will take you from novice to pro
Adding CodeBuild reports to Cypress e2e tests using CDK
30 March 2021 | Natalie Laing
Adding CodeBuild reports to Cypress e2e tests using CDK
AWS CloudFormation Time Bomb Detector
24 March 2021 | Tim Myerscough
Do you use Python Lambda backed Custom Resources in CloudFormation? Act before 01 April 2021.
23 March 2021 | Nate Jombwe
At first, understanding how AWS Cognito operates can feel like solving a mystery. If you have been looking for a simple and concise explanation, here it is.
Highlights from the DBT Community's Coalesce Conference
25 January 2021 | Paul Symons
Highlights from the Coalesce 2020 DBT Conference. DBT is open source software, transforming the way organisations work with Data Warehouses
Ruby functions on Google Cloud. A guide for automated testing and deployment
19 January 2021 | JK Gunnink
Google Cloud recently announced the general availability of cloud functions in the Ruby programming language. Find out by example, how to automate the testing and deployment of your code.
Monitoring resource compliance with AWS Security Hub
6 January 2021 | Simon Bracegirdle
Monitoring resource compliance with AWS Security Hub
It's a Bird.. It's a Plane… No! It’s Supercompute in the Cloud!
3 December 2020 | Marcelo Aravena
It's a Bird.. It's a Plane… No! It’s Supercompute in the Cloud!
Batch ELT from AWS DynamoDB to Snowflake
30 November 2020 | Paul Symons
Practical example of working with semi-structured data from DynamoDB in Snowflake Cloud Data Warehouse
The Cloud Data Warehouse - How Do You Like Yours?
9 November 2020 | Paul Symons
An introduction to Cloud Data Warehouses, and why they are changing the way organisations thinking about producing their insights
Automating cross-account infrastructure with the new CloudFormation StackSet resources
26 October 2020 | Simon Bracegirdle
Automating cross-account infrastructure with the new CloudFormation StackSet resources
Ten Tips from the DevOps Enterprise Summit
22 October 2020 | Nick Jenkins
Ten Tips from the DevOps Enterprise Summit
Serverless Kubernetes with Cloudrun
28 September 2020 | JK Gunnink
Serverless Kubernetes with Cloudrun
Which Snowflake Organization and Account Pattern is right for you?
23 September 2020 | Paul Symons
An overview of the Snowflake Organizations feature, and what it can do for your business
These Are Not The Consultants You Are Looking For
23 September 2020 | Hamish Tedeschi
These Are Not The Consultants You Are Looking For
Sharing data effectively in a cloud native data lake
15 September 2020 | Zainab Maleki
Sharing data effectively in a cloud native data lake
Centralised Log Management with a Data Lake hustle on the side
10 September 2020 | Paul Symons
A reference architecture for implementing a cloud native centralised log management system, with long term persistence to a data lake.
Automating Serverless Streaming Data Analytics in AWS with Kinesis Analytics
1 September 2020 | Marcelo Aravena
Automating Serverless Streaming Data Analytics in AWS with Kinesis Analytics
Scaffolding your AWS single page application infrastructure with CDK
24 August 2020 | Tim Veletta
Scaffolding your AWS single page application infrastructure with CDK
Ignore these 5 signals at your peril
19 August 2020 | Tania Broome Miller-Jones
Ignore these 5 signals at your peril
Private Bastion - I'll do what you want me to do
20 July 2020 | Paul Symons
Private Bastion - I'll do what you want me to do
Life-Locks: Or how I discovered two S3 features and learned to love compliance
16 June 2020 | Pete Yandell
Life-Locks: Or how I discovered two S3 features and learned to love compliance
Rolling Out Amazon Guard​Duty to AWS Organizations
15 May 2020 | Simon Bracegirdle
Rolling Out Amazon Guard​Duty to AWS Organizations
Serverless Express Without The Express (Or Lambda) - Client Edition
5 May 2020 | Matt Tyler
Serverless Express Without The Express (Or Lambda) - Client Edition
Azure AD Authentication in Cypress Tests
5 May 2020 | Tim Veletta
Azure AD Authentication in Cypress Tests
Putting the Serverless in GraphQL with AppSync
4 May 2020 | Shermayne Lee
Putting the Serverless in GraphQL with AppSync
How To Split Functions From Your SAM API Definition
28 April 2020 | Matt Tyler
How To Split Functions From Your SAM API Definition
Serverless Express Without The Express (Or Lambda)
22 April 2020 | Matt Tyler
Serverless Express Without The Express (Or Lambda)
Serverless Express - Measuring With Metrics
8 April 2020 | Matt Tyler
Serverless Express - Measuring With Metrics
Re:Invent Yourself and Your Company With Serverless
25 March 2020 | Matt Tyler
Re:Invent Yourself and Your Company With Serverless
Improve Your CloudFormation Game with these 9 Tips
17 March 2020 | Matt Tyler
Improve Your CloudFormation Game with these 9 Tips
Serverless Express with Logging and Tracing
10 March 2020 | Matt Tyler
Serverless Express with Logging and Tracing
Role Based Access Control By Example
25 February 2020 | Matt Tyler
Role Based Access Control By Example
A DevOps Guide to AWS Transit Gateway
24 February 2020 | Marcelo Aravena
A DevOps Guide to AWS Transit Gateway
Easy Paging of AWS calls with Async Iterators
18 February 2020 | Matt Tyler
Easy Paging of AWS calls with Async Iterators
How to Protect a Serverless Express API with OpenID Connect
11 February 2020 | Matt Tyler
How to Protect a Serverless Express API with OpenID Connect
Rotation of Secrets with AWS Secrets Manager
3 February 2020 | Matt Tyler
Rotation of Secrets with AWS Secrets Manager
Cross-Account Inception Pipeline with AWS CDK
31 January 2020 | JK Gunnink
Cross-Account Inception Pipeline with AWS CDK
Build & Deploy a Serverless Express API with OpenAPI
27 January 2020 | Matt Tyler
Build & Deploy a Serverless Express API with OpenAPI
How To Encrypt Data With Asymmetric KMS Data Keys
20 January 2020 | Matt Tyler
How To Encrypt Data With Asymmetric KMS Data Keys
Build & Deploy a Serverless Express API to AWS
14 January 2020 | Matt Tyler
Build & Deploy a Serverless Express API to AWS
Build & Release Serverless Apps with Github Actions
6 January 2020 | Matt Tyler
Build & Release Serverless Apps with Github Actions
Serverless to Observerless: How it was
19 November 2019 | Pete Yandell
Serverless to Observerless: How it was
Using Typescript with SAM & Serverless Framework
22 October 2019 | Matt Tyler
Using Typescript with SAM & Serverless Framework
Serverless: Adventures in a New Dimension
16 October 2019 | Richard Forshaw
Serverless: Adventures in a New Dimension
AWS WAF association with API Gateway
26 September 2019 | Natalie Laing
AWS WAF association with API Gateway
Applying Code-Splitting to AWS Lambda
13 September 2019 | Matt Tyler
Applying Code-Splitting to AWS Lambda
Securing your web applications in AWS using SSO with Azure Active Directory
5 August 2019 | Paul Symons
Securing your web applications in AWS using SSO with Azure Active Directory
Virtual Concierge - Intruder Detection with AWS DeepLens
12 July 2019 | Nathan Glover
Virtual Concierge - Intruder Detection with AWS DeepLens
Continuous Deployment - The First Step on Your Road to Recovery
1 July 2019 | Tim Myerscough
Continuous Deployment - The First Step on Your Road to Recovery
Speed up your pipeline using the cache
29 March 2019 | JK Gunnink
Speed up your pipeline using the cache
Bashing through Minikube - 0 to 60 for Local Kubernetes Development
20 August 2018 | Josh Armitage
Bashing through Minikube - 0 to 60 for Local Kubernetes Development
Better Bash Scripting in 5 Minutes or Less
10 August 2018 | Josh Armitage
Better Bash Scripting in 5 Minutes or Less
High Code Coverage is not Wasted Effort
8 January 2018 | Tim Myerscough
High Code Coverage is not Wasted Effort
Networking Between Sibling Docker Containers
1 December 2017 | Tim Myerscough
Networking Between Sibling Docker Containers
Repeatable Serverless Applications
11 September 2017 | Rick Foxcroft
Repeatable Serverless Applications
Introducing Infrastructure Mapping!
21 December 2016 | Tim Myerscough
Introducing Infrastructure Mapping