Managing GitHub Webhooks with Pulumi

Posted by Matt Ellis on Jul 13, 2018 1:03:14 PM

At Pulumi, we do all of our development on GitHub, with a workflow built around topic branches. When a developer wants to make a change, they push a branch to GitHub, open a pull request and (in theory) once it’s merged, delete the branch. In practice, we’ll often forget to delete the topic branch (I’m probably the worst offender), which means we end up having topic branches linger on our main repository until they are explicitly cleaned up. While it’s a lot of fun to go a click through the GitHub UI from time to time, deleting merged branches, it’s even more fun to build automation to do this for us. Since GitHub has a rich set of webhooks and Pulumi makes it easy to write serverless functions, it felt like it would be natural to use Pulumi to write a hook that would clean up branches after a pull request got merged. In addition, Pulumi lets us leverage real programming languages to build abstractions, which means we can build a simple framework that hides much of the ceremony behind defining a hook and lets us focus on the core logic of our hook, without worrying about how it is deployed and managed.

Read More

Topics: Serverless

Using Pulumi with AWS SQS and Lambdas

Posted by Cyrus Najmabadi on Jul 10, 2018 12:14:30 PM

Two weeks ago Amazon added Simple Queue Service (SQS) as a supported event source for Lambda. SQS is one of AWS’s oldest services, providing access to a powerful message queue that can do things like guarantee messages will be delivered at least once, or messages that will be processed in the same order they were received in. Adding SQS as a supported event source for Lambda means that now it’s possible to use SQS in a serverless computing infrastructure, where Lambdas are triggered in response to messages added to your SQS queue. Now, instead of needing some sort of Service dedicated to polling your SQS queue, or creating Simple Notification Service (SNS) notifications from your messages, you can instead just directly trigger whatever Lambda you want.

Read More

Topics: JavaScript, Serverless, AWS

Building your first serverless app using only JavaScript

Posted by Luke Hoban on Jul 5, 2018 2:25:20 PM

In this tutorial, we'll use Pulumi, to build a complete serverless application using JavaScript.  When we say 'using only JavaScript', we're not kidding:

  • write code just like an Express app... but end up with a fully deployable serverless app
  • lambdas are... just lambdas
  • no YAML required... freedom from indentation
  • all the features of the V8 runtime... async await ahoy
  • all the behaviors of immutable infrastructure as code tools... but we really mean 'as code'

Pulumi also supports containers (including Kubernetes), managed services, infrastructure and everything else in between that you might need for building cloud applications. Better than that, you can even combine them all in the same program.

Read More

Topics: Serverless

How we use Pulumi to build Pulumi

Posted by Luke Hoban on Jun 26, 2018 12:12:29 PM

Here at Pulumi we are (perhaps unsurprisingly!) huge fans of using Pulumi to manage our cloud infrastructure and services. We author our infrastructure in strongly-typed programming languages, which allows us to to benefit from rich tooling - documenting and factoring our infrastructure using the same software engineering practices we apply to our application code. This also allows us to create reusable abstractions which accelerate our ability to deliver new features and services, and our ability to standardize and refactor infrastructure patterns across our services with relative ease.

Read More

Topics: Serverless, AWS, Containers, Infrastructure

Build a Video Thumbnailer with Pulumi using Lambdas, Containers, and Infrastructure on AWS

Posted by Donna Malayeri on Jun 18, 2018 5:02:19 AM

Pulumi makes it easy to build cloud applications that use a combination of containers, lambdas, and connected data services and infrastructure: Colada apps. 

An example of a Colada app is extracting a thumbnail from a video. A serverless function can only run for 5 minutes, so we'll run a container in AWS Fargate to do the video processing. 

In this app, a Lambda function is triggered whenever a new video is uploaded to S3. This function launches a task in Fargate that uses FFmpeg to extract a video thumbnail. A second Lambda function is triggered when a new thumbnail has been created. 

Read More

Topics: JavaScript, Serverless, AWS, Containers, Infrastructure

Code, Deploy, and Manage a Serverless REST API on AWS with Pulumi

Posted by Donna Malayeri on Jun 18, 2018 5:01:26 AM

Pulumi makes it easy to build serverless applications and connect to other cloud resources. In this blog post, we'll create a simple REST API that counts the number of times a route has been hit, using JavaScript to define both the infrastructure and application code.

Read More

Topics: JavaScript, Serverless, AWS

Pulumi Blog

Get code to the cloud. Faster. Together.

Get started

curl -fsSL https://get.pulumi.com/ | sh

Resources

Subscribe to our newsletter

Recent Posts