SlideShare a Scribd company logo
1 of 19
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

What's hot

Dev day serverless from a devs perspective
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspectivebartlannoeye
 
Deep dive into Conversational Ai development
Deep dive into Conversational Ai developmentDeep dive into Conversational Ai development
Deep dive into Conversational Ai developmentMarco Parenzan
 
Microservices, Spring Cloud & Cloud Foundry
Microservices, Spring Cloud & Cloud FoundryMicroservices, Spring Cloud & Cloud Foundry
Microservices, Spring Cloud & Cloud FoundryEmilio Garcia
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with AzureCallon Campbell
 
Go Serverless with Java and Azure Functions
Go Serverless with Java and Azure FunctionsGo Serverless with Java and Azure Functions
Go Serverless with Java and Azure FunctionsCodeOps Technologies LLP
 
Microservices without servers
Microservices without serversMicroservices without servers
Microservices without servers99X Technology
 
Serverless Computing With Azure Functions
Serverless Computing With Azure FunctionsServerless Computing With Azure Functions
Serverless Computing With Azure FunctionsJaliya Udagedara
 
Azure Functions for Python developers
Azure Functions for Python developersAzure Functions for Python developers
Azure Functions for Python developersHansamali Gamage
 
Azure saturday Pordenone 2019 - ML.NET model lifecycle with azure devops
Azure saturday Pordenone 2019 - ML.NET model lifecycle with azure devopsAzure saturday Pordenone 2019 - ML.NET model lifecycle with azure devops
Azure saturday Pordenone 2019 - ML.NET model lifecycle with azure devopsMarco Zamana
 
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan ShekarIoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan ShekarCodeOps Technologies LLP
 
Service Management Automation (SMA) from zero to hero
Service Management Automation (SMA) from zero to heroService Management Automation (SMA) from zero to hero
Service Management Automation (SMA) from zero to heroMichael Rüefli
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowVincent Biret
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 OverviewTokyo Azure Meetup
 
Entity Framework 7: What's New?
Entity Framework 7: What's New?Entity Framework 7: What's New?
Entity Framework 7: What's New?Ricardo Peres
 

What's hot (20)

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

Similar to Azure Infra Automation using .NET with Pulumi

Infrastructure automation with .NET
Infrastructure automation with .NETInfrastructure automation with .NET
Infrastructure automation with .NETSwaminathan Vetri
 
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...Puppet
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, augustTokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustKanio Dimitrov
 
NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300Kristian Nese
 
How to build a serverless helmet detection system
How to build a serverless helmet detection systemHow to build a serverless helmet detection system
How to build a serverless helmet detection systemMandar Dharmadhikari
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops OverviewJoel W. King
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Gilad Garon
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?PROIDEA
 
Flying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsFlying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsJacek Bukowski
 
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...Puppet
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft CloudKangaroot
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?Dmitry Buzdin
 
Sitecore 8.2 Update 1 on Azure Web Apps
Sitecore 8.2 Update 1 on Azure Web AppsSitecore 8.2 Update 1 on Azure Web Apps
Sitecore 8.2 Update 1 on Azure Web AppsRob Habraken
 
JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.JAX 2014 - The PaaS to a better IT architecture.
JAX 2014 - The PaaS to a better IT architecture.Sebastian Faulhaber
 
Building Cloud Native Applications Using Spring Boot and Spring Cloud
Building Cloud Native Applications Using Spring Boot and Spring CloudBuilding Cloud Native Applications Using Spring Boot and Spring Cloud
Building Cloud Native Applications Using Spring Boot and Spring CloudGeekNightHyderabad
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...DevOps4Networks
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 

Similar to Azure Infra Automation using .NET with Pulumi (20)

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

More from Swaminathan Vetri

Architecting multi-cloud ready applications
Architecting multi-cloud ready applicationsArchitecting multi-cloud ready applications
Architecting multi-cloud ready applicationsSwaminathan Vetri
 
BDotNet - Microsoft Build 2023 After Party
BDotNet - Microsoft Build 2023 After Party BDotNet - Microsoft Build 2023 After Party
BDotNet - Microsoft Build 2023 After Party Swaminathan Vetri
 
AzureContainerAppswithDotNet_Pune_2022.pptx
AzureContainerAppswithDotNet_Pune_2022.pptxAzureContainerAppswithDotNet_Pune_2022.pptx
AzureContainerAppswithDotNet_Pune_2022.pptxSwaminathan Vetri
 
Microservices and Service Mesh
Microservices and Service MeshMicroservices and Service Mesh
Microservices and Service MeshSwaminathan Vetri
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreSwaminathan Vetri
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using DockerUnicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using DockerSwaminathan Vetri
 
CI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using DockerCI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using DockerSwaminathan Vetri
 
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruDeploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local BengaluruSwaminathan Vetri
 
Rapid mobile app development using Ionic framework
Rapid mobile app development using Ionic frameworkRapid mobile app development using Ionic framework
Rapid mobile app development using Ionic frameworkSwaminathan Vetri
 
Entity Framework for Cross platform apps
Entity Framework for Cross platform appsEntity Framework for Cross platform apps
Entity Framework for Cross platform appsSwaminathan Vetri
 
Xamarin Dev Days - Intro to Xamarin
Xamarin Dev Days - Intro to XamarinXamarin Dev Days - Intro to Xamarin
Xamarin Dev Days - Intro to XamarinSwaminathan Vetri
 

More from Swaminathan Vetri (17)

Architecting multi-cloud ready applications
Architecting multi-cloud ready applicationsArchitecting multi-cloud ready applications
Architecting multi-cloud ready applications
 
BDotNet - Microsoft Build 2023 After Party
BDotNet - Microsoft Build 2023 After Party BDotNet - Microsoft Build 2023 After Party
BDotNet - Microsoft Build 2023 After Party
 
AzureContainerAppswithDotNet_Pune_2022.pptx
AzureContainerAppswithDotNet_Pune_2022.pptxAzureContainerAppswithDotNet_Pune_2022.pptx
AzureContainerAppswithDotNet_Pune_2022.pptx
 
Microservices and Service Mesh
Microservices and Service MeshMicroservices and Service Mesh
Microservices and Service Mesh
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
Bye bye WCF, hello gRPC
Bye bye WCF, hello gRPCBye bye WCF, hello gRPC
Bye bye WCF, hello gRPC
 
Building cloud native apps
Building cloud native appsBuilding cloud native apps
Building cloud native apps
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
.Net Standard 2.0
.Net Standard 2.0.Net Standard 2.0
.Net Standard 2.0
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
 
Unicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using DockerUnicom DevCon - CI/CD for Asp.net core apps using Docker
Unicom DevCon - CI/CD for Asp.net core apps using Docker
 
CI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using DockerCI/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
Deploying .net core apps to Docker - dotnetConf Local BengaluruDeploying .net core apps to Docker - dotnetConf Local Bengaluru
Deploying .net core apps to Docker - dotnetConf Local Bengaluru
 
Rapid mobile app development using Ionic framework
Rapid mobile app development using Ionic frameworkRapid mobile app development using Ionic framework
Rapid mobile app development using Ionic framework
 
Entity Framework for Cross platform apps
Entity Framework for Cross platform appsEntity Framework for Cross platform apps
Entity Framework for Cross platform apps
 
Xamarin Dev Days - Intro to Xamarin
Xamarin Dev Days - Intro to XamarinXamarin Dev Days - Intro to Xamarin
Xamarin Dev Days - Intro to Xamarin
 
Getting Started with Ionic
Getting Started with IonicGetting Started with Ionic
Getting Started with Ionic
 

Recently uploaded

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Azure Infra Automation using .NET with 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

  1. Needs updating to not use cloud-* packages