Image for post
Image for post
Introducing Search

Today we are excited to unveil our most powerful feature yet: Search. Sort and find invocations that match powerful expressions ⚡️ fast.

Image for post
Image for post
Searching through millions of function invocations for those that took longer than 500ms

At IOpipe, we approach features on multiple fronts, based on current and potential future use cases. We enjoy employing an iterative approach with feature flags using LaunchDarkly to create mini beta programs for design we want feedback on. We use a plugin architecture in the spirit of eslint, babel, and webpack in client agents that allows us to evaluate proposals in a modular approach — our most recent success story being the Event Info Plugin. …


Image for post
Image for post
Two nerds celebrating thoughtful application architecture

(This post has been updated to reflect the release of native support for SQS in Lambda in July 2018)

I like SQS. It’s one of my favorite AWS services. It’s got a clear purpose, it handles unexpected errors well with a decent config and dead letter queues, and the API is simple enough.

We use currently us SQS for 2 systems at IOpipe:

Our weekly email pipeline, which you can see a snippet of our own production version below (yes we run lots of lambda too!)

Image for post
Image for post
A snippet of the IOpipe weekly email (get yours today!)

We started out with SNS but we ran into some strange situations that seemed hard to debug — to each their own I guess? …


Since we launched IOpipe alerts nearly 7 months ago, we’ve seen how powerful they can be as a first line of defense against erroring, slow, or runaway lambda functions. We’ve triaged several incidents internally where we were dogfooding our own product (surprisingly easy). So after you launch a new function in your environment, ensure it’s covered by an alert!

Image for post
Image for post
Launching a lambda with no alert coverage

Let’s go over the current alert methods and how they have helped:

Errors

This one is pretty easy. If a function has errors, you probably don’t want that. And you’re probably going to want to know when that happens. Alerting on the number of errors within a time window is a simple, effective method to get eyes on a potential issue. …

About

Corey Light

Computers at Fastly

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