|  | 
|  | 1 | +--- | 
|  | 2 | +title: "Infrastructure as Code | Pulumi" | 
|  | 3 | +meta_desc: Infrastructure as Code in any programming language. Enable your team to get code to any cloud productively, securely, and reliably. | 
|  | 4 | +layout: gads-template | 
|  | 5 | +block_external_search_index: true | 
|  | 6 | + | 
|  | 7 | +heading: "Infrastructure as Code" | 
|  | 8 | +subheading: | | 
|  | 9 | +    Pulumi is a free, open source infrastructure as code tool, and works best with Pulumi Cloud to | 
|  | 10 | +    make managing infrastructure secure, reliable, and hassle-free. | 
|  | 11 | +
 | 
|  | 12 | +overview: | 
|  | 13 | +    title: Ship infrastructure 3-5x faster<br/>with real programming languages | 
|  | 14 | +    description: | | 
|  | 15 | +        Looking for <span id="dki-placeholder" style="font-weight: bold;">a robust IaC solution</span>? Stop wrestling with YAML and proprietary DSLs. Use TypeScript, Python, Go, or C# to build, test, and deploy cloud infrastructure the way you write application code. | 
|  | 16 | +
 | 
|  | 17 | +key_features_above: | 
|  | 18 | +    items: | 
|  | 19 | +        - title: "Write infrastructure like software" | 
|  | 20 | +          sub_title: "Pulumi Infrastructure as Code Engine" | 
|  | 21 | +          description: | 
|  | 22 | +            Author infrastructure as code (IaC) using programming languages you know and love – including TypeScript/JavaScript, Python, Go, C#, Java, and YAML. Deploy to 170+ providers like AWS, Azure, Google Cloud, and Kubernetes. | 
|  | 23 | +          image: "/images/product/pulumi-iac-code.png" | 
|  | 24 | +          button: | 
|  | 25 | +            text: "Try Pulumi Cloud for FREE" | 
|  | 26 | +            link: "https://app.pulumi.com/signup?utm_source=gads-infrastructure-engineers" | 
|  | 27 | +          features: | 
|  | 28 | +              - title: AI-powered infrastructure | 
|  | 29 | +                description: | | 
|  | 30 | +                    Generate Pulumi code from natural language or convert existing Terraform with Neo AI | 
|  | 31 | +                icon: lightning | 
|  | 32 | +                color: yellow | 
|  | 33 | +              - title: Deploy to any cloud in minutes | 
|  | 34 | +                description: | | 
|  | 35 | +                    170+ providers including AWS, Azure, GCP, Kubernetes, and every major SaaS platform | 
|  | 36 | +                icon: cloud | 
|  | 37 | +                color: yellow | 
|  | 38 | +              - title: Catch errors before deployment | 
|  | 39 | +                description: | | 
|  | 40 | +                    Type-checking, unit tests, and policy validation prevent misconfigurations from reaching production | 
|  | 41 | +                icon: shield | 
|  | 42 | +                color: yellow | 
|  | 43 | + | 
|  | 44 | +key_features: | 
|  | 45 | +    title: Key features | 
|  | 46 | +    items: | 
|  | 47 | +        - title: "Build infrastructure faster with reusable components" | 
|  | 48 | +          sub_title: "Pulumi Packages" | 
|  | 49 | +          description: | | 
|  | 50 | +            Build and reuse higher-level abstractions for cloud architectures with multi-language Pulumi Packages. Distribute the packages through repositories or package managers so your team members can reuse them. | 
|  | 51 | +          ide: | 
|  | 52 | +            - title: index.ts | 
|  | 53 | +              language: typescript | 
|  | 54 | +              code: | | 
|  | 55 | +                import * as eks from "@pulumi/eks"; | 
|  | 56 | +
 | 
|  | 57 | +                // Create an EKS cluster with the default configuration. | 
|  | 58 | +                const cluster = new eks.Cluster("eks-cluster"); | 
|  | 59 | +
 | 
|  | 60 | +                // Export the cluster's kubeconfig. | 
|  | 61 | +                export const kubeconfig = cluster.kubeconfig; | 
|  | 62 | +            - title: __main__.py | 
|  | 63 | +              language: python | 
|  | 64 | +              code: | | 
|  | 65 | +                import pulumi | 
|  | 66 | +                import pulumi_eks as eks | 
|  | 67 | +
 | 
|  | 68 | +                # Create an EKS cluster with the default configuration. | 
|  | 69 | +                cluster = eks.Cluster("eks-cluster") | 
|  | 70 | +
 | 
|  | 71 | +                # Export the cluster's kubeconfig. | 
|  | 72 | +                pulumi.export("kubeconfig", cluster.kubeconfig) | 
|  | 73 | +            - title: main.go | 
|  | 74 | +              language: go | 
|  | 75 | +              code: | | 
|  | 76 | +                    package main | 
|  | 77 | +
 | 
|  | 78 | +                    import ( | 
|  | 79 | +                      "github.com/pulumi/pulumi-eks/sdk/go/eks" | 
|  | 80 | +                      "github.com/pulumi/pulumi/sdk/v3/go/pulumi" | 
|  | 81 | +                    ) | 
|  | 82 | +
 | 
|  | 83 | +                    func main() { | 
|  | 84 | +                      pulumi.Run(func(ctx *pulumi.Context) error { | 
|  | 85 | +                        // Create an EKS cluster with default settings. | 
|  | 86 | +                        cluster, err := eks.NewCluster(ctx, "eks-cluster", nil) | 
|  | 87 | +                        if err != nil { | 
|  | 88 | +                          return err | 
|  | 89 | +                        } | 
|  | 90 | +
 | 
|  | 91 | +                        // Export the cluster's kubeconfig. | 
|  | 92 | +                        ctx.Export("kubeconfig", cluster.Kubeconfig) | 
|  | 93 | +                        return nil | 
|  | 94 | +                      }) | 
|  | 95 | +                    } | 
|  | 96 | +            - title: MyStack.cs | 
|  | 97 | +              language: csharp | 
|  | 98 | +              code: | | 
|  | 99 | +                using System.Collections.Generic; | 
|  | 100 | +                using Pulumi; | 
|  | 101 | +                using Pulumi.Eks; | 
|  | 102 | +
 | 
|  | 103 | +                await Deployment.RunAsync(() => | 
|  | 104 | +                { | 
|  | 105 | +                  // Create an EKS cluster with default settings. | 
|  | 106 | +                  var cluster = new Cluster("eks-cluster"); | 
|  | 107 | +
 | 
|  | 108 | +                  // Export the cluster's kubeconfig. | 
|  | 109 | +                  return new Dictionary<string, object?> | 
|  | 110 | +                  { | 
|  | 111 | +                    ["kubeconfig"] = cluster.Kubeconfig | 
|  | 112 | +                  }; | 
|  | 113 | +                }); | 
|  | 114 | +            - title: Main.Java | 
|  | 115 | +              language: java | 
|  | 116 | +              code: | | 
|  | 117 | +                import com.pulumi.Context; | 
|  | 118 | +                import com.pulumi.Pulumi; | 
|  | 119 | +                import com.pulumi.eks.Cluster; | 
|  | 120 | +
 | 
|  | 121 | +                public class App { | 
|  | 122 | +                    public static void main(String[] args) { | 
|  | 123 | +                        Pulumi.run(App::stack); | 
|  | 124 | +                    } | 
|  | 125 | +
 | 
|  | 126 | +                    private static void stack(Context ctx) { | 
|  | 127 | +                    final var cluster = new Cluster("eks-cluster"); | 
|  | 128 | +                    ctx.export("kubeconfig", cluster.kubeconfig()); | 
|  | 129 | +                  } | 
|  | 130 | +                } | 
|  | 131 | +            - title: Pulumi.yaml | 
|  | 132 | +              language: yaml | 
|  | 133 | +              code: | | 
|  | 134 | +                resources: | 
|  | 135 | +                  eks-cluster: | 
|  | 136 | +                    type: eks:Cluster | 
|  | 137 | +                outputs: | 
|  | 138 | +                  kubeconfig: ${cluster.kubeconfig} | 
|  | 139 | +          button: | 
|  | 140 | +            text: "Try Pulumi Cloud for FREE" | 
|  | 141 | +            link: "https://app.pulumi.com/signup?utm_source=gads-infrastructure-engineers" | 
|  | 142 | +          features: | 
|  | 143 | +              - title: Native cloud providers | 
|  | 144 | +                description: | | 
|  | 145 | +                    Full API coverage for AWS, Azure, Google Cloud, and Kubernetes with same-day updates. | 
|  | 146 | +              - title: Crosswalk for AWS | 
|  | 147 | +                description: | | 
|  | 148 | +                    Adopt well-architected best practices for your infrastructure easily with the Crosswalk library. | 
|  | 149 | +              - title: Cloud Native support | 
|  | 150 | +                description: | | 
|  | 151 | +                    Use a single workflow to manage both Kubernetes resources and infrastructure. | 
|  | 152 | +
 | 
|  | 153 | +        - title: "Deliver infrastructure through software delivery pipelines" | 
|  | 154 | +          sub_title: "CI/CD Integrations" | 
|  | 155 | +          description: | | 
|  | 156 | +            Version, review, test, and deploy infrastructure code through the same tools and processes used for your application code. | 
|  | 157 | +          image: "/images/product/pulumi-cicd.png" | 
|  | 158 | +          button: | 
|  | 159 | +            text: "Try Pulumi Cloud for FREE" | 
|  | 160 | +            link: "https://app.pulumi.com/signup?utm_source=gads-infrastructure-engineers" | 
|  | 161 | +          features: | 
|  | 162 | +              - title: Version and review | 
|  | 163 | +                description: | | 
|  | 164 | +                    Manage infrastructure code in Git and approve changes through pull requests. | 
|  | 165 | +              - title: Shift left | 
|  | 166 | +                description: | | 
|  | 167 | +                    Get rapid feedback on your code with fast unit tests, and run integration tests against ephemeral infrastructure. | 
|  | 168 | +              - title: Continuous delivery | 
|  | 169 | +                description: | | 
|  | 170 | +                    Integrate your CI/CD provider with Pulumi or use GitOps to manage Kubernetes clusters. | 
|  | 171 | +
 | 
|  | 172 | +stats: | 
|  | 173 | +    title: Trusted by thousands | 
|  | 174 | +    description: | | 
|  | 175 | +        Pulumi's Infrastructure as Code CLI and SDK is an open-source project that's supported | 
|  | 176 | +        by an active community. We maintain a public roadmap and welcome feedback and contributions. | 
|  | 177 | +    community: | 
|  | 178 | +        number: "150,000+" | 
|  | 179 | +        description: developers | 
|  | 180 | +    company: | 
|  | 181 | +        number: "3,000+" | 
|  | 182 | +        description: organizations | 
|  | 183 | +    integration: | 
|  | 184 | +        number: "170+" | 
|  | 185 | +        description: Cloud and service integrations | 
|  | 186 | + | 
|  | 187 | +key_features_below: | 
|  | 188 | +    items: | 
|  | 189 | +        - title: "Use Pulumi IaC at scale" | 
|  | 190 | +          sub_title: "Pulumi Cloud" | 
|  | 191 | +          description: | | 
|  | 192 | +             A fully-managed service for Pulumi IaC plus so much more. Manage and store infrastructure state & secrets, collaborate within teams, view and search infrastructure, and manage security and compliance using Pulumi Cloud. | 
|  | 193 | +          image: "/images/product/pulumi-cloud-iac-stylized-01.png" | 
|  | 194 | +          button: | 
|  | 195 | +            text: "Try Pulumi Cloud for FREE" | 
|  | 196 | +            link: "https://app.pulumi.com/signup?utm_source=gads-infrastructure-engineers" | 
|  | 197 | +          features: | 
|  | 198 | +              - title: Pulumi IaC | 
|  | 199 | +                description: | | 
|  | 200 | +                    Utilize open-source IaC in TypeScript, Python, Go, C#, Java and YAML. Build and distribute reusable components for 170+ cloud & SaaS providers. | 
|  | 201 | +              - title: Pulumi ESC | 
|  | 202 | +                description: | | 
|  | 203 | +                    Centralized secrets management & orchestration. Tame secrets sprawl and configuration complexity securely across all your cloud infrastructure and applications. | 
|  | 204 | +              - title: Automate deployment workflows | 
|  | 205 | +                description: | | 
|  | 206 | +                    Orchestrate secure deployment workflows through GitHub or an API. | 
|  | 207 | +              - title: Search and analytics | 
|  | 208 | +                description: | | 
|  | 209 | +                    View resources from any cloud in one place. Search for resources across clouds with powerful queries and filters. | 
|  | 210 | +              - title: Pulumi Automation API | 
|  | 211 | +                description: | | 
|  | 212 | +                    Build custom deployment and CI/CD workflows that integrate with Pulumi Developer Portal, custom portals, or CLIs. | 
|  | 213 | +              - title: Developer portals | 
|  | 214 | +                description: | | 
|  | 215 | +                    Create internal developer portals to distribute infrastructure templates using Pulumi or the Backstage-plugin. | 
|  | 216 | +              - title: Identity and access control | 
|  | 217 | +                description: | | 
|  | 218 | +                    Manage teams with SCIM, SAML SSO, GitHub, GitLab, or Atlassian. Set permissions and access tokens. | 
|  | 219 | +              - title: Policy enforcement | 
|  | 220 | +                description: | | 
|  | 221 | +                    Build policy packs from 150 policies or write your own. Leverage compliance-ready policies for any cloud to increase compliance posture and remediation policies to correct violations. | 
|  | 222 | +              - title: Audit logs | 
|  | 223 | +                description: | | 
|  | 224 | +                    Track and store user actions and change history with option to export logs. | 
|  | 225 | +
 | 
|  | 226 | +case_studies: | 
|  | 227 | +    title: Customers innovating with Pulumi Cloud | 
|  | 228 | +    items: | 
|  | 229 | +        - name: Atlassian | 
|  | 230 | +          link: /case-studies/atlassian/ | 
|  | 231 | +          logo: atlassian | 
|  | 232 | +          description: | | 
|  | 233 | +            Developers reduced their time spent on maintenance by 50%. | 
|  | 234 | +
 | 
|  | 235 | +        - name: Elkjop | 
|  | 236 | +          link: /case-studies/elkjop-nordic/ | 
|  | 237 | +          logo: elkjop-nordic | 
|  | 238 | +          description: | | 
|  | 239 | +            Increased developers' agility and speed through platform engineering. | 
|  | 240 | +
 | 
|  | 241 | +        - name: Starburst | 
|  | 242 | +          link: /blog/how-starburst-data-creates-infrastructure-automation-magic-with-code/ | 
|  | 243 | +          logo: starburst | 
|  | 244 | +          description: | | 
|  | 245 | +            Increased velocity and speed, with deployments that are up to 3x faster. | 
|  | 246 | +
 | 
|  | 247 | +        - name: BMW | 
|  | 248 | +          link: /case-studies/bmw/ | 
|  | 249 | +          logo: bmw | 
|  | 250 | +          description: | | 
|  | 251 | +            Enabled developers to deploy across hybrid cloud environments. | 
|  | 252 | +
 | 
|  | 253 | +        - name: Lemonade | 
|  | 254 | +          link: /case-studies/lemonade/ | 
|  | 255 | +          logo: lemonade | 
|  | 256 | +          description: | | 
|  | 257 | +            Standardized infrastructure architectures with reusable components. | 
|  | 258 | +
 | 
|  | 259 | +        - name: Snowflake | 
|  | 260 | +          link: /case-studies/snowflake/ | 
|  | 261 | +          logo: snowflake | 
|  | 262 | +          description: | | 
|  | 263 | +            Built a multi-cloud, Kubernetes-based platform to standardize all deployments | 
|  | 264 | +--- | 
0 commit comments