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

Simplify Kubernetes RBAC in Amazon EKS with open source Pulumi packages

Posted by Nishi Davidson on Apr 25, 2019 2:15:00 PM
One of the most common areas Kubernetes operators struggle with in production involves creating and managing role-based access control (RBAC). This is so daunting that RBAC is often not implemented, or implemented halfway, or the configuration becomes impossible to maintain. In this post, we will contrast the traditional way of working with RBAC on EKS with using Pulumi — Pulumi makes RBAC on Kubernetes so easy that you’ll never create an insecure cluster again!
Read More

Topics: AWS, Kubernetes, TypeScript, EKS

Testing Your Infrastructure as Code with Pulumi

Posted by Joe Duffy on Apr 17, 2019 6:12:41 PM

Using Pulumi and general purpose languages for infrastructure as code comes with many benefits: leveraging existing skills and knowledge, eliminating boilerplate through abstraction, and using the same ecosystem of tools like IDEs and linters that your team already knows and loves. In general, these are all attributes of software engineering, which not only make us more productive, but also improve the quality of our code. It’s only natural, therefore, that using general purpose languages unlocks another important software engineering practice: testing.

Read More

Topics: JavaScript, TypeScript, CICD, Cloud Native Infrastructure, Python

Simplified Outputs in Pulumi 0.17

Posted by Cyrus Najmabadi on Mar 19, 2019 3:21:24 PM

Pulumi allows cloud developers to use programming languages like JavaScript, TypeScript and Python to define and deploy cloud infrastructure and applications. To do this, Pulumi exposes a notion of Outputs that track how the outputs of one cloud resource are used and transformed as part of creating another cloud resource.

Read More

Topics: JavaScript, TypeScript, Features

From Terraform to Infrastructure as Software

Posted by Pat Gavlin on Nov 2, 2018 12:25:25 PM

Here at Pulumi, we love programming the cloud using infrastructure as code. From the project’s outset, we’ve been inspired by technologies like Terraform, AWS CloudFormation, and Helm, and in fact leverage the Terraform Providers ecosystem, to support a broad range of clouds, including AWS, Azure, and Google Cloud. Just recently, we extended this with first class support for Kubernetes. Pulumi delivers the same infrastructure as code workflows only using general purpose languages like JavaScript, TypeScript, Python, and Go, extending robust infrastructure provisioning with abstraction and reuse, highly productive tooling, and access to all the other things we already know and love about programming languages.

Read More

Topics: JavaScript, Infrastructure, TypeScript

Lambdas as Lambdas: The magic of simple serverless Functions

Posted by Cyrus Najmabadi on Oct 10, 2018 8:27:35 AM

Pulumi's approach to infrastructure as code uses real languages instead of YAML or DSLs. One major advantage of this approach is that AWS Lambdas, Azure Functions, Google Cloud Functions, et al. can just be real language lambdas, offering a flexible and simple path to serverless. Such functions behave as normal functions, allowing you to treat serverless code as part of your application instead of separate "infrastructure" that needs to be configured, managed, and versioned manually. In this post, we'll examine this capability in JavaScript, which is already very function- and callback-oriented, making serverless feel like a natural extension of the language we already know and love. 

Read More

Topics: Serverless, TypeScript

Advanced TypeScript type FTW!

Posted by Cyrus Najmabadi on Sep 19, 2018 12:55:01 PM

We at Pulumi love TypeScript for cloud apps and infrastructure, because of its rich type system and great ahead-of-time typechecking – making for a more productive inner loop and helping to find errors sooner. The typesystem magic behind how this works for infrastructure as code can be fascinating!

Read More

Topics: TypeScript

Simple, Reproducible Kubernetes Deployments

Posted by Alex Clemmer on Aug 24, 2018 5:04:52 PM

Kubernetes is a powerful container orchestrator for cloud native applications that can run on any cloud -- AWS, Azure, GCP -- in addition to hybrid and on-premises environments. Its CLI, kubectl, offers basic built-in support for performing deployments, but intentionally stops short here. In particular, it doesn't offer diffs and previews, the ability to know when a deployment has succeeded or failed, and why, and/or sophisticated deployment orchestration.

In this post, we’ll see how Pulumi, an open source cloud native development platform, can not only let you express Kubernetes programs in real programming languages, like TypeScript, instead of endless YAML templates, but also how Pulumi delivers simple and reproducible, yet powerful, Kubernetes deployment workflows.

Read More

Topics: Infrastructure, Kubernetes, 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

Serving a Static Website on AWS with Pulumi

Posted by Chris Smith on Jul 17, 2018 9:21:50 AM

Hello! This post covers using Pulumi to create the infrastructure for serving a static website on AWS. The full source code for this example is available on GitHub.

Setting up the infrastructure to serve a static website doesn’t sound like it would be all that difficult, but when you consider HTTPS certificates, content distribution networks, and attaching it to a custom domain, integrating all the components can be quite daunting. 

Read More

Topics: AWS, Infrastructure, TypeScript