SlideShare a Scribd company logo
Infrastructure
as Code
using .NET
Swaminathan Vetri
BDotNet Meetup
May 2, 2020
Swaminathan Vetri
Architect @ Maersk Technology Center
Microsoft MVP – Developer Technologies
Organizer – BDotNet & Xhackers
svswaminathan
svswaminathan
swaminathanvetri.in
Swaminathanvetri
Photography, Blogging, Home automation
@svswaminathan | swaminathanvetri.in
Agenda
• What is Infrastructure as Code (IaC)
• What is Pulumi ?
• Why Pulumi ?
• Pulumi Core Concepts
• How Pulumi works ?
• Pulumi vs others
• Demo
@svswaminathan | swaminathanvetri.in
Infrastructure as Code (IaC)
• What ?
• Bring software best practices to
infrastructure management
• Provide collaboration to developers
on infrastructure changes
• Track changes from code commit to
deployment
• Why ?
• Replace manual error-prone
changes with automation
• Decrease time-to-market for new
applications and ongoing
maintenance
• Bring safety and predictability to
infrastructure
@svswaminathan | swaminathanvetri.in
Modern Infrastructure as Code
Create, Deploy, and Manage Infrastructure, on Any
Cloud, Using Any Language
The Pulumi Platform
DEFINE CLOUD INFRASTRUCTURE in your favorite general purpose language
REVIEW, TEST, AND VERSION cloud apps and infrastructure using familiar software engineering
techniques
ONE CONTINUOUS DELIVERY WORKFLOW on any cloud — public, private, or hybrid
ENFORCE POLICIES AND BEST PRACTICES with support for teams, policies, and controls
ELIMINATE SILOS BETWEEN DEV/SEC/OPS, using common languages, tools, and workflows
Pulumi: Use Cases
CONTAINERS
Deploy container-
based apps into any
cloud or cloud native
infrastructure, from
Kubernetes to ACI
KUBERNETES
Target on-premises or
cloud-based
Kubernetes services to
provision clusters, and
create, deploy, and
manage apps.
INFRASTRUCTURE
Managed cloud services
and infrastructure,
continuously deployed
and configured in a
robust and compliant
manner.
SERVERLESS
Easy and scalable
websites, event
streaming, and
processing with multi-
cloud microservices.
Core
Concepts
Programming Model
Projects
Stacks
Configuration & Secrets
State & Backends
@svswaminathan | swaminathanvetri.in
Programming
model
• Real programming languages
• Python, JS, TS, .NET (C#, F#, VB), Go
• Program Structure
• Program  Project  Stack
@svswaminathan | swaminathanvetri.in
Project
• Pulumi.yaml defines the
project.
• Name
• Runtime
• Description
• Config
• Backend
@svswaminathan | swaminathanvetri.in
Stack
• Every program is deployed to a Stack
• Isolated, Independently configurable instance
of a program
• Denotes different phase/environment like dev,
staging, prod etc.,
@svswaminathan | swaminathanvetri.in
Configuration & Secrets
• Configuration
• Configurations are stack
specific
• Key-Value pairs
• Managed via CLI &
Programming model
• Secrets
• Built-in secrets store for
storing sensitive config values
• Per Stack encryption
mechanism
• Supports Custom Encryption
Providers – AWS, Azure,
GCP, HashiCorp
@svswaminathan | swaminathanvetri.in
State & Backends
• State
• Current state of the infra
• Every infra update request
diffs against the current state
vs desired state
• Backends
• Backends maintains State
• Pulumi service backend
• Self managed backend
• Local
• Cloud Storage
@svswaminathan | swaminathanvetri.in
Pulumi SDK
• Resources
• Components
• Inputs and Outputs
• Stack Outputs
• Stack References
• Config
• Secrets
• Runtime Functions
@svswaminathan | swaminathanvetri.in
How Pulumi Works
?
• Courtesy :
https://www.pulumi.com/docs/intr
o/concepts/how-pulumi-works/
@svswaminathan | swaminathanvetri.in
Other
Features/Benefits
• Pulumi Console (app.pulumi.com)
• Unit Testing/Integration Testing
• Policy as Code
• Continuous Delivery Workflow
• Variety of Providers –
Cloud/Database/Monitoring/Infrastructure
• Flexible hosting options
@svswaminathan | swaminathanvetri.in
Pulumi Terraform ARM
Language
JavaScript, TypeScript,
Python, Go
Custom Language JSON
Clouds Public, Private, Hybrid Public, Private, Hybrid Azure only
Kubernetes Yes Limited No
Docker Workflows Yes Limited No
Easy Serverless Yes No No
Test Driven
Development
Yes No No
Policy as Code Yes / Open Source Proprietary No
Open Source Yes Yes No
Pulumi, ARM, Terraform Comparison
Deploy Code from/to Anywhere
SOURCE
CODE
LANGUAGES CI/CD ENVIRONMENT
S
Infrastructure as Code
Applications
Any Language
Let’s Code
Infrastructure
@svswaminathan | swaminathanvetri.in
Questions ??
Thank You
@svswaminathan | swaminathanvetri.in

More Related Content

What's hot (20)

PPTX
Azure DevOps Best Practices Webinar
Cambay Digital
 
PPTX
Leveraging Azure DevOps across the Enterprise
Andrew Kelleher
 
PPTX
Getting Started with Azure DevOps
Jessica Deen
 
PPTX
Azure DevOps - Version Controlling with Git
Eng Teong Cheah
 
PDF
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Edureka!
 
PPTX
Introduction to Azure DevOps
Lorenzo Barbieri
 
PPTX
Automated Release Pipelines with Azure DevOps
ProjectCon
 
PPTX
PowerShell and Azure DevOps
Matteo Emili
 
PDF
Azure DevOps for .NET - Fall into the Pit of Success, .NET Conf 2019
Jeffrey Palermo
 
PPTX
The Power of Azure DevOps
Jeff Bramwell
 
PPTX
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
PDF
Azure DevOps
Surasuk Oakkharaamonphong
 
PPTX
Modern CI/CD Pipeline Using Azure DevOps
GlobalLogic Ukraine
 
PPTX
Power of Azure Devops
Azure Riyadh User Group
 
PPTX
0 to hero with Azure DevOps
Christos Matskas
 
PDF
Azure DevOps Day - Trivandrum
Amal Dev
 
PDF
#SheSharp Conference - Azure DevOps for .NET
Jaqueline Ramos
 
PPTX
Azure DevOps: the future of integration and traceability
Lorenzo Barbieri
 
PDF
Workshop Azure DevOps | Docker | Azure Kubernetes Services
Norberto Enomoto
 
PPTX
The Power of Azure DevOps
Jeff Bramwell
 
Azure DevOps Best Practices Webinar
Cambay Digital
 
Leveraging Azure DevOps across the Enterprise
Andrew Kelleher
 
Getting Started with Azure DevOps
Jessica Deen
 
Azure DevOps - Version Controlling with Git
Eng Teong Cheah
 
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Edureka!
 
Introduction to Azure DevOps
Lorenzo Barbieri
 
Automated Release Pipelines with Azure DevOps
ProjectCon
 
PowerShell and Azure DevOps
Matteo Emili
 
Azure DevOps for .NET - Fall into the Pit of Success, .NET Conf 2019
Jeffrey Palermo
 
The Power of Azure DevOps
Jeff Bramwell
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
Modern CI/CD Pipeline Using Azure DevOps
GlobalLogic Ukraine
 
Power of Azure Devops
Azure Riyadh User Group
 
0 to hero with Azure DevOps
Christos Matskas
 
Azure DevOps Day - Trivandrum
Amal Dev
 
#SheSharp Conference - Azure DevOps for .NET
Jaqueline Ramos
 
Azure DevOps: the future of integration and traceability
Lorenzo Barbieri
 
Workshop Azure DevOps | Docker | Azure Kubernetes Services
Norberto Enomoto
 
The Power of Azure DevOps
Jeff Bramwell
 

Similar to Infrastructure automation with .NET (20)

PPTX
Azure infra automation using pulumi
Swaminathan Vetri
 
PDF
stackconf 2020 | Infrastructure as Software by Paul Stack
NETWAYS
 
PPTX
Pulumi. Modern Infrastructure as Code.
Yurii Bychenok
 
PDF
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Jonas Hecht
 
PPTX
usrbinkat-Pulumi-AIML-Talks-Orchestration.pptx
KathrynMorgan32
 
PPTX
Pulumi - IaC tool
Andrea Cirioni
 
PDF
Infrastructure as "Code" with Pulumi
Venura Athukorala
 
PPTX
Automate Infrastructure with Pulumi and C#
Dennis Doomen
 
PDF
Terraform vs Pulumi
HoaiNam307
 
PDF
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Vietnam Open Infrastructure User Group
 
PPTX
Pulumi iac on gcp
Vishwas N
 
PDF
Infraestructura como Codigo para Developers
Mario IC
 
PDF
Code to Kubernetes: Languages of Infrastructure
Ballerinalang
 
PDF
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
inovex GmbH
 
PDF
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
DiUS
 
PDF
Inrastructure as Code
Charles Anderson
 
PDF
Is Pulumi Better Than Terraform? A Comparative Analysis
Eva Brown
 
PDF
Clean Infrastructure as Code
QAware GmbH
 
PPTX
ThatConference 2016 - Highly Available Node.js
Brad Williams
 
PPTX
SynergyTop - Comparing Terraform Vs. Pulumi Which Infrastructure-As-Code (IaC...
SynergyTop Inc.
 
Azure infra automation using pulumi
Swaminathan Vetri
 
stackconf 2020 | Infrastructure as Software by Paul Stack
NETWAYS
 
Pulumi. Modern Infrastructure as Code.
Yurii Bychenok
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Jonas Hecht
 
usrbinkat-Pulumi-AIML-Talks-Orchestration.pptx
KathrynMorgan32
 
Pulumi - IaC tool
Andrea Cirioni
 
Infrastructure as "Code" with Pulumi
Venura Athukorala
 
Automate Infrastructure with Pulumi and C#
Dennis Doomen
 
Terraform vs Pulumi
HoaiNam307
 
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Vietnam Open Infrastructure User Group
 
Pulumi iac on gcp
Vishwas N
 
Infraestructura como Codigo para Developers
Mario IC
 
Code to Kubernetes: Languages of Infrastructure
Ballerinalang
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
inovex GmbH
 
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
DiUS
 
Inrastructure as Code
Charles Anderson
 
Is Pulumi Better Than Terraform? A Comparative Analysis
Eva Brown
 
Clean Infrastructure as Code
QAware GmbH
 
ThatConference 2016 - Highly Available Node.js
Brad Williams
 
SynergyTop - Comparing Terraform Vs. Pulumi Which Infrastructure-As-Code (IaC...
SynergyTop Inc.
 
Ad

More from Swaminathan Vetri (19)

PPTX
Getting Started with Azure AI Studio.pptx
Swaminathan Vetri
 
PPTX
Blueprint-for-designing-solutions-on-azure.pptx
Swaminathan Vetri
 
PPTX
Unlocking the potential of GitHub Copilot.pptx
Swaminathan Vetri
 
PPTX
Architecting multi-cloud ready applications
Swaminathan Vetri
 
PPTX
BDotNet - Microsoft Build 2023 After Party
Swaminathan Vetri
 
PPTX
AzureContainerAppswithDotNet_Pune_2022.pptx
Swaminathan Vetri
 
PPTX
Microservices and Service Mesh
Swaminathan Vetri
 
PPTX
CI/CD with GitHub Actions
Swaminathan Vetri
 
PPTX
Bye bye WCF, hello gRPC
Swaminathan Vetri
 
PPTX
Building cloud native apps
Swaminathan Vetri
 
PPTX
.Net Standard 2.0
Swaminathan Vetri
 
PPTX
Cross platform dotnet development using dotnet core
Swaminathan Vetri
 
PPTX
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
PPTX
CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
POTX
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Swaminathan Vetri
 
PPTX
Rapid mobile app development using Ionic framework
Swaminathan Vetri
 
PPTX
Entity Framework for Cross platform apps
Swaminathan Vetri
 
PPTX
Xamarin Dev Days - Intro to Xamarin
Swaminathan Vetri
 
PPTX
Getting Started with Ionic
Swaminathan Vetri
 
Getting Started with Azure AI Studio.pptx
Swaminathan Vetri
 
Blueprint-for-designing-solutions-on-azure.pptx
Swaminathan Vetri
 
Unlocking the potential of GitHub Copilot.pptx
Swaminathan Vetri
 
Architecting multi-cloud ready applications
Swaminathan Vetri
 
BDotNet - Microsoft Build 2023 After Party
Swaminathan Vetri
 
AzureContainerAppswithDotNet_Pune_2022.pptx
Swaminathan Vetri
 
Microservices and Service Mesh
Swaminathan Vetri
 
CI/CD with GitHub Actions
Swaminathan Vetri
 
Bye bye WCF, hello gRPC
Swaminathan Vetri
 
Building cloud native apps
Swaminathan Vetri
 
.Net Standard 2.0
Swaminathan Vetri
 
Cross platform dotnet development using dotnet core
Swaminathan Vetri
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Swaminathan Vetri
 
Rapid mobile app development using Ionic framework
Swaminathan Vetri
 
Entity Framework for Cross platform apps
Swaminathan Vetri
 
Xamarin Dev Days - Intro to Xamarin
Swaminathan Vetri
 
Getting Started with Ionic
Swaminathan Vetri
 
Ad

Recently uploaded (20)

PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
[GDGoC FPTU] Spring 2025 Summary Slidess
minhtrietgect
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
PDF
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
PDF
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
PDF
Home Cleaning App Development Services.pdf
V3cube
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
PPTX
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
[GDGoC FPTU] Spring 2025 Summary Slidess
minhtrietgect
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
Home Cleaning App Development Services.pdf
V3cube
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 

Infrastructure automation with .NET

  • 1. Infrastructure as Code using .NET Swaminathan Vetri BDotNet Meetup May 2, 2020
  • 2. Swaminathan Vetri Architect @ Maersk Technology Center Microsoft MVP – Developer Technologies Organizer – BDotNet & Xhackers svswaminathan svswaminathan swaminathanvetri.in Swaminathanvetri Photography, Blogging, Home automation @svswaminathan | swaminathanvetri.in
  • 3. Agenda • What is Infrastructure as Code (IaC) • What is Pulumi ? • Why Pulumi ? • Pulumi Core Concepts • How Pulumi works ? • Pulumi vs others • Demo @svswaminathan | swaminathanvetri.in
  • 4. Infrastructure as Code (IaC) • What ? • Bring software best practices to infrastructure management • Provide collaboration to developers on infrastructure changes • Track changes from code commit to deployment • Why ? • Replace manual error-prone changes with automation • Decrease time-to-market for new applications and ongoing maintenance • Bring safety and predictability to infrastructure @svswaminathan | swaminathanvetri.in
  • 5. Modern Infrastructure as Code Create, Deploy, and Manage Infrastructure, on Any Cloud, Using Any Language
  • 6. The Pulumi Platform DEFINE CLOUD INFRASTRUCTURE in your favorite general purpose language REVIEW, TEST, AND VERSION cloud apps and infrastructure using familiar software engineering techniques ONE CONTINUOUS DELIVERY WORKFLOW on any cloud — public, private, or hybrid ENFORCE POLICIES AND BEST PRACTICES with support for teams, policies, and controls ELIMINATE SILOS BETWEEN DEV/SEC/OPS, using common languages, tools, and workflows
  • 7. Pulumi: Use Cases CONTAINERS Deploy container- based apps into any cloud or cloud native infrastructure, from Kubernetes to ACI KUBERNETES Target on-premises or cloud-based Kubernetes services to provision clusters, and create, deploy, and manage apps. INFRASTRUCTURE Managed cloud services and infrastructure, continuously deployed and configured in a robust and compliant manner. SERVERLESS Easy and scalable websites, event streaming, and processing with multi- cloud microservices.
  • 8. Core Concepts Programming Model Projects Stacks Configuration & Secrets State & Backends @svswaminathan | swaminathanvetri.in
  • 9. Programming model • Real programming languages • Python, JS, TS, .NET (C#, F#, VB), Go • Program Structure • Program  Project  Stack @svswaminathan | swaminathanvetri.in
  • 10. Project • Pulumi.yaml defines the project. • Name • Runtime • Description • Config • Backend @svswaminathan | swaminathanvetri.in
  • 11. Stack • Every program is deployed to a Stack • Isolated, Independently configurable instance of a program • Denotes different phase/environment like dev, staging, prod etc., @svswaminathan | swaminathanvetri.in
  • 12. Configuration & Secrets • Configuration • Configurations are stack specific • Key-Value pairs • Managed via CLI & Programming model • Secrets • Built-in secrets store for storing sensitive config values • Per Stack encryption mechanism • Supports Custom Encryption Providers – AWS, Azure, GCP, HashiCorp @svswaminathan | swaminathanvetri.in
  • 13. State & Backends • State • Current state of the infra • Every infra update request diffs against the current state vs desired state • Backends • Backends maintains State • Pulumi service backend • Self managed backend • Local • Cloud Storage @svswaminathan | swaminathanvetri.in
  • 14. Pulumi SDK • Resources • Components • Inputs and Outputs • Stack Outputs • Stack References • Config • Secrets • Runtime Functions @svswaminathan | swaminathanvetri.in
  • 15. How Pulumi Works ? • Courtesy : https://www.pulumi.com/docs/intr o/concepts/how-pulumi-works/ @svswaminathan | swaminathanvetri.in
  • 16. Other Features/Benefits • Pulumi Console (app.pulumi.com) • Unit Testing/Integration Testing • Policy as Code • Continuous Delivery Workflow • Variety of Providers – Cloud/Database/Monitoring/Infrastructure • Flexible hosting options @svswaminathan | swaminathanvetri.in
  • 17. Pulumi Terraform ARM Language JavaScript, TypeScript, Python, Go Custom Language JSON Clouds Public, Private, Hybrid Public, Private, Hybrid Azure only Kubernetes Yes Limited No Docker Workflows Yes Limited No Easy Serverless Yes No No Test Driven Development Yes No No Policy as Code Yes / Open Source Proprietary No Open Source Yes Yes No Pulumi, ARM, Terraform Comparison
  • 18. Deploy Code from/to Anywhere SOURCE CODE LANGUAGES CI/CD ENVIRONMENT S Infrastructure as Code Applications Any Language
  • 20. Questions ?? Thank You @svswaminathan | swaminathanvetri.in

Editor's Notes

  • #8: Needs updating to not use cloud-* packages