SlideShare a Scribd company logo
www.safespring.com
Anders Bruvik
Infrastructure engineer at Safespring
Infrastructure as Code
2019-04-01
@bruvik
Infrastructure
The basic physical and organizational structures and
facilities (e.g. buildings, roads, power supplies) needed
for the operation of a society or enterprise.
DASHBOARD
Horizon
THE INTERNET
OpenStack Overview
Access
Control
Function
BLOCK STORAGE
Cinder
IDENTITY
Keystone
IMAGE
Glance
NETWORKING
Neutron
OBJECT STORAGE
Ceph
COMPUTING
Nova
Uni

network
uni-r2uni-r2
site
site-r1
OSD
Nx10G / 100G
Devops
What is NOT
Devops?
● A tool
● A role
● A job description
● A team
CAMS
● Culture
● Automation
● Measurement
● Sharing
DEVOPS
A culture where people, regardless of title or
background, work together to imagine, develop,
deploy and operate a system – Ken Mugrage
Automation
Why?
● Faster to production
● Lower risk of human errors
● Spending more time on valuable tasks
● Support change
● Quicker recovery from failures
● Self documenting
● Continuous improvements
Safespring Devops
First generation
Infrastructure as
Code – Puppet
● Puppet Master holds all 

facts in Puppet DB
● All machines must have 

Puppet master access
● IPtables, DNS names, certificates
generated from Puppet Master
● Facts describing node type (compute,
storage or control) in Puppet DB
● Optimized for fleet management (large
group homogenous nodes)
● If you do not know exact state of the
node Puppet can help you streamline
all nodes
Monolithic stacks…
…are not inherently bad — in fact, they are
often the best choice for an organization
early in a product life cycle.
Operators working with code
When doing a change the
operator must find out how
to reach the goal of the
operation without unwanted
side effects
Puppet - Workflow
Repo/DB
Target: all servers
First generation
Infrastructure as
Code – Problems
● Configuration drift – machines out of
sync
● Hard to make small changes
● Puppet is declarative and not
imperative - in which order will the
commands be run?
● Hard to bootstrap new sites since
there are some circular dependencies
Breaking up the monolith
As systems grow – a monolithic 

stack become an antipattern
Antifragile
● Systems that grow stronger during
testing.

● The default response to incidents is
improvement.

● Minimizing the number of changes
will not make a system more robust.
Safespring DevOps- Architecture
VirtualPhysical ContainerBinary
Second
generation
Infrastructure as
Code – Workflow
What is needed?
● A mechanism to build 

(Smie - Forge).
● A place to store artefacts - could be
image, container or binary 

(Naust - boat house)
● Mechanism for deployment (Seter -
settlement) that could describe
different runtime environments
Second generation
Infrastructure as Code
– Smie
What is Smie?
● Wrapper around Packer (Hashicorp)
● Produces artefacts
● All artefacts can be built separately
● Role: service, endpoint or component
Second generation
Infrastructure as Code
– Naust
What is Naust?
● Both source and destination for Smie
(cut dependencies to Internet repos)
● Full control over everything built for
production
● Protocols:
○ HTTPS/file, S3, Docker Registry
● Protocols depend on target systems
● Everything built get an URI with
metadata (type, version, date)
Second generation
Infrastructure as Code
– Seter
What is Seter?
● Provisioning mechanism
● Wrapper around Ansible and Terraform
● Describes a set of artefacts needed to
get a component running
● Also describes target: Physical node,
virtual node or container
System
art 2
Physical
art 1
Virtual Container
art 1
Immutable
infrastructure
● Changes done at templating stage
● New deployment preferred over change at
host
● Easier to implement testing
● Simpler configuration management tooling
● Ceph Object Storage backend needs a set of
OSD and RadosGW role images
● Træfik as load balancer – role reused across
different stacks
Ceph
Træfik
Physical
OSD
Container
Radosgw
Virtual
Example
● Key/Value lookups against pluggable data
stores
● Allows defining global values, and override at
different levels of a hierarchy
● Open source project – Contributions from
Safespring
Pipelines
Continuous delivery is the ability to get changes of all types -
including new features, configuration changes, bug fixes and
experiments - into production, or into the hands of users,
safely and quickly in a sustainable way. — Jez Humble
UNIT
tests
Functional
tests
Staging
environment
Deploy
Production
Security tests
Compliance tests
Multiple pipelines
Production
Second generation
Infrastructure as
Code –
Advantages
● Update systems faster
● Lower barrier to changes
● Reproduce systems as needed
● Build everything with as few
dependencies as possible
● Add or change easily
● Target the affected nodes easily
● Verify that software works as intended
● Scales better with many operators
Testing
● It’s difficult to write automated tests
for an existing, legacy system
● Restructuring a systems design in a
way that facilitates independently
testing components
● Test in production!
1. generation IaC versus 2. generation IaC
Homogenous targets Heterogenous targets
Does it work?
Yes!
Know-how
Technical expertise
Domain expertiseSubject expertise
Technical Expertise
Safespring core competency
User
Business
Technology
Closing words
1. Safespring builds its products on open source
2. Safespring has moved from central CM
solution to a distributed image based
solution
3. Safespring offers Private Cloud solution for
best practices solution in-house
Infrastructure as code
www.safespring.com
QA
2019-04-01
@bruvik

More Related Content

PDF
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
PDF
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
PDF
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
PDF
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
PDF
Delivering a bleeding edge community led open stack distribution- rdo
PDF
VASCAN - Docker and Security
PDF
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
PDF
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
Delivering a bleeding edge community led open stack distribution- rdo
VASCAN - Docker and Security
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...

What's hot (20)

PDF
KubeCon EU 2016: Bringing an open source Containerized Container Platform to ...
PPTX
Introduction to docker_notary_v1.0.0
PPTX
Containers and HPC
PPTX
Kubernetes and OpenStack at Scale
PDF
Guts & OpenStack migration
PDF
Deploying and managing container-based applications with OpenStack and Kubern...
PDF
Looking Under The Hood: containerD
PDF
Red Hat presentatie: Open stack Latest Pure Tech
PDF
The Cloud Convergence: OpenStack and Kubernetes
ODP
Publican
PDF
OpenStack Kolla project update rocky release
PDF
Open stack in action enovance-quantum in action
PDF
OpenNebula - Key Aspects in CentOS
PDF
OpenNebula - The Project
PDF
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
PDF
VietOpenStack meetup 7th High Performance VM
PPTX
Edge and ai
PDF
OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...
PDF
Deploying openstack using ansible
PDF
Getting started with docker
KubeCon EU 2016: Bringing an open source Containerized Container Platform to ...
Introduction to docker_notary_v1.0.0
Containers and HPC
Kubernetes and OpenStack at Scale
Guts & OpenStack migration
Deploying and managing container-based applications with OpenStack and Kubern...
Looking Under The Hood: containerD
Red Hat presentatie: Open stack Latest Pure Tech
The Cloud Convergence: OpenStack and Kubernetes
Publican
OpenStack Kolla project update rocky release
Open stack in action enovance-quantum in action
OpenNebula - Key Aspects in CentOS
OpenNebula - The Project
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
VietOpenStack meetup 7th High Performance VM
Edge and ai
OpenNebula Conf 2014 | Understanding the OpenNebula Model for Cloud Provision...
Deploying openstack using ansible
Getting started with docker
Ad

Similar to Infrastructure as code (20)

PDF
Creating an open source load balancer for S3
PDF
Open shift and docker - october,2014
PDF
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
PDF
Openstack devops challenges
PDF
API Microservices with Node.js and Docker
ODP
Ceph: A decade in the making and still going strong
PDF
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
PDF
Red Hat Enterprise Linux: Open, hyperconverged infrastructure
PDF
High Available Drupal
PDF
µServices Architecture @ EPAM WOW 2015
PDF
Migrate to Microservices Judiciously!
PDF
Learn OpenStack from trystack.cn
PDF
Automation Evolution with Junos
ODP
OpenStack Toronto: Juno Community Update
PPTX
Openstack Summit Tokyo 2015 - Building a private cloud to efficiently handle ...
PDF
Bootify Yyour App from Zero to Hero
PDF
HPC on OpenStack
PDF
LCU14 310- Cisco ODP v2
PDF
OpenStack Best Practices and Considerations - terasky tech day
PDF
Dark launching with Consul at Hootsuite - Bill Monkman
Creating an open source load balancer for S3
Open shift and docker - october,2014
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Openstack devops challenges
API Microservices with Node.js and Docker
Ceph: A decade in the making and still going strong
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
Red Hat Enterprise Linux: Open, hyperconverged infrastructure
High Available Drupal
µServices Architecture @ EPAM WOW 2015
Migrate to Microservices Judiciously!
Learn OpenStack from trystack.cn
Automation Evolution with Junos
OpenStack Toronto: Juno Community Update
Openstack Summit Tokyo 2015 - Building a private cloud to efficiently handle ...
Bootify Yyour App from Zero to Hero
HPC on OpenStack
LCU14 310- Cisco ODP v2
OpenStack Best Practices and Considerations - terasky tech day
Dark launching with Consul at Hootsuite - Bill Monkman
Ad

Recently uploaded (20)

PPTX
quadraticequations-111211090004-phpapp02.pptx
PPT
Hypersensitivity Namisha1111111111-WPS.ppt
PPTX
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
PPTX
Lecture 3b C Library _ ESP32.pptxjfjfjffkkfkfk
PPTX
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
PPTX
sdn_based_controller_for_mobile_network_traffic_management1.pptx
PDF
Cableado de Controladores Logicos Programables
PDF
PPT Determiners.pdf.......................
PPTX
Lecture-3-Computer-programming for BS InfoTech
PPTX
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
PPTX
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
PPTX
Computers and mobile device: Evaluating options for home and work
PPTX
"Fundamentals of Digital Image Processing: A Visual Approach"
PPTX
Syllabus Computer Six class curriculum s
PPTX
Prograce_Present.....ggation_Simple.pptx
PPTX
Wireless and Mobile Backhaul Market.pptx
DOCX
fsdffdghjjgfxfdghjvhjvgfdfcbchghgghgcbjghf
PPTX
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
PPTX
Entre CHtzyshshshshshshshzhhzzhhz 4MSt.pptx
PPTX
Fundamentals of Computer.pptx Computer BSC
quadraticequations-111211090004-phpapp02.pptx
Hypersensitivity Namisha1111111111-WPS.ppt
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
Lecture 3b C Library _ ESP32.pptxjfjfjffkkfkfk
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
sdn_based_controller_for_mobile_network_traffic_management1.pptx
Cableado de Controladores Logicos Programables
PPT Determiners.pdf.......................
Lecture-3-Computer-programming for BS InfoTech
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
Computers and mobile device: Evaluating options for home and work
"Fundamentals of Digital Image Processing: A Visual Approach"
Syllabus Computer Six class curriculum s
Prograce_Present.....ggation_Simple.pptx
Wireless and Mobile Backhaul Market.pptx
fsdffdghjjgfxfdghjvhjvgfdfcbchghgghgcbjghf
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
Entre CHtzyshshshshshshshzhhzzhhz 4MSt.pptx
Fundamentals of Computer.pptx Computer BSC

Infrastructure as code