Jason Butz

Jason Butz is a software engineer and cloud architect with a strong focus on JavaScript, TypeScript, Node, and AWS. Jason has a love for open-soure software and a passion for building scalable, secure, and reliable applications.

AWS

New DynamoDB Key Feature & Why It Matters

AWS announced multi-attribute composite keys for DynamoDB global secondary indexes on November 19th. That's a lot of words, but what does it actually mean? It means it's easier to pull data out of DynamoDB in ways you hadn't planned initially, without a bunch of extra work. To fully explain why, I need to explain keys in DynamoDB. I'll assume you know that DynamoDB is a NoSQL database, that the "database" is called a table, and the table is a collection of items, which you can think of as record
AWS, Amazon DynamoDB, NoSQL
AWS

Is flat-rate CloudFront worth it?

AWS just released flat-rate plans for CloudFront and related services, wrapping together WAF, Route53, CloudFront Function, logging, and more. Sounds tempting, especially with a free tier. You can read more about AWS's announcement on their blog. Is it really worth it? AWS has announced four pricing tiers: Free, Pro ($15/month), Business ($200/month), and Premium ($1,000/month). Of course, each has different capabilities and limits included. I had thought about creating a big table to compare
AWS, Amazon CloudFront
AWS

Debugging ECR Private Pull Through Cache

I completely missed that AWS added pull through cache rules for private ECR (Elastic Container Repository) repositories earlier this year. If you're an organization making use of publicly available container images this goes a long way towards helping you avoid throttling issues, accelerating deployments, and letting you have some confidence that the container versions you depend on will remain available. One of my coworkers was having trouble with the pull through cache, his application that w
AWS, Containers
AWS

JavaScript Lambda Runtime Benchmarking

Last month, I tried out using Bun as a custom JavaScript Lambda runtime and was surprised by the performance difference between Bun and AWS's managed Node.js runtime. The Node runtime had a shorter cold start time, and the invocations had a shorter duration. The cold start times weren't surprising given AWS's caching and performance optimizations, but the difference in the invocation durations was surprising. Since then, I have been working on a better benchmark to compare performance between A
AWS, AWS Lambda, JavaScript, Deno, Bun, Node
AWS

JavaScript Lambda Functions Using a Bun Custom Runtime

I've previously tried out Lambda functions with a custom runtime using Deno, and it had great security and convenience benefits. But Deno isn't the only alternative to the Node.js runtime. Bun is a more recent entrant to the space, but it has an impressive number of features, including not requiring TypeScript to be transpiled, and it makes a lot of claims around speed. Bun also has everything for a custom Lambda runtime buried in its GitHub repository. Custom Lambda Runtimes Custom runtimes
AWS, AWS Lambda, Bun, JavaScript
Software Engineering

How Big Should Your Engineering Team Be?

Have you ever been on a team where it seemed like it took forever to get anything done? You had constant status meetings and could never seem to get a handle on what was being done. It's not an unusual situation, and it can have a variety of causes. How big was the team? Was it six or seven people? Maybe more? That could have been your problem. I was recently asked to propose a solution to reimagine an existing system. The system should use all the same data and database tables, but the rest of
Software Engineering
GenAI

From PartyRock to Bedrock: AI-Powered Automation at Work

There's been an explosion of tools claiming to make your job easier and touting GenAI, and I'm sure many of them can be very helpful. However, it can be hard to get support at many companies to integrate large new suites of tools into a process. It's often easier to add tools to your tasks. That's where the idea for this post came from. Last year, I told my boss and co-workers about AWS's PartyRock tool. We'd been experimenting with tools like ChatGPT and HuggingChat and found some use cases, b
GenAI, AWS
AWS Fault Injection Service

Chaos Engineering with AWS FIS and Lambda

Recently AWS’s Fauly Injection Service (FIS) added support for AWS Lambda, maybe it’s the other way around, but either way, they now work together. I’d never given FIS much focus; most organizations I work with aren’t ready for or interested in chaos engineering. However, the more I looked into FIS, the more I realized I had misjudged what FIS was capable of and where I could use it. What is Chaos Engineering? “Chaos Engineering is the discipline of experimenting on a system in order to build
AWS Fault Injection Service, AWS, Chaos Engineering
Web Components

Lit - Lighting Fast Web Components

Ever since the first release of web components I’ve been interested in them. A way to build components that are isolated from each other without needing a bulky library or framework sounded amazing. Unfortunately, they tend to be hard to work with and browser support was slow to come. Lit is a small library, built on top of web components, that makes it much easier to build interoperable web components. The team released Lit version 3 last year, and I just got around to trying it out. I’m impre
Web Components, Lit
AWS Certification

AWS Certified AI Practitioner Beta Exam Reaction

The other day, I took and passed the new AWS Certified AI Practitioner beta exam. I was surprised at how difficult and technical it was for a foundational exam. To be completely clear, AI/ML is not my focus, and I have limited experience with it. I’ve used GenAI and other ML models but with no tuning. I know about many concepts like knowledge bases, agents, and embeddings, and I have some understanding of how they work. I know about some prompt engineering techniques but haven’t studied them int
AWS Certification, AWS, AI/ML, GenAI