Pulumi and Docker: Development to Production

Posted by Sean Gillespie on May 15, 2019 1:53:19 PM
Here at Pulumi, we’re big fans of Docker: at this point there is little doubt that Docker has completely revolutionized the way that we think about deploying software. However, even in 2019, it’s quite difficult to get Docker containers to production. docker run is great, and we all love it, but unfortunately it’s quite a big leap from docker run to running your container in a production-ready environment. We recently wrote a blog post about using AWS Fargate to run your docker containers with our open source packages. In this blog post we’re going to focus on another interesting aspect of Pulumi: being able to re-use your infrastructure code for both development and production!
Read More

Topics: Containers, Kubernetes, Docker

Get Started with Docker on AWS Fargate using Pulumi

Posted by Joe Duffy on Apr 30, 2019 11:44:46 AM

The Docker Getting Started tutorial shows how to develop, build, and run a modern containerized application, from a single custom Docker container published to the Docker Hub, to a scaled out service with load balancing. But there are challenges: it requires you to program in YAML, run (or script) many CLI commands, and manage your own Swarm or Kubernetes cluster. There is an easier way. By using Pulumi’s infrastructure as code, we can build a custom Docker image, publish it to a private AWS container registry, and spin up an AWS Fargate load balanced service running that container, all in 28 lines of TypeScript code and a single pulumi up command. The result leverages the best of what AWS has to offer, with the entire platform at your fingertips, with a single approach. In this article, we’ll see how.

Read More

Topics: JavaScript, AWS, Containers, Infrastructure, TypeScript

Program the Cloud with 12 Pulumi Pearls

Posted by Joe Duffy on Jul 25, 2018 12:06:01 PM

In this post, we’ll look at 12 “pearls” – bite-sized code snippets – that demonstrate some fun ways you can program the cloud using Pulumi. In my introductory post, I mentioned a few of my “favorite things”. Now let’s dive into a few specifics, from multi-cloud to cloud-specific, spanning containers, serverless, and infrastructure, and generally highlighting why using real languages is so empowering for cloud scenarios. Since Pulumi lets you do infrastructure-as-code from the lowest-level to the highest, we will cover a lot of interesting ground in short order.

Read More

Topics: Serverless, AWS, Containers, Infrastructure, TypeScript

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

Deploying production-ready containers with Pulumi

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

 

Containers are a great way to deploy applications to the cloud, especially with new execution models like AWS Fargate. Pulumi makes it easy to deploy production Docker containers, handling details such as creating a container registry instance in ECR, creating task definitions in ECS, and configuring a load balancer. With Pulumi, deploying a container to production is almost as easy as running it locally!

Read More

Topics: JavaScript, AWS, Containers