Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Build Your Azure Infrastructure as Code With .NET Core - Azure Day
Search
Hossam Barakat
June 25, 2021
Technology
0
30
Build Your Azure Infrastructure as Code With .NET Core - Azure Day
Hossam Barakat
June 25, 2021
Tweet
Share
More Decks by Hossam Barakat
See All by Hossam Barakat
Build Your Cloud Infrastructure as Code With .Net Core - Build Stuff
hossambarakat
0
57
Kubernetes Blue-Green Deployment Made Easy with Argo Rollouts - ADDO
hossambarakat
0
62
Build Your Azure Infrastructure as Code With .Net Core - Global Azure 2021
hossambarakat
0
37
Practical Domain-Driven Design with EF Core - NDC London 2021
hossambarakat
0
220
Build Your Cloud Infrastructure as Code With .Net Core - ADDO 2020
hossambarakat
0
120
Practical Domain Driven Design With EFCore - NDC Sydney 2020
hossambarakat
0
130
Build Your Cloud Infrastructure as Code With .Net Core - NDC Porto 2020
hossambarakat
2
130
Kubernetes for Developers - All Day DevOps
hossambarakat
2
150
Secure your Kubernetes Containers - All Day DevOps
hossambarakat
0
110
Other Decks in Technology
See All in Technology
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
570
require(ESM)とECMAScript仕様
uhyo
3
640
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
kenjikondobai
2
530
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
310
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
610
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
VS CodeでAWSを操作しよう
smt7174
8
1.7k
ServiceNow Knowledge Learning Rise up
manarobot
0
210
本当のAWS基礎
toru_kubota
0
520
JSON攻略法.pdf
miyakemito
8
5k
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
380
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
How to Ace a Technical Interview
jacobian
272
22k
Infographics Made Easy
chrislema
238
18k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Clear Off the Table
cherdarchuk
84
310k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Writing Fast Ruby
sferik
621
60k
Transcript
Build Your Azure Infrastructure as Code With .NET Core Hossam
Barakat Engineering Manager at Willow @hossambarakat_ | www.hossambarakat.net
@hossambarakat_ How to provision cloud resources?
@hossambarakat_ Manual AKA Point and Click
@hossambarakat_ Manual AKA Point and Click
@hossambarakat_ Snowflake Servers
@hossambarakat_ Infrastructure as Code
@hossambarakat_ • Managing and provisioning cloud resources using code. Infrastructure
as Code
@hossambarakat_ Imperative: CLI commands and scripts
@hossambarakat_ Idempotency and error handling
@hossambarakat_ Declarative Infrastructure as Code
@hossambarakat_ Tool Declarative Infrastructure as Code Desired State Actual Resources
@hossambarakat_ • Azure Resource Manager • Terraform • Bicep •
AWS CloudFormation • Google Deployment Manager • … Declarative Infrastructure as Code tools
@hossambarakat_ • JSON, YAML, domain specific languages (DSLs),… Infrastructure as
Code tools
@hossambarakat_
@hossambarakat_ Enter Pulumi
@hossambarakat_ • Pulumi is an open source infrastructure as code
tool the lets you use real languages – C#, TypeScript, Go,… – to provision and manage cloud resources. What is Pulumi?
@hossambarakat_ • Control flow with loops and if conditions •
Abstraction with functions, classes, packages,… • Code sharing with package management (Nuget, npm,…) • Authoring with favourite IDEs, refactoring, code completion, static type checking • Testing with existing frameworks and tools Benefits
@hossambarakat_
@hossambarakat_ Pulumi Fundamentals
@hossambarakat_ Projects & Stacks web-app (Pulumi.yaml) Project $ pulumi new
Stacks $ pulumi stack init stackName Pulumi.<stack-name>.yaml Pulumi.yaml
@hossambarakat_ Configurations $ pulumi config set dbPassword S3cr37 config: serverless-app:dbPassword:
S3cr37 Pulumi.<stack-name>.yaml var config = new Pulumi.Config(); var password = config.Require("dbPassword"); Pulumi.cs
@hossambarakat_ Application architecture on Azure
@hossambarakat_
@hossambarakat_ But that would be imperative, right?
@hossambarakat_ How Pulumi Works State CLI and Engine AWS Azure
Kubernetes Providers Code Plan Apply new Resource()
@hossambarakat_ Continuous Deployment Infrastructure as Code Manual Review State
@hossambarakat_ GitHub Integration
@hossambarakat_ Summary
@hossambarakat_
@hossambarakat_ • https://github.com/hossambarakat/pulumi-demos • http://pulumi.com/docs • https://github.com/pulumi/examples Resources
@hossambarakat_ Questions?
Thanks Hossam Barakat @hossambarakat_ www.hossambarakat.net