SlideShare a Scribd company logo
Azure Infra
Automation
using .NET
with Pulumi
Swaminathan Vetri
Virtual Global Azure – 2020
Mumbai Microsoft .NET Meetup | Dear Azure
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
• Pulumi SDK
• Resources
• Components
• Inputs and Outputs
• Stack Outputs
• Stack References
• Config
• Secrets
• Runtime Functions
@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
How Pulumi
Works ?
Courtesy : https://www.pulumi.com/docs/intro/concepts/how-pulumi-works/
@svswaminathan | swaminathanvetri.in
Other Features
• Pulumi Console
• 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
Demo
@svswaminathan | swaminathanvetri.in
Questions ??
Thank You
@svswaminathan | swaminathanvetri.in

More Related Content

PPTX
Serverless in azure
PDF
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
PPTX
Azure Batch and MPI
PPTX
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
PPTX
GAB 2017 - Logic Apps and Azure Functions
PPTX
Expose BizTalk to the world (ACSUG)
PPTX
Azure PaaS (WebApp & SQL Database) workshop solution
PPTX
Serverless Summit India 2017: Fission
Serverless in azure
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Azure Batch and MPI
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
GAB 2017 - Logic Apps and Azure Functions
Expose BizTalk to the world (ACSUG)
Azure PaaS (WebApp & SQL Database) workshop solution
Serverless Summit India 2017: Fission

What's hot (20)

PPTX
Dev day serverless from a devs perspective
PPTX
Deep dive into Conversational Ai development
PPTX
Microservices, Spring Cloud & Cloud Foundry
PDF
Microservices
PPTX
Azure functions
PPTX
Serverless Application Development with Azure
PDF
Go Serverless with Java and Azure Functions
PPTX
Microservices without servers
PPTX
Serverless Computing With Azure Functions
PPTX
Azure Functions for Python developers
PPTX
Azure saturday Pordenone 2019 - ML.NET model lifecycle with azure devops
PDF
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
PPTX
Service Management Automation (SMA) from zero to hero
PDF
Deploy your machine learning models to production with Kubernetes
PPTX
SPS calgary 2017 introduction to azure functions microsoft flow
PPTX
Azure Functions 101
PDF
Serverless Summit - Quiz
PPTX
Tokyo Azure Meetup #6 - Azure Monthly Update - June
PPTX
Tokyo Azure Meetup #4 - Build 2016 Overview
PPTX
Entity Framework 7: What's New?
Dev day serverless from a devs perspective
Deep dive into Conversational Ai development
Microservices, Spring Cloud & Cloud Foundry
Microservices
Azure functions
Serverless Application Development with Azure
Go Serverless with Java and Azure Functions
Microservices without servers
Serverless Computing With Azure Functions
Azure Functions for Python developers
Azure saturday Pordenone 2019 - ML.NET model lifecycle with azure devops
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
Service Management Automation (SMA) from zero to hero
Deploy your machine learning models to production with Kubernetes
SPS calgary 2017 introduction to azure functions microsoft flow
Azure Functions 101
Serverless Summit - Quiz
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #4 - Build 2016 Overview
Entity Framework 7: What's New?
Ad

Similar to Azure infra automation using pulumi (20)

PPTX
Infrastructure automation with .NET
PDF
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PPTX
Tokyo azure meetup #8 - Azure Update, August
PPTX
Tokyo azure meetup #8 azure update, august
PPTX
NIC - Windows Azure Pack - Level 300
PPTX
How to build a serverless helmet detection system
PPTX
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
PPTX
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
PPT
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
PPT
Flying to clouds - can it be easy? Cloud Native Applications
PPTX
Un-clouding the cloud
PPTX
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
PDF
9 - Making Sense of Containers in the Microsoft Cloud
PDF
How to grow your own Microservice?
PDF
Sitecore 8.2 Update 1 on Azure Web Apps
PDF
JAX 2014 - The PaaS to a better IT architecture.
PPTX
Building Cloud Native Applications Using Spring Boot and Spring Cloud
PPTX
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
PPTX
.NET microservices with Azure Service Fabric
PPTX
Cloud migration Through Automation
Infrastructure automation with .NET
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 azure update, august
NIC - Windows Azure Pack - Level 300
How to build a serverless helmet detection system
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
Flying to clouds - can it be easy? Cloud Native Applications
Un-clouding the cloud
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
9 - Making Sense of Containers in the Microsoft Cloud
How to grow your own Microservice?
Sitecore 8.2 Update 1 on Azure Web Apps
JAX 2014 - The PaaS to a better IT architecture.
Building Cloud Native Applications Using Spring Boot and Spring Cloud
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
.NET microservices with Azure Service Fabric
Cloud migration Through Automation
Ad

More from Swaminathan Vetri (20)

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

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Empathic Computing: Creating Shared Understanding
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Modernizing your data center with Dell and AMD
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Empathic Computing: Creating Shared Understanding
Dropbox Q2 2025 Financial Results & Investor Presentation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Chapter 3 Spatial Domain Image Processing.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Azure infra automation using pulumi

  • 1. Azure Infra Automation using .NET with Pulumi Swaminathan Vetri Virtual Global Azure – 2020 Mumbai Microsoft .NET Meetup | Dear Azure
  • 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 • Pulumi SDK • Resources • Components • Inputs and Outputs • Stack Outputs • Stack References • Config • Secrets • Runtime Functions @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. How Pulumi Works ? Courtesy : https://www.pulumi.com/docs/intro/concepts/how-pulumi-works/ @svswaminathan | swaminathanvetri.in
  • 15. Other Features • Pulumi Console • Unit Testing/Integration Testing • Policy as Code • Continuous Delivery Workflow • Variety of Providers – Cloud/Database/Monitoring/Infrastructure • Flexible hosting options @svswaminathan | swaminathanvetri.in
  • 16. 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
  • 17. Deploy Code from/to Anywhere SOURCE CODE LANGUAGES CI/CD ENVIRONMENT S Infrastructure as Code Applications Any Language
  • 19. Questions ?? Thank You @svswaminathan | swaminathanvetri.in

Editor's Notes

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