Run stuff, Deploy Stuff, Jax London 2017 Edition

Kris Buytaert
Kris BuytaertDevops, Linux and Open Source Expert at Inuits
Deploy Stuff, Run Stuff
Jax Devops London 2017
Kris Buytaert
@krisbuytaert
Kris BuytaertKris Buytaert
● I used to be a Dev,I used to be a Dev,
● Then Became an OpThen Became an Op
● Chief Trolling Officer and Open SourceChief Trolling Officer and Open Source
Consultant @Consultant @inuits.euinuits.eu
● Everything is an effing DNS ProblemEverything is an effing DNS Problem
● Building Clouds since before the bookstoreBuilding Clouds since before the bookstore
● Some books, some papers, some blogsSome books, some papers, some blogs
● Evangelizing devopsEvangelizing devops
● Organiser of #devopsdays, #cfgmgmtcamp,Organiser of #devopsdays, #cfgmgmtcamp,
#loadays, ….#loadays, ….
What's this devopsWhat's this devops
thing anyhow ?thing anyhow ?
Culture,Culture,
automation,automation,
Measturement,Measturement,
sharingsharing
the “old” daysthe “old” days
● ““Put this Code Live, here's a tarball” NOW!Put this Code Live, here's a tarball” NOW!
● What dependencies ?What dependencies ?
● No machines available ?No machines available ?
● What database ?What database ?
● Security ?Security ?
● High Availability ?High Availability ?
● Scalability ?Scalability ?
● My computer can't install this ?My computer can't install this ?
Blamefull OrganisationsBlamefull Organisations
HistoricallyDifferent GoalsHistoricallyDifferent Goals
DevelopmentDevelopment
● New releasesNew releases
● New FeaturesNew Features
● New platformsNew platforms
● New architecturesNew architectures
● Functional ReqFunctional Req
OperationsOperations
● Stable PlatformStable Platform
● No DowntimeNo Downtime
● Scalable PlatformScalable Platform
● Non Functional ReqNon Functional Req
MethodologiesMethodologies
● WaterfallWaterfall
● WatermillWatermill
● SAFESAFE
● Scrum
● Kanban
DOD in ScrumDOD in Scrum
•
DoD is a checklist of valuable activities requiredDoD is a checklist of valuable activities required
to produce software.to produce software.
•
Definition of Done is a simple list of activitiesDefinition of Done is a simple list of activities
(writing code, coding comments, unit testing,(writing code, coding comments, unit testing,
integration testing, release notes, designintegration testing, release notes, design
documents, etc.) that adddocuments, etc.) that add
verifiable/demonstrable value to the product.verifiable/demonstrable value to the product.
•
DoD is the primary reporting mechanism forDoD is the primary reporting mechanism for
team members.team members.
Done means testedDone means tested
Done means deployedDone means deployed
In productionIn production
If it isn't monitored it isn't inIf it isn't monitored it isn't in
productionproduction
Done = In production andDone = In production and
MonitoredMonitored
A software project is not done untilA software project is not done until
your last enduser is in his grave !your last enduser is in his grave !
Kris Buytaert, #devopsdays Amsterdam 2013Kris Buytaert, #devopsdays Amsterdam 2013
Culture,Culture,
Automation,Automation,
Measurement,Measurement,
SharingSharing
NF RequirementsNF Requirements
Non functional requirements are not part of aNon functional requirements are not part of a
sprintsprint
the un-buildablethe un-buildable
● The libraries you depend on have beenThe libraries you depend on have been
removed by the upstream authorremoved by the upstream author
•
Too oldToo old
•
AbandonnedAbandonned
● You haven't specified the versions and theYou haven't specified the versions and the
'latest' version is'latest' version is
•
BrokenBroken
•
incompatibleincompatible
● Rubybems.org,Github.com is downRubybems.org,Github.com is down
the un-packageablethe un-packageable
the un-packageablethe un-packageable
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 Edition
the un-deployablethe un-deployable
● You require manual changes to filesYou require manual changes to files
•
Files in different locationsFiles in different locations
● Your haven't versioned all the filesYour haven't versioned all the files
•
Plenty of files are missingPlenty of files are missing
•
Missing librariesMissing libraries
● Do you really expect everyone to know how toDo you really expect everyone to know how to
deploy your Flavour of the week stackdeploy your Flavour of the week stack
““If my computerIf my computer
can't install it,can't install it,
the installer isthe installer is
broken”broken”
Luke Kanies atLuke Kanies at
Fosdem (2007)Fosdem (2007)
the un-configurablethe un-configurable
● Sometimes the preconfigured oneSometimes the preconfigured one
● Config is inside the build artifactConfig is inside the build artifact
•
.war, binary, code.war, binary, code
● Redeploy / restart is required to reconfigureRedeploy / restart is required to reconfigure
● Log on with the credentials generated inLog on with the credentials generated in
/tmp/blahX2312/tmp/blahX2312
● Click on the 3rd button on the left, then downClick on the 3rd button on the left, then down
and first on the right.and first on the right.
As an Ops personAs an Ops person
““As a system administrator, I can tell whenAs a system administrator, I can tell when
software vendors hate me. It shows in theirsoftware vendors hate me. It shows in their
products.”products.”
““DON'T make the administrative interface aDON'T make the administrative interface a
GUI. System administrators need aGUI. System administrators need a
command-line tool for constructingcommand-line tool for constructing
repeatable processes. Procedures are bestrepeatable processes. Procedures are best
documented by providing commands thatdocumented by providing commands that
we can copy and paste from the procedurewe can copy and paste from the procedure
document to the command line. We cannotdocument to the command line. We cannot
achieve the same repeatability when theachieve the same repeatability when the
instructions are: "Checkmark the 3rd andinstructions are: "Checkmark the 3rd and
5th options, but not the 2nd option, then5th options, but not the 2nd option, then
click OK." Sysadmins do not want a GUI thatclick OK." Sysadmins do not want a GUI that
requires 25 clicks for each new user.”requires 25 clicks for each new user.”
Thomas A. Limoncelli in ACM Queue December 2010Thomas A. Limoncelli in ACM Queue December 2010
http://queue.acm.org/detail.cfm?id=1921361http://queue.acm.org/detail.cfm?id=1921361
the un-runnablethe un-runnable
● You shipped a .exe fileYou shipped a .exe file
•
We run on LinuxWe run on Linux
● You shipped a Docker fileYou shipped a Docker file
•
We have no containerized infrastructureWe have no containerized infrastructure
● Your application connects to 10.0.0.1:3306Your application connects to 10.0.0.1:3306
● Your application connects toYour application connects to
myapp.ourcompany.commyapp.ourcompany.com
● Your code requires Python 5Your code requires Python 5
•
We are on EL 7We are on EL 7
the un-clusterablethe un-clusterable
● Where is your state ?Where is your state ?
● How do you know where to connect to ?How do you know where to connect to ?
● /tmp is not a distributed filesystem/tmp is not a distributed filesystem
the un-cloudablethe un-cloudable
● Where is your state ?Where is your state ?
the un-securedthe un-secured
● Clear text passwords in config filesClear text passwords in config files
● Passwords as parametersPasswords as parameters
● No encryptionNo encryption
● Vague ssl version build inVague ssl version build in
● No authentication at allNo authentication at all
● Users are stored locallyUsers are stored locally
Culture,Culture,
Automation,Automation,
Measurement :Measurement :
measure all the thingsmeasure all the things
SharingSharing
the un-monitorablethe un-monitorable
● Is this thing even on ?Is this thing even on ?
● Logs ?Logs ?
● Log verbosity ?Log verbosity ?
● Log corelation ?Log corelation ?
● Consistent output for testingConsistent output for testing
● If the enduser calls, your monitoring has failedIf the enduser calls, your monitoring has failed
the un-measurablethe un-measurable
● No metrics,No metrics,
● No log entries to derive metrics from,No log entries to derive metrics from,
● Please providePlease provide
•
MetricsMetrics
•
Health / status page / apiHealth / status page / api
•
LogsLogs
Culture,Culture,
Automation,Automation,
Measurement,Measurement,
SharingSharing
Run stuff, Deploy Stuff, Jax London 2017 Edition
This new 'D' hypeThis new 'D' hype
● New kid on the blockNew kid on the block
● Vagrant-lxc with a nice cliVagrant-lxc with a nice cli
● The Ultimate “devops tool”The Ultimate “devops tool”
● ““Unseen” growthUnseen” growth
● Docker is the new cool thing to doDocker is the new cool thing to do
DockerDocker
DockerDocker
DockerDocker
DockerDocker
DockerDocker
DockerDocker
A typical EnterpriseA typical Enterprise
ContainerContainer● No different from aNo different from a
full vmfull vm
● Multiple servicesMultiple services
running in onerunning in one
containercontainer
● Ssh is the defaultSsh is the default
connectionconnection
Why ?Why ?
● I want a VMI want a VM
•
Please fill in these 4 formsPlease fill in these 4 forms
•
Wait 2 weeks.Wait 2 weeks.
● RepeatRepeat
IT Departments have not adapted,IT Departments have not adapted,
'Shadow'-IT is winning'Shadow'-IT is winning
These DaysThese Days
● ““Put this Code Live, here's a DockerPut this Code Live, here's a Docker
Container ”Container ”
● No machines available ?No machines available ?
● What database ? Where to store theWhat database ? Where to store the
data ?data ?
● Security ? What distro is this even ?Security ? What distro is this even ?
Bad Cows ?Bad Cows ?
● How do we monitor his ?How do we monitor his ?
● Backups ?Backups ?
● How did you build this ?How did you build this ?
11 days into operations11 days into operations
● ““Put this Code Live, here'sPut this Code Live, here's
Dockerfile”Dockerfile”
● What corporate proxy ?What corporate proxy ?
● Oh I missed 2 other containersOh I missed 2 other containers
● Security ? What distro is this even ?Security ? What distro is this even ?
Bad Cows ?Bad Cows ?
● What do you mean “We are a RHELWhat do you mean “We are a RHEL
shop ?”shop ?”
Closing the gaps between dev and ops,Closing the gaps between dev and ops,
AGAIN !!AGAIN !!
● Where do your containers come from ?Where do your containers come from ?
● Who build it ?Who build it ?
● Can you rebuild it ?Can you rebuild it ?
● Do you even need a containerDo you even need a container
● How do you build the hosts that run theHow do you build the hosts that run the
containers ?containers ?
● Infrastructure as code ++Infrastructure as code ++
Image Build by devs,Image Build by devs,
maintained by nobodymaintained by nobody
Can you ?Can you ?
● When GitHub is down ?When GitHub is down ?
● When rubygems.org isWhen rubygems.org is
down ?down ?
● When someone removesWhen someone removes
a Node.js library ?a Node.js library ?
● Fix critical SecurityFix critical Security
Issues ?Issues ?
● Can your business suriveCan your business surive
if you answer NO toif you answer NO to
these questions ?these questions ?
● I love docker as aI love docker as a
technologytechnology
● I hate that it too oftenI hate that it too often
put us back 5 years withput us back 5 years with
regards to Cultureregards to Culture
adoptionadoption
● Docker is an easy victim,Docker is an easy victim,
there's other tools thatthere's other tools that
create similar situationscreate similar situations
● It's still mostly aboutIt's still mostly about
CultureCulture
It's still aboutIt's still about
collaborationcollaboration
It's not about the toolsIt's not about the tools
It's about changeIt's about change
It's about the peopleIt's about the people
ContactContact
Kris BuytaertKris Buytaert Kris.Buytaert@inuits.beKris.Buytaert@inuits.be
Further ReadingFurther Reading
@krisbuytaert@krisbuytaert
http://www.krisbuytaert.be/blog/http://www.krisbuytaert.be/blog/
http://www.inuits.be/http://www.inuits.be/
InuitsInuits
Essensteenweg 31Essensteenweg 31
BrasschaatBrasschaat
BelgiumBelgium
891.514.231891.514.231
+32 475 961221+32 475 961221
1 of 46

Recommended

Devops is not about Tooling by
Devops is not about ToolingDevops is not about Tooling
Devops is not about ToolingKris Buytaert
1.2K views109 slides
Groovy there's a docker in my application pipeline by
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineKris Buytaert
1.3K views45 slides
Run stuff, Deploy Stuff by
Run stuff, Deploy StuffRun stuff, Deploy Stuff
Run stuff, Deploy StuffKris Buytaert
1K views50 slides
From devoops to devops by
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
827 views48 slides
No, we can't do continuous delivery by
No, we can't do continuous deliveryNo, we can't do continuous delivery
No, we can't do continuous deliveryKris Buytaert
1.8K views52 slides
Devops is dead, Long Live Devops by
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live DevopsKris Buytaert
1.7K views27 slides

More Related Content

What's hot

Devops is a Security Requirement by
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security RequirementKris Buytaert
699 views64 slides
Continous Delivery of your Infrastructure by
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your InfrastructureKris Buytaert
857 views50 slides
Adopting Devops , Stories from the trenches by
Adopting Devops , Stories from the trenchesAdopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenchesKris Buytaert
1.9K views48 slides
Is there a future for devops ? by
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?Kris Buytaert
3.5K views49 slides
devops is a reorg by
devops is a reorgdevops is a reorg
devops is a reorgKris Buytaert
2.1K views34 slides
The Return of the Dull Stack Engineer by
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
2.4K views51 slides

What's hot(20)

Devops is a Security Requirement by Kris Buytaert
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
Kris Buytaert699 views
Continous Delivery of your Infrastructure by Kris Buytaert
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
Kris Buytaert857 views
Adopting Devops , Stories from the trenches by Kris Buytaert
Adopting Devops , Stories from the trenchesAdopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenches
Kris Buytaert1.9K views
Is there a future for devops ? by Kris Buytaert
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
Kris Buytaert3.5K views
The Return of the Dull Stack Engineer by Kris Buytaert
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
Kris Buytaert2.4K views
Closing the gap between Distros(devs) and their Users(ops) by Kris Buytaert
Closing the gap between Distros(devs) and their Users(ops)Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)
Kris Buytaert15.9K views
Docker is killing your #devops Efforts by Kris Buytaert
Docker is killing your #devops EffortsDocker is killing your #devops Efforts
Docker is killing your #devops Efforts
Kris Buytaert2.6K views
On the Importance of Infrastructure as Code by Kris Buytaert
On the Importance of Infrastructure as CodeOn the Importance of Infrastructure as Code
On the Importance of Infrastructure as Code
Kris Buytaert1.8K views
Devops, The future is here, it's just not evenly distributed by Kris Buytaert
Devops, The future is here, it's just not evenly distributedDevops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributed
Kris Buytaert1.5K views
Open Source Monitoring in 2015 by Kris Buytaert
Open Source Monitoring in 2015Open Source Monitoring in 2015
Open Source Monitoring in 2015
Kris Buytaert2.3K views
The influence of "Distributed platforms" on #devops by Kris Buytaert
The influence of "Distributed platforms" on #devopsThe influence of "Distributed platforms" on #devops
The influence of "Distributed platforms" on #devops
Kris Buytaert1.3K views
Dev secops opsec, devsec, devops ? by Kris Buytaert
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?
Kris Buytaert17.4K views
Automating MySQL operations with Puppet by Kris Buytaert
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
Kris Buytaert1.8K views
From MonitoringSucks to Monitoring Love , 2016 Edition by Kris Buytaert
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 Edition
Kris Buytaert29.4K views
Deploying your SaaS stack OnPrem by Kris Buytaert
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
Kris Buytaert681 views
Another 7 tools for your #devops stack by Kris Buytaert
Another 7 tools for your #devops stackAnother 7 tools for your #devops stack
Another 7 tools for your #devops stack
Kris Buytaert1.6K views

Similar to Run stuff, Deploy Stuff, Jax London 2017 Edition

Pipeline as code for your infrastructure as Code by
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
1.9K views59 slides
Continuous Delivery of (y)our infrastructure. by
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
3K views45 slides
Icinga Camp Amsterdam - Infrastructure as Code by
Icinga Camp Amsterdam - Infrastructure as CodeIcinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as CodeIcinga
3.3K views37 slides
Continuous Infrastructure First by
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
521 views42 slides
Continuous Infrastructure First Ignite Edition by
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite EditionKris Buytaert
476 views20 slides
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert by
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertMykola Marzhan
24 views20 slides

Similar to Run stuff, Deploy Stuff, Jax London 2017 Edition(19)

Pipeline as code for your infrastructure as Code by Kris Buytaert
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
Kris Buytaert1.9K views
Continuous Delivery of (y)our infrastructure. by Kris Buytaert
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
Kris Buytaert3K views
Icinga Camp Amsterdam - Infrastructure as Code by Icinga
Icinga Camp Amsterdam - Infrastructure as CodeIcinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as Code
Icinga3.3K views
Continuous Infrastructure First by Kris Buytaert
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
Kris Buytaert521 views
Continuous Infrastructure First Ignite Edition by Kris Buytaert
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite Edition
Kris Buytaert476 views
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert by Mykola Marzhan
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
Mykola Marzhan24 views
From Config Management Sucks to #cfgmgmtlove by Kris Buytaert
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove
Kris Buytaert2K views
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert by NETWAYS
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
NETWAYS152 views
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert by NETWAYS
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris BuytaertOSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
NETWAYS81 views
When traditional configuration management is to slow for your needs by Kris Buytaert
When traditional configuration management is to slow for your needsWhen traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needs
Kris Buytaert1.4K views
Open Source Monitoring in 2019 by Kris Buytaert
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019
Kris Buytaert1.5K views
Monitoring in an Infrastructure as Code Age by Puppet
Monitoring in an Infrastructure as Code AgeMonitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code Age
Puppet7.2K views
Monitoring in an Infrastructure as Code Age by Kris Buytaert
Monitoring in an Infrastructure as Code AgeMonitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code Age
Kris Buytaert12K views
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove by NETWAYS
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveOSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
NETWAYS204 views
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ... by DynamicInfraDays
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
DynamicInfraDays784 views
Monitoring Drupal In an Infrastructure as Code Age by Kris Buytaert
Monitoring Drupal In an Infrastructure as Code AgeMonitoring Drupal In an Infrastructure as Code Age
Monitoring Drupal In an Infrastructure as Code Age
Kris Buytaert10.6K views

More from Kris Buytaert

Years of (not) learning , from devops to devoops by
Years of (not) learning , from devops to devoopsYears of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoopsKris Buytaert
65 views44 slides
Observability will not fix your Broken Monitoring ,Ignite by
Observability will not fix your Broken Monitoring ,IgniteObservability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,IgniteKris Buytaert
167 views20 slides
Infrastructure as Code Patterns by
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code PatternsKris Buytaert
117 views53 slides
From devoops to devops 13 years of (not) learning by
From devoops to devops 13 years of (not) learningFrom devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learningKris Buytaert
185 views40 slides
Pipeline all the Dashboards as Code by
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as CodeKris Buytaert
644 views20 slides
Help , My Datacenter is on fire by
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fireKris Buytaert
542 views38 slides

More from Kris Buytaert(18)

Years of (not) learning , from devops to devoops by Kris Buytaert
Years of (not) learning , from devops to devoopsYears of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoops
Kris Buytaert65 views
Observability will not fix your Broken Monitoring ,Ignite by Kris Buytaert
Observability will not fix your Broken Monitoring ,IgniteObservability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,Ignite
Kris Buytaert167 views
Infrastructure as Code Patterns by Kris Buytaert
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code Patterns
Kris Buytaert117 views
From devoops to devops 13 years of (not) learning by Kris Buytaert
From devoops to devops 13 years of (not) learningFrom devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learning
Kris Buytaert185 views
Pipeline all the Dashboards as Code by Kris Buytaert
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as Code
Kris Buytaert644 views
Help , My Datacenter is on fire by Kris Buytaert
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fire
Kris Buytaert542 views
Devops is Dead, Long live Devops by Kris Buytaert
Devops is Dead, Long live DevopsDevops is Dead, Long live Devops
Devops is Dead, Long live Devops
Kris Buytaert289 views
10 years of #devopsdays, but what have we really learned ? by Kris Buytaert
10 years of #devopsdays, but what have we really learned ? 10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ?
Kris Buytaert594 views
Continuous Infrastructure First by Kris Buytaert
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
Kris Buytaert568 views
Is there a Future for devops ? by Kris Buytaert
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ?
Kris Buytaert478 views
10 Years of #devopsdays weirdness by Kris Buytaert
10 Years of #devopsdays weirdness10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness
Kris Buytaert400 views
ADDO 2019: Looking back at over 10 years of Devops by Kris Buytaert
ADDO 2019:    Looking back at over 10 years of DevopsADDO 2019:    Looking back at over 10 years of Devops
ADDO 2019: Looking back at over 10 years of Devops
Kris Buytaert578 views
Looking back at 5 years of #cfgmgmtcamp by Kris Buytaert
Looking back at 5 years of #cfgmgmtcampLooking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcamp
Kris Buytaert625 views
Looking back at 7.5 years of Devopsdays , DOd PDX by Kris Buytaert
Looking back at 7.5 years of Devopsdays , DOd PDXLooking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDX
Kris Buytaert463 views
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS by Kris Buytaert
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSDevopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Kris Buytaert772 views

Recently uploaded

MVP and prioritization.pdf by
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
38 views8 slides
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...ShapeBlue
46 views29 slides
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPoolShapeBlue
40 views10 slides
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...ShapeBlue
83 views15 slides
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
102 views19 slides
State of the Union - Rohit Yadav - Apache CloudStack by
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
145 views53 slides

Recently uploaded(20)

DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue46 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue40 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue83 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue102 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue145 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue96 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue46 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue88 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue42 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely56 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty46 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue46 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue119 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue48 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue63 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray1080 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software344 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue91 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash81 views

Run stuff, Deploy Stuff, Jax London 2017 Edition

  • 1. Deploy Stuff, Run Stuff Jax Devops London 2017 Kris Buytaert @krisbuytaert
  • 2. Kris BuytaertKris Buytaert ● I used to be a Dev,I used to be a Dev, ● Then Became an OpThen Became an Op ● Chief Trolling Officer and Open SourceChief Trolling Officer and Open Source Consultant @Consultant @inuits.euinuits.eu ● Everything is an effing DNS ProblemEverything is an effing DNS Problem ● Building Clouds since before the bookstoreBuilding Clouds since before the bookstore ● Some books, some papers, some blogsSome books, some papers, some blogs ● Evangelizing devopsEvangelizing devops ● Organiser of #devopsdays, #cfgmgmtcamp,Organiser of #devopsdays, #cfgmgmtcamp, #loadays, ….#loadays, ….
  • 3. What's this devopsWhat's this devops thing anyhow ?thing anyhow ?
  • 5. the “old” daysthe “old” days ● ““Put this Code Live, here's a tarball” NOW!Put this Code Live, here's a tarball” NOW! ● What dependencies ?What dependencies ? ● No machines available ?No machines available ? ● What database ?What database ? ● Security ?Security ? ● High Availability ?High Availability ? ● Scalability ?Scalability ? ● My computer can't install this ?My computer can't install this ?
  • 7. HistoricallyDifferent GoalsHistoricallyDifferent Goals DevelopmentDevelopment ● New releasesNew releases ● New FeaturesNew Features ● New platformsNew platforms ● New architecturesNew architectures ● Functional ReqFunctional Req OperationsOperations ● Stable PlatformStable Platform ● No DowntimeNo Downtime ● Scalable PlatformScalable Platform ● Non Functional ReqNon Functional Req
  • 9. DOD in ScrumDOD in Scrum • DoD is a checklist of valuable activities requiredDoD is a checklist of valuable activities required to produce software.to produce software. • Definition of Done is a simple list of activitiesDefinition of Done is a simple list of activities (writing code, coding comments, unit testing,(writing code, coding comments, unit testing, integration testing, release notes, designintegration testing, release notes, design documents, etc.) that adddocuments, etc.) that add verifiable/demonstrable value to the product.verifiable/demonstrable value to the product. • DoD is the primary reporting mechanism forDoD is the primary reporting mechanism for team members.team members.
  • 10. Done means testedDone means tested
  • 11. Done means deployedDone means deployed In productionIn production
  • 12. If it isn't monitored it isn't inIf it isn't monitored it isn't in productionproduction Done = In production andDone = In production and MonitoredMonitored
  • 13. A software project is not done untilA software project is not done until your last enduser is in his grave !your last enduser is in his grave ! Kris Buytaert, #devopsdays Amsterdam 2013Kris Buytaert, #devopsdays Amsterdam 2013
  • 15. NF RequirementsNF Requirements Non functional requirements are not part of aNon functional requirements are not part of a sprintsprint
  • 16. the un-buildablethe un-buildable ● The libraries you depend on have beenThe libraries you depend on have been removed by the upstream authorremoved by the upstream author • Too oldToo old • AbandonnedAbandonned ● You haven't specified the versions and theYou haven't specified the versions and the 'latest' version is'latest' version is • BrokenBroken • incompatibleincompatible ● Rubybems.org,Github.com is downRubybems.org,Github.com is down
  • 22. the un-deployablethe un-deployable ● You require manual changes to filesYou require manual changes to files • Files in different locationsFiles in different locations ● Your haven't versioned all the filesYour haven't versioned all the files • Plenty of files are missingPlenty of files are missing • Missing librariesMissing libraries ● Do you really expect everyone to know how toDo you really expect everyone to know how to deploy your Flavour of the week stackdeploy your Flavour of the week stack
  • 23. ““If my computerIf my computer can't install it,can't install it, the installer isthe installer is broken”broken” Luke Kanies atLuke Kanies at Fosdem (2007)Fosdem (2007)
  • 24. the un-configurablethe un-configurable ● Sometimes the preconfigured oneSometimes the preconfigured one ● Config is inside the build artifactConfig is inside the build artifact • .war, binary, code.war, binary, code ● Redeploy / restart is required to reconfigureRedeploy / restart is required to reconfigure ● Log on with the credentials generated inLog on with the credentials generated in /tmp/blahX2312/tmp/blahX2312 ● Click on the 3rd button on the left, then downClick on the 3rd button on the left, then down and first on the right.and first on the right.
  • 25. As an Ops personAs an Ops person ““As a system administrator, I can tell whenAs a system administrator, I can tell when software vendors hate me. It shows in theirsoftware vendors hate me. It shows in their products.”products.” ““DON'T make the administrative interface aDON'T make the administrative interface a GUI. System administrators need aGUI. System administrators need a command-line tool for constructingcommand-line tool for constructing repeatable processes. Procedures are bestrepeatable processes. Procedures are best documented by providing commands thatdocumented by providing commands that we can copy and paste from the procedurewe can copy and paste from the procedure document to the command line. We cannotdocument to the command line. We cannot achieve the same repeatability when theachieve the same repeatability when the instructions are: "Checkmark the 3rd andinstructions are: "Checkmark the 3rd and 5th options, but not the 2nd option, then5th options, but not the 2nd option, then click OK." Sysadmins do not want a GUI thatclick OK." Sysadmins do not want a GUI that requires 25 clicks for each new user.”requires 25 clicks for each new user.” Thomas A. Limoncelli in ACM Queue December 2010Thomas A. Limoncelli in ACM Queue December 2010 http://queue.acm.org/detail.cfm?id=1921361http://queue.acm.org/detail.cfm?id=1921361
  • 26. the un-runnablethe un-runnable ● You shipped a .exe fileYou shipped a .exe file • We run on LinuxWe run on Linux ● You shipped a Docker fileYou shipped a Docker file • We have no containerized infrastructureWe have no containerized infrastructure ● Your application connects to 10.0.0.1:3306Your application connects to 10.0.0.1:3306 ● Your application connects toYour application connects to myapp.ourcompany.commyapp.ourcompany.com ● Your code requires Python 5Your code requires Python 5 • We are on EL 7We are on EL 7
  • 27. the un-clusterablethe un-clusterable ● Where is your state ?Where is your state ? ● How do you know where to connect to ?How do you know where to connect to ? ● /tmp is not a distributed filesystem/tmp is not a distributed filesystem
  • 28. the un-cloudablethe un-cloudable ● Where is your state ?Where is your state ?
  • 29. the un-securedthe un-secured ● Clear text passwords in config filesClear text passwords in config files ● Passwords as parametersPasswords as parameters ● No encryptionNo encryption ● Vague ssl version build inVague ssl version build in ● No authentication at allNo authentication at all ● Users are stored locallyUsers are stored locally
  • 30. Culture,Culture, Automation,Automation, Measurement :Measurement : measure all the thingsmeasure all the things SharingSharing
  • 31. the un-monitorablethe un-monitorable ● Is this thing even on ?Is this thing even on ? ● Logs ?Logs ? ● Log verbosity ?Log verbosity ? ● Log corelation ?Log corelation ? ● Consistent output for testingConsistent output for testing ● If the enduser calls, your monitoring has failedIf the enduser calls, your monitoring has failed
  • 32. the un-measurablethe un-measurable ● No metrics,No metrics, ● No log entries to derive metrics from,No log entries to derive metrics from, ● Please providePlease provide • MetricsMetrics • Health / status page / apiHealth / status page / api • LogsLogs
  • 35. This new 'D' hypeThis new 'D' hype ● New kid on the blockNew kid on the block ● Vagrant-lxc with a nice cliVagrant-lxc with a nice cli ● The Ultimate “devops tool”The Ultimate “devops tool” ● ““Unseen” growthUnseen” growth ● Docker is the new cool thing to doDocker is the new cool thing to do
  • 37. A typical EnterpriseA typical Enterprise ContainerContainer● No different from aNo different from a full vmfull vm ● Multiple servicesMultiple services running in onerunning in one containercontainer ● Ssh is the defaultSsh is the default connectionconnection
  • 38. Why ?Why ? ● I want a VMI want a VM • Please fill in these 4 formsPlease fill in these 4 forms • Wait 2 weeks.Wait 2 weeks. ● RepeatRepeat IT Departments have not adapted,IT Departments have not adapted, 'Shadow'-IT is winning'Shadow'-IT is winning
  • 39. These DaysThese Days ● ““Put this Code Live, here's a DockerPut this Code Live, here's a Docker Container ”Container ” ● No machines available ?No machines available ? ● What database ? Where to store theWhat database ? Where to store the data ?data ? ● Security ? What distro is this even ?Security ? What distro is this even ? Bad Cows ?Bad Cows ? ● How do we monitor his ?How do we monitor his ? ● Backups ?Backups ? ● How did you build this ?How did you build this ?
  • 40. 11 days into operations11 days into operations ● ““Put this Code Live, here'sPut this Code Live, here's Dockerfile”Dockerfile” ● What corporate proxy ?What corporate proxy ? ● Oh I missed 2 other containersOh I missed 2 other containers ● Security ? What distro is this even ?Security ? What distro is this even ? Bad Cows ?Bad Cows ? ● What do you mean “We are a RHELWhat do you mean “We are a RHEL shop ?”shop ?”
  • 41. Closing the gaps between dev and ops,Closing the gaps between dev and ops, AGAIN !!AGAIN !! ● Where do your containers come from ?Where do your containers come from ? ● Who build it ?Who build it ? ● Can you rebuild it ?Can you rebuild it ? ● Do you even need a containerDo you even need a container ● How do you build the hosts that run theHow do you build the hosts that run the containers ?containers ? ● Infrastructure as code ++Infrastructure as code ++
  • 42. Image Build by devs,Image Build by devs, maintained by nobodymaintained by nobody
  • 43. Can you ?Can you ? ● When GitHub is down ?When GitHub is down ? ● When rubygems.org isWhen rubygems.org is down ?down ? ● When someone removesWhen someone removes a Node.js library ?a Node.js library ? ● Fix critical SecurityFix critical Security Issues ?Issues ? ● Can your business suriveCan your business surive if you answer NO toif you answer NO to these questions ?these questions ?
  • 44. ● I love docker as aI love docker as a technologytechnology ● I hate that it too oftenI hate that it too often put us back 5 years withput us back 5 years with regards to Cultureregards to Culture adoptionadoption ● Docker is an easy victim,Docker is an easy victim, there's other tools thatthere's other tools that create similar situationscreate similar situations ● It's still mostly aboutIt's still mostly about CultureCulture It's still aboutIt's still about collaborationcollaboration
  • 45. It's not about the toolsIt's not about the tools It's about changeIt's about change It's about the peopleIt's about the people
  • 46. ContactContact Kris BuytaertKris Buytaert Kris.Buytaert@inuits.beKris.Buytaert@inuits.be Further ReadingFurther Reading @krisbuytaert@krisbuytaert http://www.krisbuytaert.be/blog/http://www.krisbuytaert.be/blog/ http://www.inuits.be/http://www.inuits.be/ InuitsInuits Essensteenweg 31Essensteenweg 31 BrasschaatBrasschaat BelgiumBelgium 891.514.231891.514.231 +32 475 961221+32 475 961221