|
| 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