Pulumi Services
Pulumi lets you define cloud infrastructure in TypeScript, Python, Go, or C# instead of a domain-specific language like HCL. For TypeScript teams, this means the same language, the same type system, and the same testing patterns apply to infrastructure code as to application code. We write Pulumi programs that are typed, tested, and organized by the same engineering standards as the applications they support.
Capabilities
What we do with Pulumi
Typed IaC
TypeScript Infrastructure Programs
Infrastructure programs written in TypeScript with full type safety: AWS resource constructors with typed props, compile-time validation of configuration, and IDE autocomplete for every resource property.
Reusable abstractions
Component Resources
Pulumi component resources that encapsulate common infrastructure patterns — a VPC with subnets and routing, an EKS cluster with standard addons, an RDS instance with parameter groups — so that the same configuration is not repeated.
Cross-stack outputs
Stack References
Using Pulumi stack references to share outputs between stacks: the networking stack exports VPC IDs that the application stack imports, without hardcoded values or duplicated resource lookups.
Dev · staging · prod
Multi-environment Stacks
Separate Pulumi stacks for each environment with stack configuration files that supply environment-specific values, so that the same TypeScript program deploys to dev, staging, and production with different inputs.
Pulumi CrossGuard
Policy as Code
Pulumi CrossGuard policies that enforce infrastructure standards across all stacks: required tagging, approved instance types, encryption requirements, and network security rules — evaluated at preview time before any resource is created.
HCL → TypeScript
Migration from Terraform
Migrating existing Terraform infrastructure code to Pulumi, importing existing state and rewriting resource definitions in TypeScript. We do this incrementally by module rather than all at once.
Our approach
Real programming languages eliminate HCL limitations
Terraform HCL has workarounds for loops, conditionals, and dynamic resource creation that become awkward at scale — count, for_each, and dynamic blocks each have edge cases. TypeScript handles these naturally. For infrastructure that needs complex logic, a general-purpose language produces clearer code.
Type safety catches mistakes before apply
Pulumi TypeScript programs are compiled before they run. A misspelled property name, a wrong argument type, or a missing required field is a compile error, not a runtime error that manifests after a partial apply. This is a meaningful improvement over HCL, where many mistakes only surface when Terraform talks to the AWS API.
The same testing patterns apply
Pulumi programs can be unit-tested with Vitest or Jest using mocking, just like application code. Infrastructure logic — which subnets to use, how many AZs to span, what tags to apply — can be tested without provisioning real cloud resources.
State management is equivalent to Terraform
Pulumi maintains a state file that maps declared resources to real cloud resources. We use Pulumi Cloud or an S3 backend for remote state with appropriate access controls. The state model is conceptually identical to Terraform; the tooling differs.
All engineering work is done by US-based engineers. We do not offshore any development or architecture work.
Part of our DevOps practice
FAQ
Common questions
Virginia · United States
Interested in Pulumi?
If you want to manage infrastructure in TypeScript or need help with an existing Pulumi codebase, reach out and we will discuss the requirements.