SlideShare a Scribd company logo
1 of 31
Infrastructure As
Code (IaC)
Scripted Infrastructure
Contents
1. What is IaC
2. What is IaC good for… or not
3. How to use IaC
a. Tools
b. Organising templates
c. Structure
d. Key functions
● Infrastructure (represented) As Code / Scripted Infrastructure / Programmable Infrastructure
● Descriptive model, in a machine-readable definition - Templates
● Create and Manage Infra (networks, virtual machines, load balancers, connection topology
etc.)
What is IaC
What is it good for!?
Go to www.menti.com and use
the code 86 54 83 to add your
thoughts!
Benefits of IaC (1)
Repeatable, Reusable &
Scalable
Standardisation Predictable
Infrastructure As Code | peak.ai
Benefits of IaC (2)
Version Control Safer change
management
Reduced Cost
Infrastructure As Code | peak.ai
Downsides of IaC (1)
New skills required Planning often gets
skipped
Errors can be repeated
too!
Infrastructure As Code | peak.ai
Downsides of IaC (2)
Stack drift Accidental destruction! It can still get messy -
Rollbacks, Maintenance etc.
Infrastructure As Code | peak.ai
Tools
Puppet / Chef
Ansible
Terraform
Cloud agnostic software
Terraform syntax
ARM / CloudFormation / CDK
Infrastructure As Code | peak.ai
Automation and Configuration
Master / Node
JSON recipes
Agentless IT automation (SSH)
Ansible Playbooks
Azure and AWS specific template formats
JSON / JSON or YAML
Cloud Development Kit - script your infra in a
familiar language like java, python, typescript and
c#
“”
Tools alone won’t transform and
organisation,
you need to change the mindset of
the team.
11
(organise it like it’s software)
Organising templates
Smaller the better!
Separate concerns
Example -
● Frontend services
● Backend services
● Shared services
● Base Network
● Identity and Access Management
You may also separate a CI/CD pipeline and the main infrastructure
These same templates should be used multiple times for different
environments, accounts, regions etc.
Infrastructure As Code | peak.ai
Structure
● Parameters
● Conditions
● References
● Mappings
● Resources
● Dependencies
● Outputs
● Exports / Imports
● Functions - Internal and Custom
Infrastructure As Code | peak.ai
● Hardcode
● Input Parameters - use ‘no echo’
● Parameter Store
● Secrets Manager
Secrets
(options)
Infrastructure As Code | peak.ai
Secrets
Input Parameters - use ‘no echo’
Secrets
Parameter Store
Secrets
Secrets Manager
Keys and Values
Use the Internal Function - Find In Map to use those values based
on other variables.
Mappings
Infrastructure As Code | peak.ai
Mappings
Mappings
Exporting / Importing
Rather than hard code mappings or inputting them manually we
can Export and Import values.
But this can also leave undesired complications when you are new
to it.
Infrastructure As Code | peak.ai
Exporting / Importing
Conditions
Conditionally create resources or assign values to variables using
internal functions.
Infrastructure As Code | peak.ai
Conditions
The Parameter
Conditions
The test
Conditions
To create or not create
Conditions
To reference or not to reference
Testing
We know how to test other languages.. How do we test infra?
Sometimes we have to try it for real!
Use a sandbox - good check of repeatability.
Template validation - cfn-lint
Infrastructure As Code | peak.ai
Iterate
Things can get messy, especially when deploying a new stack
from scratch. Cloud Formation is a pain when the first create
fails…
Start simple!
Then add more resources as you go along.
Infrastructure As Code | peak.ai
Deletion Policy Attribute
Keep things like S3 bucket or RDS cluster after stack deletion
Could save the day in case of accidents! (But also consider Stack
Protection)
Question Time

More Related Content

What's hot

Sam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless StartupSam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless StartupServerlessConf
 
Rein in Your Cloud Costs with Terraform and AWS Lambda
Rein in Your Cloud Costs with Terraform and AWS LambdaRein in Your Cloud Costs with Terraform and AWS Lambda
Rein in Your Cloud Costs with Terraform and AWS LambdaAmanda MacLeod
 
AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!Wojciech Gawroński
 
Techique, Methodology, Culture
Techique, Methodology, CultureTechique, Methodology, Culture
Techique, Methodology, CultureBenny Bauer
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitCodeOps Technologies LLP
 
Serverless and GraphQL
Serverless and GraphQLServerless and GraphQL
Serverless and GraphQLAssaf Gannon
 
Introduction to AWS Lambda with Python
Introduction to AWS Lambda with PythonIntroduction to AWS Lambda with Python
Introduction to AWS Lambda with Pythonadaplo
 
The Rise of Serverless Architectures
The Rise of Serverless ArchitecturesThe Rise of Serverless Architectures
The Rise of Serverless ArchitecturesBenny Bauer
 
Implementing iam for (k8s) pods in aws
Implementing iam for (k8s) pods in awsImplementing iam for (k8s) pods in aws
Implementing iam for (k8s) pods in awsMikhail Advani
 
Magic of web components
Magic of web componentsMagic of web components
Magic of web componentsHYS Enterprise
 
Serverless Architecture on AWS
Serverless Architecture on AWSServerless Architecture on AWS
Serverless Architecture on AWSRajind Ruparathna
 
How to deploy machine learning models in the Cloud
How to deploy machine learning models in the CloudHow to deploy machine learning models in the Cloud
How to deploy machine learning models in the CloudAlex Casalboni
 
DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?Data Con LA
 
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...Amazon Web Services
 
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)Shrey Batra
 
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
Monitor Azure Kubernetes Cluster With Prometheus by Mamta JhaMonitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
Monitor Azure Kubernetes Cluster With Prometheus by Mamta JhaCodeOps Technologies LLP
 
The automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm chartsThe automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm chartsAna-Maria Mihalceanu
 

What's hot (20)

Sam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless StartupSam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
 
Tracing Java Applications on Azure
Tracing Java Applications on AzureTracing Java Applications on Azure
Tracing Java Applications on Azure
 
Rein in Your Cloud Costs with Terraform and AWS Lambda
Rein in Your Cloud Costs with Terraform and AWS LambdaRein in Your Cloud Costs with Terraform and AWS Lambda
Rein in Your Cloud Costs with Terraform and AWS Lambda
 
AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!
 
Industrial Light & Magic
Industrial Light & MagicIndustrial Light & Magic
Industrial Light & Magic
 
Techique, Methodology, Culture
Techique, Methodology, CultureTechique, Methodology, Culture
Techique, Methodology, Culture
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
 
Serverless and GraphQL
Serverless and GraphQLServerless and GraphQL
Serverless and GraphQL
 
Introduction to AWS Lambda with Python
Introduction to AWS Lambda with PythonIntroduction to AWS Lambda with Python
Introduction to AWS Lambda with Python
 
The Rise of Serverless Architectures
The Rise of Serverless ArchitecturesThe Rise of Serverless Architectures
The Rise of Serverless Architectures
 
Implementing iam for (k8s) pods in aws
Implementing iam for (k8s) pods in awsImplementing iam for (k8s) pods in aws
Implementing iam for (k8s) pods in aws
 
Magic of web components
Magic of web componentsMagic of web components
Magic of web components
 
Serverless Architecture on AWS
Serverless Architecture on AWSServerless Architecture on AWS
Serverless Architecture on AWS
 
How to deploy machine learning models in the Cloud
How to deploy machine learning models in the CloudHow to deploy machine learning models in the Cloud
How to deploy machine learning models in the Cloud
 
Ml 3 ways
Ml 3 waysMl 3 ways
Ml 3 ways
 
DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?DevOps is to Infrastructure as Code, as DataOps is to...?
DevOps is to Infrastructure as Code, as DataOps is to...?
 
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
 
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
Monitor Azure Kubernetes Cluster With Prometheus by Mamta JhaMonitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
 
The automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm chartsThe automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm charts
 

Similar to Infrastructure as Code (IaC): Introduction to scripted infrastructure

Building Highly Customizable iOS Applications on Top of a Core Codebase
Building Highly Customizable iOS Applications on Top of a Core CodebaseBuilding Highly Customizable iOS Applications on Top of a Core Codebase
Building Highly Customizable iOS Applications on Top of a Core CodebaseSupercharge
 
Clean Infrastructure as Code
Clean Infrastructure as Code Clean Infrastructure as Code
Clean Infrastructure as Code QAware GmbH
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Waysmalltown
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentAbid Malik
 
Five cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark fasterFive cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark fasterTim Ellison
 
Talentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular SchematicsTalentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular SchematicsKrishnan Mudaliar
 
Single Source of Truth for Network Automation
Single Source of Truth for Network AutomationSingle Source of Truth for Network Automation
Single Source of Truth for Network AutomationAndy Davidson
 
What It Takes to Build API Integrations
What It Takes to Build API IntegrationsWhat It Takes to Build API Integrations
What It Takes to Build API IntegrationsNordic APIs
 
Write Generic Code with the Tooling API
Write Generic Code with the Tooling APIWrite Generic Code with the Tooling API
Write Generic Code with the Tooling APIAdam Olshansky
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
 
Yii2 by Peter Jack Kambey
Yii2 by Peter Jack KambeyYii2 by Peter Jack Kambey
Yii2 by Peter Jack Kambeyk4ndar
 
Using LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowUsing LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowDataWorks Summit
 
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases DistributedRedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases DistributedRedis Labs
 
Practical C++ Generative Programming
Practical C++ Generative ProgrammingPractical C++ Generative Programming
Practical C++ Generative ProgrammingSchalk Cronjé
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Adam Dunkels
 
Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Indrajit Poddar
 
Software Quality in Practice
Software Quality in PracticeSoftware Quality in Practice
Software Quality in PracticeGanesh Samarthyam
 
Vinay Kumar [InfluxData] | InfluxDB API Overview | InfluxDays 2022
Vinay Kumar [InfluxData] | InfluxDB API Overview  | InfluxDays 2022Vinay Kumar [InfluxData] | InfluxDB API Overview  | InfluxDays 2022
Vinay Kumar [InfluxData] | InfluxDB API Overview | InfluxDays 2022InfluxData
 

Similar to Infrastructure as Code (IaC): Introduction to scripted infrastructure (20)

Building Highly Customizable iOS Applications on Top of a Core Codebase
Building Highly Customizable iOS Applications on Top of a Core CodebaseBuilding Highly Customizable iOS Applications on Top of a Core Codebase
Building Highly Customizable iOS Applications on Top of a Core Codebase
 
Clean Infrastructure as Code
Clean Infrastructure as Code Clean Infrastructure as Code
Clean Infrastructure as Code
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
IDE and Toolset For Magento Development
IDE and Toolset For Magento DevelopmentIDE and Toolset For Magento Development
IDE and Toolset For Magento Development
 
Five cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark fasterFive cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark faster
 
Talentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular SchematicsTalentica - JS Meetup - Angular Schematics
Talentica - JS Meetup - Angular Schematics
 
Single Source of Truth for Network Automation
Single Source of Truth for Network AutomationSingle Source of Truth for Network Automation
Single Source of Truth for Network Automation
 
What It Takes to Build API Integrations
What It Takes to Build API IntegrationsWhat It Takes to Build API Integrations
What It Takes to Build API Integrations
 
Write Generic Code with the Tooling API
Write Generic Code with the Tooling APIWrite Generic Code with the Tooling API
Write Generic Code with the Tooling API
 
Advanced angular
Advanced angularAdvanced angular
Advanced angular
 
Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Yii2 by Peter Jack Kambey
Yii2 by Peter Jack KambeyYii2 by Peter Jack Kambey
Yii2 by Peter Jack Kambey
 
Using LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowUsing LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache Arrow
 
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases DistributedRedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
 
Practical C++ Generative Programming
Practical C++ Generative ProgrammingPractical C++ Generative Programming
Practical C++ Generative Programming
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
 
Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...Enabling a hardware accelerated deep learning data science experience for Apa...
Enabling a hardware accelerated deep learning data science experience for Apa...
 
Software Quality in Practice
Software Quality in PracticeSoftware Quality in Practice
Software Quality in Practice
 
Vinay Kumar [InfluxData] | InfluxDB API Overview | InfluxDays 2022
Vinay Kumar [InfluxData] | InfluxDB API Overview  | InfluxDays 2022Vinay Kumar [InfluxData] | InfluxDB API Overview  | InfluxDays 2022
Vinay Kumar [InfluxData] | InfluxDB API Overview | InfluxDays 2022
 

More from Michael Pearce

MLOps - Getting Machine Learning Into Production
MLOps - Getting Machine Learning Into ProductionMLOps - Getting Machine Learning Into Production
MLOps - Getting Machine Learning Into ProductionMichael Pearce
 
Look mum, no hands! AWS Systems Manager for server management and automation.
Look mum, no hands! AWS Systems Manager for server management and automation.Look mum, no hands! AWS Systems Manager for server management and automation.
Look mum, no hands! AWS Systems Manager for server management and automation.Michael Pearce
 
Sage Advice: Getting started with Amazon SageMaker
Sage Advice: Getting started with Amazon SageMakerSage Advice: Getting started with Amazon SageMaker
Sage Advice: Getting started with Amazon SageMakerMichael Pearce
 
Learning, Losing & Lessons Learnt: Cloud Certification the 2nd time around
Learning, Losing & Lessons Learnt: Cloud Certification the 2nd time aroundLearning, Losing & Lessons Learnt: Cloud Certification the 2nd time around
Learning, Losing & Lessons Learnt: Cloud Certification the 2nd time aroundMichael Pearce
 
Building Scalable Data Ingestion
Building Scalable Data Ingestion Building Scalable Data Ingestion
Building Scalable Data Ingestion Michael Pearce
 
Cloud Security and some preferred practices
Cloud Security and some preferred practicesCloud Security and some preferred practices
Cloud Security and some preferred practicesMichael Pearce
 
Building scalable infrastructure for AI & ML
Building scalable infrastructure for AI & MLBuilding scalable infrastructure for AI & ML
Building scalable infrastructure for AI & MLMichael Pearce
 
Introduction to AWS VPC & Networking
Introduction to AWS VPC & NetworkingIntroduction to AWS VPC & Networking
Introduction to AWS VPC & NetworkingMichael Pearce
 
Alexa, call SageMaker!
Alexa, call SageMaker!Alexa, call SageMaker!
Alexa, call SageMaker!Michael Pearce
 

More from Michael Pearce (11)

MLOps - Getting Machine Learning Into Production
MLOps - Getting Machine Learning Into ProductionMLOps - Getting Machine Learning Into Production
MLOps - Getting Machine Learning Into Production
 
Linux CLI Primer
Linux CLI PrimerLinux CLI Primer
Linux CLI Primer
 
Look mum, no hands! AWS Systems Manager for server management and automation.
Look mum, no hands! AWS Systems Manager for server management and automation.Look mum, no hands! AWS Systems Manager for server management and automation.
Look mum, no hands! AWS Systems Manager for server management and automation.
 
Sage Advice: Getting started with Amazon SageMaker
Sage Advice: Getting started with Amazon SageMakerSage Advice: Getting started with Amazon SageMaker
Sage Advice: Getting started with Amazon SageMaker
 
Learning, Losing & Lessons Learnt: Cloud Certification the 2nd time around
Learning, Losing & Lessons Learnt: Cloud Certification the 2nd time aroundLearning, Losing & Lessons Learnt: Cloud Certification the 2nd time around
Learning, Losing & Lessons Learnt: Cloud Certification the 2nd time around
 
Git Primer
Git PrimerGit Primer
Git Primer
 
Building Scalable Data Ingestion
Building Scalable Data Ingestion Building Scalable Data Ingestion
Building Scalable Data Ingestion
 
Cloud Security and some preferred practices
Cloud Security and some preferred practicesCloud Security and some preferred practices
Cloud Security and some preferred practices
 
Building scalable infrastructure for AI & ML
Building scalable infrastructure for AI & MLBuilding scalable infrastructure for AI & ML
Building scalable infrastructure for AI & ML
 
Introduction to AWS VPC & Networking
Introduction to AWS VPC & NetworkingIntroduction to AWS VPC & Networking
Introduction to AWS VPC & Networking
 
Alexa, call SageMaker!
Alexa, call SageMaker!Alexa, call SageMaker!
Alexa, call SageMaker!
 

Recently uploaded

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
[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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
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
 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
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
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
[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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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...
 
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
 

Infrastructure as Code (IaC): Introduction to scripted infrastructure

  • 2. Contents 1. What is IaC 2. What is IaC good for… or not 3. How to use IaC a. Tools b. Organising templates c. Structure d. Key functions
  • 3. ● Infrastructure (represented) As Code / Scripted Infrastructure / Programmable Infrastructure ● Descriptive model, in a machine-readable definition - Templates ● Create and Manage Infra (networks, virtual machines, load balancers, connection topology etc.) What is IaC
  • 4. What is it good for!? Go to www.menti.com and use the code 86 54 83 to add your thoughts!
  • 5.
  • 6. Benefits of IaC (1) Repeatable, Reusable & Scalable Standardisation Predictable Infrastructure As Code | peak.ai
  • 7. Benefits of IaC (2) Version Control Safer change management Reduced Cost Infrastructure As Code | peak.ai
  • 8. Downsides of IaC (1) New skills required Planning often gets skipped Errors can be repeated too! Infrastructure As Code | peak.ai
  • 9. Downsides of IaC (2) Stack drift Accidental destruction! It can still get messy - Rollbacks, Maintenance etc. Infrastructure As Code | peak.ai
  • 10. Tools Puppet / Chef Ansible Terraform Cloud agnostic software Terraform syntax ARM / CloudFormation / CDK Infrastructure As Code | peak.ai Automation and Configuration Master / Node JSON recipes Agentless IT automation (SSH) Ansible Playbooks Azure and AWS specific template formats JSON / JSON or YAML Cloud Development Kit - script your infra in a familiar language like java, python, typescript and c#
  • 11. “” Tools alone won’t transform and organisation, you need to change the mindset of the team. 11
  • 12. (organise it like it’s software) Organising templates Smaller the better! Separate concerns Example - ● Frontend services ● Backend services ● Shared services ● Base Network ● Identity and Access Management You may also separate a CI/CD pipeline and the main infrastructure These same templates should be used multiple times for different environments, accounts, regions etc. Infrastructure As Code | peak.ai
  • 13. Structure ● Parameters ● Conditions ● References ● Mappings ● Resources ● Dependencies ● Outputs ● Exports / Imports ● Functions - Internal and Custom Infrastructure As Code | peak.ai
  • 14. ● Hardcode ● Input Parameters - use ‘no echo’ ● Parameter Store ● Secrets Manager Secrets (options) Infrastructure As Code | peak.ai
  • 15. Secrets Input Parameters - use ‘no echo’
  • 18. Keys and Values Use the Internal Function - Find In Map to use those values based on other variables. Mappings Infrastructure As Code | peak.ai
  • 21. Exporting / Importing Rather than hard code mappings or inputting them manually we can Export and Import values. But this can also leave undesired complications when you are new to it. Infrastructure As Code | peak.ai
  • 23. Conditions Conditionally create resources or assign values to variables using internal functions. Infrastructure As Code | peak.ai
  • 27. Conditions To reference or not to reference
  • 28. Testing We know how to test other languages.. How do we test infra? Sometimes we have to try it for real! Use a sandbox - good check of repeatability. Template validation - cfn-lint Infrastructure As Code | peak.ai
  • 29. Iterate Things can get messy, especially when deploying a new stack from scratch. Cloud Formation is a pain when the first create fails… Start simple! Then add more resources as you go along. Infrastructure As Code | peak.ai
  • 30. Deletion Policy Attribute Keep things like S3 bucket or RDS cluster after stack deletion Could save the day in case of accidents! (But also consider Stack Protection)