Authenticate Lambda requests with an Application Load Balancer with Infrastructure as Code.

General Architecture

This article is the second part of a series that explains how to build an AWS application that authenticates requests to its Lambda services by using an Application Load Balancer (ALB). The goal of this application is to authenticate Lambda requests with an HTTPS ALB instead of API Gateway using an Infrastructure as Code (IaC) approach. You can follow along with the code in this tutorial by cloning this repository.

In a previous article, we registered a domain name through Route53, created a valid TLS/SSL certificate for that domain, and built an OpenID Connect-compliant authorization client (Google’s OAuth). …

Build an Application Load Balancer that uses OAuth2.0 to authenticate requests to Lambda services.

General Architecture

Recently, a serverless pattern was introduced that leverages Application Load Balancers (ALB) in front of Lambda functions instead of API Gateway (API GW).

In a two-part series, I will explain how to configure an HTTPS ALB that authenticates through an OpenID Connect (OIDC) compliant identity provider (IdP) using CloudFormation. For this tutorial, we will use Google as our identity provider, but keep in mind that any OIDC-compliant IdP will work.

This article will present the steps to take before building an Application Load Balancer that will authenticate requests via OpenID Connect.

In a followup article, I will provide a sample…

A simple roadmap you can use to streamline your Serverless TypeScript application deployment.

Getty Images

In this article, I’ll discuss how adding a few lines of code to your tsconfig.json, package.json, and serverless.yml can help you deploy your TypeScript-based serverless stack to AWS with one command.

If you’re reading this because explicitly defining your data types is what floats your boat, I’m right there with you. Go ahead and skip right to the tutorial.

However, if you haven’t used TypeScript or are unsure about whether it’s right for you, I found this article to be pretty objective and reasonable when discussing its pros and cons. In the next section, I’ll highlight some of the challenges…

Useful Node/AWS recipes you can use again and again.

Floriana / Getty Images

As I work on AWS cloud-native applications, there are certain NodeJS “recipes” I find myself leaning on time and time again. It occurred to me the other day that I should record these somewhere for my own reference, but then I thought, why be greedy?? I hope some of these recipes will provide a nice reference for anyone who spends a lot of time developing AWS apps with NodeJS/TypeScript.

These recipes were built with the Lambda runtime environment in mind, which is why they are written in commonjs instead of ES6

Marshal your own data when the higher level APIs will not.


If you’re familiar with DynamoDB, you know that transforming (or as AWS calls it, “marshaling”) your data into DynamoDB ‘s consumable form can be cumbersome.

Luckily for us developers, AWS offers higher level APIs that will handle data marshaling for us (see DocumentClient for NodeJS and DynamoDB Table for Python). So why am I writing this article?

In one of mypython stacks, I needed to use DynamoDB transactional writes. While Node’s aws-sdk has a higher level implementation of transactional data operations through the DocumentClient, Python’s boto3 does not.


4 Easy Steps to Master the Single Table DynamoDB Design Pattern

As someone who has spent a lot of time working with relational data, I can empathize with developers who struggle with NoSQL database technologies. However, the more that I’ve worked with DynamoDB over the last several years, the more I’ve come to love the freedom and flexibility it provides.

However, I totally understand the flexibility of non-relational data can make data modeling a little intimidating. This article will help explain the process of taking structure-less, relational data and storing it in one DynamoDB table.

There are a few very well-written articles on the internet that explain the pros and cons…


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store