From Silos to DevOps to Platform Engineering Embracing GitOps and going behind the hype Horacio Gonzalez
Slide 2
Horacio Gonzalez @LostInBrittany Spaniard Lost in Brittany
Slide 3
Adding layers of shiny complexity Last 30 years in software development
Slide 4
From write-compile-exec to Kubernetes
Slide 5
From write-compile-exec to Kubernetes
Slide 6
If I were a student now, I would feel scared
Slide 7
Platform Engineering to the rescue
Empowering developers while reducing complexity
Slide 8
IT in the 90s Once upon a time…
Slide 9
In a time almost forgotten
When even internet was young…
Slide 10
When Windows 95 was the cutting edge
And a 100 Mb disk was huge…
Slide 11
Big companies still used mainframes
Bigger, fancier, but still the same old IBM
Slide 12
Bare-metal based IT reigned
Control, reliability, security… But cost, rigidity, logistics…
Slide 13
Applying the industrial model
Trying to shoehorn IT into a model where it doesn’t fit
Slide 14
Walls & Silos
And procedures, and hierarchy, and corporate politics
Slide 15
Why are we managing IT like factories?
Because we didn’t know otherwise?
Slide 16
Slide 17
Tooling evolves CVS, Ant and (Leeeroy) Jenkins
Slide 18
Old school procedures
Slide 19
Tooling empowering changes
Theory existed since 1999 But without the right tooling…
Slide 20
Source control tools
Better than copying and renaming folders…
Slide 21
Dependency management & build
Better than grabbing each dependency in their website and running javac by hand…
Slide 22
Unit testing and continuous integration
Hudson CI
If Testing is Doubting, let’s doubt automatically
Slide 23
Monitoring tools
No more spending nights looking at a status screen
Slide 24
So many more possibilities…
So much more complexity!
Slide 25
Slide 26
XP, agility and DevOps Buzzwords that changed the IT
Slide 27
Extreme Programming
Slide 28
Manifesto for Agile Software Development
Slide 29
Breaching walks, breaking down silos
Slide 30
The business of Agility
The Dark Side rises
Slide 31
Agile Tooling
Slide 32
Back to industrial practices ?
Slide 33
DevOps: breaking Dev and Ops Silos
Slide 34
DevOps is a reaction to the wall of confusion
Making the different stakeholders to work together in sync
Slide 35
DevOps anti patterns
More in DevOps Topologies site
Slide 36
DevOps also has another Dark Side
WTF is a DevOps Engineer? And a DevSecOps? A DevMlOps? A DevAiDataSecOps? A Dev*Ops?
Slide 37
So we have Cults of Agility and Dev*Ops
And so much more complexity!
Slide 38
Slide 39
Enter the Cloud Renting server time in other’s people infra
Slide 40
From virtualisation to the cloud
How to use the infrastructure at its full capacity
Slide 41
Cloud demands automation
Slide 42
It changes the way how IT works
And it demands a mentality change
Slide 43
Empowering developers
Infrastructure is only a click away
Slide 44
Distributed is the new black
Cloud Native architectures and services
Slide 45
Sysadmins who code
Creating tools: automation, monitoring, observability…
Slide 46
New roles appear: SRE
WTF is a System Reliability Engineer?
Slide 47
250 cloud products only in this provider…
And so much more complexity!
Slide 48
Slide 49
Declarative Infrastructure The intern metaphor
Slide 50
Containers make dev life easier
Slide 51
Less simple if you must operate them
Like in a production context
Slide 52
And what about microservices?
Are you sure you want to operate them by hand?
Slide 53
And what about microservices?
Are you sure you want to operate them by hand?
Slide 54
Kubernetes: a full orchestrator
Slide 55
Kubernetes - Desired State Management
Slide 56
Infrastructure as Code
Slide 57
Containers? Pods? Ansible? Terraform?
So much more complexity!
Slide 58
Slide 59
Becoming a developer in 2024 Do I need to know all that?
Slide 60
So many things to learn…
Slide 61
So many options …
Slide 62
Managing the self-service commodity
Slide 63
Shift left and Cognitive Load
Slide 64
Platform Engineering to the rescue Without adding more complexity?
Slide 65
What’s Platform Engineering? Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application. Lucca Galante
Slide 66
A fancy name for something already there
Most companies already have some kind of platform Often homemade…
Slide 67
The purpose of Platform Engineering
Empowering developers while reducing complexity
Slide 68
But how can we create them?
Slide 69
GitOps
Slide 70
What is GitOps?
Git is the single source of truth
Treat everything as code
Operations through Git workflows
Slide 71
Benefits of GitOps
Slide 72
Team Topologies It’s not only a tool, but an organisation
Slide 73
Team Topologies
https://teamtopologies.com/
Slide 74
Team Topologies
https://teamtopologies.com/
Slide 75
Team Topologies
https://teamtopologies.com/
Slide 76
Principles of Platform Engineering To make it work
Slide 77
Paving golden paths Platform engineering is about binding process and tools into a paved road. Rather than letting everybody operate everything and having to understand the entire toolchain to do so, platform engineers provide the glue to bind everything into a consistent self-service experience.
Slide 78
Clear mission and role
Slide 79
Platform as a Product
Slide 80
Focus on common problems
Slide 81
Glue is valuable
Slide 82
Don’t reinvent the wheel
Slide 83
Slide 84
An IDP over Kubernetes What could I use?
Slide 85
Don’t put everything into Kubernetes
Slide 86
Operators simplify Kubernetes integration
Slide 87
Lots of available operators
Slide 88
Hey DevBCN, operators ❤ Java
Slide 89
So you have a bunch of operators…
Too many options again…
Slide 90
Use a Platform Engineering framework
Slide 91
Set-up a robust CI/CD/GitOps pipeline
Slide 92
An IDP without Kubernetes There is a life outside K8s…
Slide 93
What if developers only developed?
Slide 94
PaaS as cornerstone of a dev-centered IDP
Slide 95
Clever Cloud
Slide 96
Some Links to go further -
There Is No Such Thing as a DevOps Engineer DevOps Topologies What is Platform Engineering Team Topologies Kratix Aiven Clever Cloud