Did you know that the @pulumi/aws package you have been using is actually built on top of Terraform? In this final intermediate episode, we explore the difference between ‘Bridged’ providers and ‘Native’ providers, and learn how @pulumi/aws-native directly communicates with the AWS Cloud Control API.
Platform Engineering is rarely confined to a single cloud. You often need to provision AWS servers, configure GitHub repositories, and set up DataDog dashboards simultaneously. In this episode, we learn how to leverage the Pulumi Registry to install third-party Providers and orchestrate multi-cloud deployments from a single TypeScript file.
Deploying your entire infrastructure (Networking, Databases, Kubernetes, and Frontend) in a single Pulumi stack is dangerous. A tiny typo in an S3 bucket configuration could accidentally trigger the destruction of your VPC. In this episode, we learn how to architect Micro-Stacks and stitch them together using StackReference.
Terraform relies on Modules for abstraction, which are essentially isolated directories of HCL files. Pulumi takes a much more elegant approach. Because we are using a real programming language, we can abstract complex architectures into reusable TypeScript Classes called ComponentResources.
Welcome to the Intermediate Tier. The true advantage of using a general-purpose programming language for IaC is access to native control flow. In this episode, we will dynamically generate Subnets and Security Group rules using native array mapping and conditional logic based on environment flags.
When you write standard TypeScript, data is computed immediately. But in Pulumi, when you request an EC2 instance’s IP address, the IP does not exist until AWS physically boots the server. This introduces temporal paradoxes. In this final fundamental episode, we master Inputs, Outputs, and how to safely manipulate asynchronous infrastructure data.
Hardcoding values like instance sizes and database passwords into your TypeScript code is a severe anti-pattern. In this episode, we learn how to decouple configuration from code using the Pulumi Config system, allowing the exact same codebase to deploy vastly different Staging and Production architectures.
In Terraform, you write declarative configuration blocks. In Pulumi, you instantiate Object-Oriented classes. This episode explores how to declare complex resources like an AWS VPC, Security Group, and EC2 instance using pure TypeScript, while leveraging your IDE’s IntelliSense for maximum productivity.
Managing state files in Terraform is notoriously difficult, requiring external buckets and DynamoDB locks. Pulumi solves this out-of-the-box using the Pulumi Service. In this episode, we explore how State is managed, and how to use Stacks to deploy identical infrastructure to Staging and Production environments safely.
It is time to leave YAML behind. In this episode, we will install the Pulumi CLI, scaffold a brand new TypeScript project, and understand the anatomy of the generated files. You will learn how Pulumi securely integrates with your cloud provider credentials.