SlideShare a Scribd company logo
1 of 35
Download to read offline
I
N
F
R
A
S
T
R
U
C
T
U
R
E
D
Getting Started with Infrastructure-as-Code
IAC 101
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
HELLO THERE! 👋
Who IS this guy?
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
A LITTLE BIT ABOUT ME
• NC Native [almost]
• Former Cryptolinguist
• Husband and Father
• 3 Gartner Magic Quadrants
• 2 CNCF Tech Radars
• 14 Years in the Cloud and Infrastructure Space
• Recently started Infrastructured
People call me
phil
... and sometimes paul
Presentation
Highlights
Focus areas
- The history of IaC
- What is IaC
- The current IaC ecosystem
- IaC best practices
- Closing summary
- About Infrastructured
Infrastructured • feb. 09, 2023
> USING CODE
A History of
Infrastructure
AUtomation
Infrastructured • feb. 09, 2023
Timeline
IaC Evolved
1975
Systems Scripting via PWB shell
1993
Configuration-as-Code via CFEngine
2010
Infrastructure-as-Code via CloudFormation
Infrastructured • feb. 09, 2023
Systems
Scripting
• Bash
• PowerShell
• PowerCLI
• Perl
Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023
Tools such as:
Configuration
-as-Code
• CFEngine
• Chef
• Puppet
• Ansible
Tools such as:
If we have
all these
tools, why
do we need
Iac?
API DRIVEN INFRASTRUCTURE
DIGITAL TRANSFORMATION
EVERYTHING AS SOFTWARE
Infrastructured • feb. 09, 2023
The Right Tool for the Right Job!
INFRASTRUCTURE-AS-CODE
Use to provision and manage
your cloud infrastructure
CONFIGURATION-AS-CODE
Use to configure the services
running on your cloud
infrastructure
Infrastructured • feb. 09, 2023
IFRASTRUCTURE-AS-CODE, DUH!
What even is IaC?
Infrastructured • feb. 09, 2023
Infrastructure-as-Code
EVOLUTION OF SYSTEMS
AUTOMATION
SPECIFICALLY DESIGNED FOR
API DRIVEN INFRASTRUCTURE
Infrastructured • feb. 09, 2023
IaC Use
Cases
IDEMPOTENT OPERATIONS CHANGE MANAGEMENT
COLLABORATION TESTING
Infrastructured • feb. 09, 2023
Idempotent
Operations
idempotence?
A quality of an action such that
repetitions of the action have no
further effect on outcome
What it means for Iac
Each time you run your IaC
configuration, you get the same
results.
e.g. You have an IaC config for a
single ec2 instance. Each time you run
it you are left with a single ec2
instance.
Infrastructured • feb. 09, 2023
Change
Management
What's that?
The controlled implementation of
required changes to some system
What it means for Iac
Easy to store IaC in a version control
system such as Git
Every infrastructure change can be
tracked, checked for compliance, and
attributed before deployment
Changes can be tested before approval
Infrastructured • feb. 09, 2023
Collaboration
now i have to Share?
Collaboration is essential in the
modern work environment
What it means for Iac
Since it's easy to store IaC in a
version control system such as Git,
it's also easy to collaborate with
other people during the development and
upkeep of your infrastructure, just
like a software engineering team would
collaborate on a program.
Infrastructured • feb. 09, 2023
Testing
I was told there
would be no math
Not that kind of testing! The software
kind...
What it means for Iac
IaC tools offer the ability to dry-run
changes before deployment, allowing you
to see what will happen when you
execute your config.
Infrastructured • feb. 09, 2023
LANGUAGES, PATTERNS, AND TOOLS
The current Iac
ecosystem
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
IaC Tooling Paradigms
A TOOL FOR EVERY USE CASE
Something
to
think
about
Language
DOMAIN SPECIFIC LANGUAGES
Typically a configuration language
like JSON or YAML, but also custom
languages like HCL
GENERAL PURPOSE LANGUAGES
Languages like JavaScript,
TypeScript, Java, Go, .NET, C#, &
Python
Infrastructured • feb. 09, 2023
Platform Support
PLATFORM SPECIFIC
Tools designed to support a single
platform
PLATFORM AGNOSTIC
Tools designed to support multiple
platforms
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Platform Specific Tools
AWS AND AZURE
Something
to
think
about
AWS
Cloudformation
ONLY WORKS W/ AWS
USES A JSON BASED DSL
GREAT COVERAGE FOR AWS RESOURCES
DOCS
https://aws.amazon.com/cloudformation/
AWS Cloud
development kit
(CDK)
ONLY WORKS W/ AWS
USES GENERAL PURPOSE PROGRAMMING
LANGUAGES
Supports TypeScript, JavaScript, Python, Java, C#,
Go
GREAT COVERAGE FOR AWS RESOURCES
DOCS
https://aws.amazon.com/cdk/
Azure Resource
Manager (Arm)
ONLY WORKS W/ MICROSOFT AZURE
USES A JSON BASED DSL
GREAT COVERAGE FOR AZURE RESOURCES
DOCUMENTATION
https://learn.microsoft.com/en-us/azure/azure-
resource-manager/templates/
Azure bicep
ONLY WORKS W/ MICROSOFT AZURE
USES A CUSTOM DSL CALLED BICEP
GREAT COVERAGE FOR AZURE RESOURCES
DOCS
https://learn.microsoft.com/en-us/azure/azure-
resource-manager/bicep/overview
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
Platform Agnostic Tools
CROSSPLANE, PULUMI, AND TERRAFORM
Something
to
think
about
Crossplane
A CLOUD NATIVE COMPUTE FOUNDATION (CNCF)
PROJECT
Built around Kubernetes
USES KUBERNETES MANIFESTS
Which are written in YAML
33 INTEGRATIONS
https://marketplace.upbound.io/providers
DOCUMENTATION
https://docs.crossplane.io/
Pulumi
STARTED BY EX-MICROSOFT ENGINEERS
USES GENERAL PURPOSE PROGRAMMING
LANGUAGES AND A YAML DSL
Supports TypeScript, JavaScript, Python, Go, .NET,
Java, and YAML
DOCS
https://www.pulumi.com/docs/
121 INTEGRATIONS
https://www.pulumi.com/registry/
Terraform
STARTED BY EX-AWS ENGINEERS
USES A DSL AND GENERAL PURPOSE
PROGRAMMING LANGUAGES
Primary support for HCL but recently added CDK
language support as well
DOCS
https://developer.hashicorp.com/terraform/docs
2800+ INTEGRATIONS
https://registry.terraform.io/
AWS CDK
IaC Tool
Matrix
Platform
Specific
Infrastructured • feb. 09, 2023
Platform
Agnostic
DSL GPL
Arm & bicep
Cloudformation
Terraform
Crossplane
pulumi
w/ Yaml
pulumi Terraform
CDK
iac best practices
Infrastructured • feb. 09, 2023
AND CLOSING THOUGHTS
for IAC
Best
Practices
Modularization
GitOps
Policy as Code
Infrastructured • feb. 09, 2023
About
Infrastructured
Cloud Migrations
Do it right, the first time
Cloud Accelerator
Rapidly improve your cloud maturity
Automation
Development
Custom code and integrations using
industry best practices
Infrastructured • feb. 09, 2023
Infrastructured • feb. 09, 2023
WEBSITE
https://www.infrastructured.net
E-MAIL ADDRESS
phil@infrastructured.net
LINKEDIN
https://www.linkedin.com/in/phil-sautter/
Contact
Information

More Related Content

Similar to Getting Started with Infrastructure-as-Code

DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
Microsoft Azure News - 2018 June
Microsoft Azure News - 2018 JuneMicrosoft Azure News - 2018 June
Microsoft Azure News - 2018 JuneDaniel Toomey
 
DevOps for Databricks
DevOps for DatabricksDevOps for Databricks
DevOps for DatabricksDatabricks
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azurekloia
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platformMichael Stephenson
 
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
 
Terraforming Azure
Terraforming AzureTerraforming Azure
Terraforming AzureKen Sykora
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxssuser5faa791
 
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...Yoichi Kawasaki
 
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...DevOpsDays Riga
 
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...Trivadis
 
Microsoft Azure News - 2018 August
Microsoft Azure News - 2018 AugustMicrosoft Azure News - 2018 August
Microsoft Azure News - 2018 AugustDaniel Toomey
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...VMware Tanzu
 
Microsoft Azure News - 2018 December
Microsoft Azure News - 2018 DecemberMicrosoft Azure News - 2018 December
Microsoft Azure News - 2018 DecemberDaniel Toomey
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejspfremm
 
Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Kief Morris
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01Scott Miao
 

Similar to Getting Started with Infrastructure-as-Code (20)

DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
Microsoft Azure News - 2018 June
Microsoft Azure News - 2018 JuneMicrosoft Azure News - 2018 June
Microsoft Azure News - 2018 June
 
DevOps for Databricks
DevOps for DatabricksDevOps for Databricks
DevOps for Databricks
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azure
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
 
Elastic-Engineering
Elastic-EngineeringElastic-Engineering
Elastic-Engineering
 
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
 
Terraforming Azure
Terraforming AzureTerraforming Azure
Terraforming Azure
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
 
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
 
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
TechEvent 2019: DB, CMU and EUS engineering with vagrant; Stefan Oehrli - Tri...
 
Microsoft Azure News - 2018 August
Microsoft Azure News - 2018 AugustMicrosoft Azure News - 2018 August
Microsoft Azure News - 2018 August
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
 
Microsoft Azure News - 2018 December
Microsoft Azure News - 2018 DecemberMicrosoft Azure News - 2018 December
Microsoft Azure News - 2018 December
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
 
Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017
 
AWS CDK Introduction
AWS CDK IntroductionAWS CDK Introduction
AWS CDK Introduction
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 

More from All Things Open

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityAll Things Open
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best PracticesAll Things Open
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public PolicyAll Things Open
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...All Things Open
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashAll Things Open
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptAll Things Open
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?All Things Open
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractAll Things Open
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlowAll Things Open
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and SuccessAll Things Open
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with BackgroundAll Things Open
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblyAll Things Open
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksAll Things Open
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptAll Things Open
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramAll Things Open
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceAll Things Open
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamAll Things Open
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in controlAll Things Open
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsAll Things Open
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...All Things Open
 

More from All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Getting Started with Infrastructure-as-Code

  • 1. I N F R A S T R U C T U R E D Getting Started with Infrastructure-as-Code IAC 101 Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023
  • 2. HELLO THERE! 👋 Who IS this guy? Infrastructured • feb. 09, 2023
  • 3. Infrastructured • feb. 09, 2023 A LITTLE BIT ABOUT ME • NC Native [almost] • Former Cryptolinguist • Husband and Father • 3 Gartner Magic Quadrants • 2 CNCF Tech Radars • 14 Years in the Cloud and Infrastructure Space • Recently started Infrastructured People call me phil ... and sometimes paul
  • 4. Presentation Highlights Focus areas - The history of IaC - What is IaC - The current IaC ecosystem - IaC best practices - Closing summary - About Infrastructured Infrastructured • feb. 09, 2023
  • 5. > USING CODE A History of Infrastructure AUtomation Infrastructured • feb. 09, 2023
  • 6.
  • 7. Timeline IaC Evolved 1975 Systems Scripting via PWB shell 1993 Configuration-as-Code via CFEngine 2010 Infrastructure-as-Code via CloudFormation Infrastructured • feb. 09, 2023
  • 8. Systems Scripting • Bash • PowerShell • PowerCLI • Perl Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 Tools such as: Configuration -as-Code • CFEngine • Chef • Puppet • Ansible Tools such as:
  • 9. If we have all these tools, why do we need Iac? API DRIVEN INFRASTRUCTURE DIGITAL TRANSFORMATION EVERYTHING AS SOFTWARE Infrastructured • feb. 09, 2023
  • 10. The Right Tool for the Right Job! INFRASTRUCTURE-AS-CODE Use to provision and manage your cloud infrastructure CONFIGURATION-AS-CODE Use to configure the services running on your cloud infrastructure Infrastructured • feb. 09, 2023
  • 11. IFRASTRUCTURE-AS-CODE, DUH! What even is IaC? Infrastructured • feb. 09, 2023
  • 12. Infrastructure-as-Code EVOLUTION OF SYSTEMS AUTOMATION SPECIFICALLY DESIGNED FOR API DRIVEN INFRASTRUCTURE Infrastructured • feb. 09, 2023
  • 13. IaC Use Cases IDEMPOTENT OPERATIONS CHANGE MANAGEMENT COLLABORATION TESTING Infrastructured • feb. 09, 2023
  • 14. Idempotent Operations idempotence? A quality of an action such that repetitions of the action have no further effect on outcome What it means for Iac Each time you run your IaC configuration, you get the same results. e.g. You have an IaC config for a single ec2 instance. Each time you run it you are left with a single ec2 instance. Infrastructured • feb. 09, 2023
  • 15. Change Management What's that? The controlled implementation of required changes to some system What it means for Iac Easy to store IaC in a version control system such as Git Every infrastructure change can be tracked, checked for compliance, and attributed before deployment Changes can be tested before approval Infrastructured • feb. 09, 2023
  • 16. Collaboration now i have to Share? Collaboration is essential in the modern work environment What it means for Iac Since it's easy to store IaC in a version control system such as Git, it's also easy to collaborate with other people during the development and upkeep of your infrastructure, just like a software engineering team would collaborate on a program. Infrastructured • feb. 09, 2023
  • 17. Testing I was told there would be no math Not that kind of testing! The software kind... What it means for Iac IaC tools offer the ability to dry-run changes before deployment, allowing you to see what will happen when you execute your config. Infrastructured • feb. 09, 2023
  • 18. LANGUAGES, PATTERNS, AND TOOLS The current Iac ecosystem Infrastructured • feb. 09, 2023
  • 19. Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 IaC Tooling Paradigms A TOOL FOR EVERY USE CASE Something to think about
  • 20. Language DOMAIN SPECIFIC LANGUAGES Typically a configuration language like JSON or YAML, but also custom languages like HCL GENERAL PURPOSE LANGUAGES Languages like JavaScript, TypeScript, Java, Go, .NET, C#, & Python Infrastructured • feb. 09, 2023
  • 21. Platform Support PLATFORM SPECIFIC Tools designed to support a single platform PLATFORM AGNOSTIC Tools designed to support multiple platforms Infrastructured • feb. 09, 2023
  • 22. Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 Platform Specific Tools AWS AND AZURE Something to think about
  • 23. AWS Cloudformation ONLY WORKS W/ AWS USES A JSON BASED DSL GREAT COVERAGE FOR AWS RESOURCES DOCS https://aws.amazon.com/cloudformation/
  • 24. AWS Cloud development kit (CDK) ONLY WORKS W/ AWS USES GENERAL PURPOSE PROGRAMMING LANGUAGES Supports TypeScript, JavaScript, Python, Java, C#, Go GREAT COVERAGE FOR AWS RESOURCES DOCS https://aws.amazon.com/cdk/
  • 25. Azure Resource Manager (Arm) ONLY WORKS W/ MICROSOFT AZURE USES A JSON BASED DSL GREAT COVERAGE FOR AZURE RESOURCES DOCUMENTATION https://learn.microsoft.com/en-us/azure/azure- resource-manager/templates/
  • 26. Azure bicep ONLY WORKS W/ MICROSOFT AZURE USES A CUSTOM DSL CALLED BICEP GREAT COVERAGE FOR AZURE RESOURCES DOCS https://learn.microsoft.com/en-us/azure/azure- resource-manager/bicep/overview
  • 27. Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 Infrastructured • feb. 09, 2023 Platform Agnostic Tools CROSSPLANE, PULUMI, AND TERRAFORM Something to think about
  • 28. Crossplane A CLOUD NATIVE COMPUTE FOUNDATION (CNCF) PROJECT Built around Kubernetes USES KUBERNETES MANIFESTS Which are written in YAML 33 INTEGRATIONS https://marketplace.upbound.io/providers DOCUMENTATION https://docs.crossplane.io/
  • 29. Pulumi STARTED BY EX-MICROSOFT ENGINEERS USES GENERAL PURPOSE PROGRAMMING LANGUAGES AND A YAML DSL Supports TypeScript, JavaScript, Python, Go, .NET, Java, and YAML DOCS https://www.pulumi.com/docs/ 121 INTEGRATIONS https://www.pulumi.com/registry/
  • 30. Terraform STARTED BY EX-AWS ENGINEERS USES A DSL AND GENERAL PURPOSE PROGRAMMING LANGUAGES Primary support for HCL but recently added CDK language support as well DOCS https://developer.hashicorp.com/terraform/docs 2800+ INTEGRATIONS https://registry.terraform.io/
  • 31. AWS CDK IaC Tool Matrix Platform Specific Infrastructured • feb. 09, 2023 Platform Agnostic DSL GPL Arm & bicep Cloudformation Terraform Crossplane pulumi w/ Yaml pulumi Terraform CDK
  • 32. iac best practices Infrastructured • feb. 09, 2023 AND CLOSING THOUGHTS
  • 33. for IAC Best Practices Modularization GitOps Policy as Code Infrastructured • feb. 09, 2023
  • 34. About Infrastructured Cloud Migrations Do it right, the first time Cloud Accelerator Rapidly improve your cloud maturity Automation Development Custom code and integrations using industry best practices Infrastructured • feb. 09, 2023
  • 35. Infrastructured • feb. 09, 2023 WEBSITE https://www.infrastructured.net E-MAIL ADDRESS phil@infrastructured.net LINKEDIN https://www.linkedin.com/in/phil-sautter/ Contact Information