際際滷

際際滷Share a Scribd company logo
Infrastructure as Code with
Pulumi
Venura Athukorala [@venura9]

Practice Lead - Azure @AC3
Agenda
 What?

 Basics and CLI

 Code

 Automate
What is Git-鍖ow?
What is IaC?
Infrastructure De鍖nition
Dev
Prod
Git Git-鍖ow Orchestration Infra
What is Pulumi?
 Modern infrastructure as code platform.

 CLI, runtime, libraries, and a hosted service

 TypeScript, JavaScript, Python, Go,
and .NET, and their native tools, libraries,
and package managers.
What programming languages?
 Node.js - JavaScript, TypeScript, or any other Node.js compatible
language

 Python - Python 3.6 or greater

 .NET Core - C#, F#, and Visual Basic on .NET Core 3.1 or greater

 Go - statically compiled Go binaries
What providers?
https://www.pulumi.com/docs/intro/cloud-providers/
What about others?
Frequency of
Update
Community
Infrastructure
Size
Tooling
E.g., Error,
Logging,
Extras
State
Management
Stack
Management
Modularisatio
n
Language
ARM Highest Highest
Small-Medium

Medium Yes No Moderate JSON
Terraform Medium High Any High Yes Yes Easy HCL
API Highest Low Small Low Custom Custom Easy Any
SDK High Low Any Low Custom Custom Easy Many
Pulumi Medium Low Any High Yes Yes Easy Many
CLI Highest High Small Medium No Custom Easy PS/Shell
Getting Started
# Install on macos
$ brew install pulumi
# Install on linux
$ curl -fsSL https://get.pulumi.com | sh
# Install Python
$ brew install python
# Pulumi uses `az` when not using a Service Principal
$ az login
$ az account set --subscription venura9
https://www.pulumi.com/docs/get-started/
# New Project
$ pulumi new azure-python
Murphy's law
Anything that can go wrong will go wrong
Anonymous
Enough 際際滷s!
Thank you!

More Related Content

Infrastructure as "Code" with Pulumi

  • 1. Infrastructure as Code with Pulumi Venura Athukorala [@venura9] Practice Lead - Azure @AC3
  • 2. Agenda What? Basics and CLI Code Automate
  • 4. What is IaC? Infrastructure De鍖nition Dev Prod Git Git-鍖ow Orchestration Infra
  • 5. What is Pulumi? Modern infrastructure as code platform. CLI, runtime, libraries, and a hosted service TypeScript, JavaScript, Python, Go, and .NET, and their native tools, libraries, and package managers.
  • 6. What programming languages? Node.js - JavaScript, TypeScript, or any other Node.js compatible language Python - Python 3.6 or greater .NET Core - C#, F#, and Visual Basic on .NET Core 3.1 or greater Go - statically compiled Go binaries
  • 8. What about others? Frequency of Update Community Infrastructure Size Tooling E.g., Error, Logging, Extras State Management Stack Management Modularisatio n Language ARM Highest Highest Small-Medium Medium Yes No Moderate JSON Terraform Medium High Any High Yes Yes Easy HCL API Highest Low Small Low Custom Custom Easy Any SDK High Low Any Low Custom Custom Easy Many Pulumi Medium Low Any High Yes Yes Easy Many CLI Highest High Small Medium No Custom Easy PS/Shell
  • 9. Getting Started # Install on macos $ brew install pulumi # Install on linux $ curl -fsSL https://get.pulumi.com | sh # Install Python $ brew install python # Pulumi uses `az` when not using a Service Principal $ az login $ az account set --subscription venura9 https://www.pulumi.com/docs/get-started/ # New Project $ pulumi new azure-python
  • 10. Murphy's law Anything that can go wrong will go wrong