2022-04-23 00:47:29 +03:00

110 lines
5.8 KiB
Markdown

---
title: Infrastructure CI/CD
meta_desc: Learn how Pulumi can help you automate the testing, provisioning, and management of infrastructure through a software delivery pipeline.
type: page
layout: solutions-use-case
overview:
title: Shifting left infrastructure
image: /images/solutions/git-ops/git-ops-main-diagram.svg
description: |
Infrastructure CI/CD (aka Infrastructure Shift Left or GitOps) is the process of automating the testing, provisioning, and management of infrastructure through a software delivery pipeline. This starts with Infrastructure as Code (IaC), which is provisioning and managing infrastructure through definition files (e.g. templates or code) and stored in version control systems. IaC provides automation to provision infrastructure and increases delivery velocity by removing the risk of human errors. Infrastructure CI/CD further automates infrastructure provisioning and management by building the entire IaC process into a CI/CD pipeline. All infrastructure updates run through a standard set of unit and integration tests, allowing reduced errors, greater security, and increased delivery velocity.
benefits:
title: Why Infrastructure CI/CD?
benefits:
title: Benefits
items:
- title: Increase release velocity
icon: code
icon_color: yellow
description: |
Application changes with their corresponding infrastructure changes can all share one automated pipeline, reducing complexity and increasing release velocity.
- title: Increase reliability
icon: global
icon_color: yellow
description: |
Every infrastructure update is run through a standard set of unit and integration tests, identifying and addressing bugs earlier and increasing reliability.
- title: Reduce mean time to resolution
icon: puzzle
icon_color: yellow
description: |
Small code changes are encouraged which reduces the scale of infrastructure changes and isolates faults, which reduces the mean time to resolution.
help:
title: How Pulumi helps
items:
- title: Unified delivery pipeline
icon: rocketship
icon_color: salmon
description: |
Pulumi allows the same programming languages used for application code to be used for infrastructure. This allows teams to leverage the same testing frameworks and same delivery process for both.
- title: Shareable infrastructure components
icon: gear
icon_color: salmon
description: |
Pulumi provides a shared way for teams to collaborate with each other on infrastructure through modular and reusable components that can easily be built and shared across the entire organization.
- title: Higher order automation
icon: eye
icon_color: salmon
description: |
You can increase automation across the entire lifecycle of your cloud infrastructure. You can program logic that orchestrates complex workflows during infrastructure provisioning instead of needing to use Bash scripts or glue code. In addition to its CLI, Pulumi provides the Automation API, a programmatic interface for IaC, so you can build applications that dynamically manage infrastructure.
diagrams:
title: GitOps Workflow Reference Architecture
items:
- title: 1. Pick an execution platform
image: /images/solutions/git-ops/git-ops-diagram-one.svg
content: |
There are many methods by which you can execute a Pulumi program. You need to pick a platform from which Pulumi programs will execute.
- title: 2. Define the environment/branching strategy
image: /images/solutions/git-ops/git-ops-diagram-two.svg
content: |
Define whether you want one git repo to represent your entire infrastructure or whether you want a stack per branch. The advantage of the former is simplicity while the advantage of the latter is more granularity in control over stack deployments.
- title: 3. Build the pipelines
image: /images/solutions/git-ops/git-ops-diagram-three.svg
content: |
Based on the branching strategy you chose, you can configure a pipeline per stack or a single pipeline that chooses stacks based on deployment flags.
- title: 4. Incorporate software development best practices
image: /images/solutions/git-ops/git-ops-diagram-four.svg
content: |
Legacy IaC tools can run in CI/CD, however with Pulumi, you can incorporate in all the best practice software development practices such as testing. You can design what you want to test in terms of quality issues, deployment issues, and/or code quality checks.
- title: 5. Define higher-level workflows
image: /images/solutions/git-ops/git-ops-diagram-five.svg
content: |
With Automation API, you can build higher-order orchestration type workflows across all your infrastructure deployments. You can build in serial or branching dependencies that are connected together via StackReferences.
customer_logos:
title: Organizations practicing infrastructure CI/CD with Pulumi
logos:
- name: sans
link: /case-studies/sans-institute
- name: skai
link: /blog/kenshoo-migrates-to-aws-with-pulumi
- name: atlassian
link: /case-studies/atlassian
- name: panther-labs
link: /case-studies/panther-labs
- name: whylabs
link: /case-studies/whylabs
get_started:
title: Getting started
get_started:
title: Talk with solution engineering
description: |
Schedule some time with our solution engineering team, and we will help you automate your entire infrastructure provisioning and management through a CI/CD pipeline.
cta_text: Schedule now
---