Infrastructure As Code
Infrastructure As Code
Infrastructure
As Code
(Iac)
SWIPE
Kaouech Haythem
Helal Motaz
02/13
Agenda
Traditional Infrastructure
deployment
Iac
How Iac works
Benefits of Iac
Drawbacks of Iac
Declarative Vs Imperative
Common Iac Tools
KEEP SWIPING
03/13
Traditional Infrastructure
Deployment
Traditional infrastructure deployment involves
manually configuring and provisioning physical servers,
networking, and hardware components, often leading
to longer setup times and increased room for human
error. Main disadvantages include :
Limited Automation
Scalability Challenges
Maintenance Complexity
Inconsistencies
KEEP SWIPING
04/13
Iac
Infrastructure as Code (IaC) is an approach that uses
code to automate the provisioning and management
of IT infrastructure. It allows for the declarative
definition of infrastructure components, enabling
rapid, consistent, and scalable deployments while
promoting version control and reproducibility. IaC is a
key practice in DevOps and cloud computing.
KEEP SWIPING
05/13
IaC Scripts
IaC code can be written in various programming
languages, although some languages are more
commonly used than others.
YAML
JSON
DSL ( Terraform)
Python, Java , Typescript, JavaScript...
KEEP SWIPING
07/13
Benefits Of Iac
Declarative Configuration
Automation
Consistency
Scalability
Version Control
Disaster Recovery
KEEP SWIPING
08/13
Drawbacks Of Iac
The upsides of using IaC definitly outweigh the
downsides but here are some of the cons :
KEEP SWIPING
09/13
Declarative Vs Imperative
Infrastructure as Code (IaC) commonly uses a
declarative approach. In a declarative approach
to IaC, you define the desired end-state of your
infrastructure, specifying what resources and
configurations you want, without necessarily
detailing the step-by-step process to achieve it.
Let me explain with an example :
You want to go from point A to B
KEEP SWIPING
10/13
Imperative Approach
Continue straight for 100 m
Turn left
continue for 200 m
turn right
continue for 100 m
Drawbacks :
Complexity
Limited Reusability
Order Dependencies
KEEP SWIPING
11/13
Declarative Approach
Just Go From Point A to B figure out how
Benefits :
Simplicity
Reproducibility
Resource Dependencies
Reusability
KEEP SWIPING
12/13
Management Tools :
Ansible
Puppet
ONE MORE
13/13
Thanks For
Your Attention
Any Questions ?