Deploy Serverless Next.js to AWS with Terraform 1.1

Terraform for better or worse is frequently updated with new versions. Many of these introduce incompatibilities with previous versions that require manual rework of Terraform definitions as well as require updating the local or remote Terraform state. I originally developed a solution for deploying Next.js to AWS using Terraform version 0.12 and that has been … Continue reading Deploy Serverless Next.js to AWS with Terraform 1.1

Serverless API with TypeScript on AWS

There are many ways to stand up a REST API. Nearly every programming language provides a way for us to develop a simple web server, such as Express.js, Go Gin or Python Flask. However, with the advent of serverless computing, we need to rethink some of the fundamentals of how APIs are developed and deployed. … Continue reading Serverless API with TypeScript on AWS

TypeScript Types for AWS Lambda

TypeScript is an excellent language for writing AWS Lambda functions. Its flexible static typing allows for high developer productivity and since it can be transpiled into JavaScript, our code can be bundled into small deployment packages that allow for fast Lambda cold starts, without need for keeping 'warm' instances of our lambdas. I have recently … Continue reading TypeScript Types for AWS Lambda

Lambda Go Starter Project

Serverless development allows deploying low-cost, low-maintenance applications. Go is an ever-more popular language for developing backend applications. With first rate support both in AWS Lambda and GCP Cloud Functions, Go is an excellent choice for serverless development. Unfortunately, setting up a flexible infrastructure and efficient deployment pipelines for Serverless applications is not always easy. Especially … Continue reading Lambda Go Starter Project

Deploy Java Lambda using SAM and Buildkite

I've recently covered how to deploy a Node JS based Lambda using SAM and Buildkite. I would say that this should cover most use cases, since I believe a majority of AWS Lambdas are implemented with JavaScript. However, Lambda supports many more programming languages than just JavaScript and one of the more important ones among … Continue reading Deploy Java Lambda using SAM and Buildkite

Setting up Continuous Deployment with Lerna and Buildkite

Buildkite is a great tool for running multi-step build and deployment pipelines. Lerna is a tool for managing multiple JavaScript packages within one git repository. Given that both Lerna and Buildkite are quite popular, it is surprising how difficult it is to set up a basic build and deployment with these tools. It is very … Continue reading Setting up Continuous Deployment with Lerna and Buildkite

Configuring an initd Service for node_exporter

I recently wrote an article showing how to configure Prometheus and Grafana for easy metrics collection. In that article, I assumed that the system which should be monitored would use the systemd approach for defining services. I now had to set up the node_exporter utility on a system which uses the initd approach. Thus, I … Continue reading Configuring an initd Service for node_exporter