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 Cloud Infrastructure as Code With .N...
Search
Hossam Barakat
November 19, 2021
Programming
0
61
Build Your Cloud Infrastructure as Code With .Net Core - Build Stuff
Hossam Barakat
November 19, 2021
Tweet
Share
More Decks by Hossam Barakat
See All by Hossam Barakat
Kubernetes Blue-Green Deployment Made Easy with Argo Rollouts - ADDO
hossambarakat
0
77
Build Your Azure Infrastructure as Code With .NET Core - Azure Day
hossambarakat
0
30
Build Your Azure Infrastructure as Code With .Net Core - Global Azure 2021
hossambarakat
0
42
Practical Domain-Driven Design with EF Core - NDC London 2021
hossambarakat
0
230
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
150
Kubernetes for Developers - All Day DevOps
hossambarakat
2
170
Secure your Kubernetes Containers - All Day DevOps
hossambarakat
0
110
Other Decks in Programming
See All in Programming
macOS でできる リアルタイム動画像処理
biacco42
7
2k
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
610
Progressive Web Apps für Desktop und Mobile mit Angular (Hands-on)
christianliebel
PRO
0
110
Pinia Colada が実現するスマートな非同期処理
naokihaba
2
160
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
370
gopls を改造したら開発生産性が高まった
satorunooshie
8
240
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
140
Synchronizationを支える技術
s_shimotori
1
150
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
150
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
160
2万ページのSSG運用における工夫と注意点 / Vue Fes Japan 2024
chinen
3
1.4k
推し活としてのrails new/oshikatsu_ha_iizo
sakahukamaki
3
1.7k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
167
14k
What's new in Ruby 2.0
geeforr
342
31k
Speed Design
sergeychernyshev
24
570
Faster Mobile Websites
deanohume
304
30k
Building Adaptive Systems
keathley
38
2.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
1.9k
Unsuck your backbone
ammeep
668
57k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Being A Developer After 40
akosma
86
590k
Typedesign – Prime Four
hannesfritz
39
2.4k
Why Our Code Smells
bkeepers
PRO
334
57k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Transcript
Build Your Azure Infrastructure as Code With .NET Core Hossam
Barakat Engineering Manager at Willow @hossambarakat_ | www.hossambarakat.net
@hossambarakat_ Data Centers
@hossambarakat_ Rise of Cloud Computing
@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_ Questions?
Thanks Hossam Barakat @hossambarakat_ www.hossambarakat.net