From Silos to DevOps to Platform Engineering
Embracing GitOps and going behind the hype
Speaker : Horacio Gonzalez - @LostInBrittany

1Horacio Gonzalez@LostInBrittany
Spaniard Lost in BrittanyAdding layers of shiny complexity
Last 30 years in software development

From write-compile-exec to Kubernetes

From write-compile-exec to Kubernetes

If I were a student now, I would feelscaredPlatform Engineering to the rescue

Empowering developers while reducing complexity

IT in the 90s
Once upon a time…

In a time almost forgotten

When even internet was young...

When Windows 95 was the cutting edge

And a 100 Mb disk was huge…

Big companies still used mainframes

Bigger, fancier, but still the same old IBM

Bare-metal based IT reigned

Control, reliability, security…
But cost, rigidity, logistics...

Applying the industrial model

Trying to shoehorn IT into a model where it doesn't ﬁtWalls & Silos

And procedures, and hierarchy, and corporate politics

Why are we managing IT like factories?

Because we didn't know otherwise?

Tooling evolves
CVS, Ant and (Leeeroy) Jenkins

Old school procedures

Tooling empowering changes

Theory existed since 1999
But without the right tooling…

Source control tools

Better than copying and renaming folders…

Dependency management & build

Better than grabbing each dependency in their website
and running javac by hand…

Unit testing and continuous integration

Hudson CI

If Testing is Doubting, let's doubt automaticallyMonitoring tools

No more spending nights looking at a status screenSo many more possibilities…

So much more complexity!

XP, agility and DevOps
Buzzwords that changed the IT

Extreme Programming

Manifesto for Agile SoftwareDevelopment

Breaching walks, breaking down silos

The business of AgilityThe Dark Side rises

Agile ToolingBack to industrial practices ?

DevOps: breaking Dev and Ops SilosDevOps is a reaction to the wall of confusion

Making the different stakeholders
to work together in sync

DevOps anti patterns

More in DevOps Topologies site

DevOps also has another Dark SideWTF is a DevOps Engineer? And a DevSecOps?
A DevMlOps? A DevAiDataSecOps? A Dev*Ops?

So we have Cults of Agility and Dev*Ops

And so much more complexity!

Enter the Cloud
Renting server time in other's people infraFrom virtualisation to the cloud

How to use the infrastructure at its full capacity

Cloud demands automation

It changes the way how IT works

And it demands a mentality changeEmpowering developers

Infrastructure is only a click away

Distributed is the new black

Cloud Native architectures and services

Sysadmins who code

Creating tools: automation, monitoring, observability…

New roles appear: SRE

WTF is a System Reliability Engineer?

250 cloud products only in this provider…

And so much more complexity!

Declarative Infrastructure
The intern metaphor

Containers make dev life easierLess simple if you must operate themLike in a production context

And what about microservices?

Are you sure you want to operate them by hand?

And what about microservices?

Are you sure you want to operate them by hand?

Kubernetes: a full orchestrator

Kubernetes - Desired State Management

Infrastructure as CodeContainers? Pods? Ansible? Terraform?

So much more complexity!

Becoming a developer in 2024
Do I need to know all that?

So many things to learn…

So many options …

Managing the self-service commodity

Shift left and Cognitive Load

Platform Engineering to therescue
Without adding more complexity?

What's Platform Engineering?
Platform engineering is the discipline of designing and building
toolchains and workflows that enable self-service capabilities forsoftware engineering organizations in the cloud-native era.
Platform engineers provide an integrated product most often
referred to as an “Internal Developer Platform” covering theoperational necessities of the entire lifecycle of an application.
Lucca Galante

A fancy name for something alreadythere
Most companies already havesome kind of platform
Often homemade…

The purpose of Platform Engineering

Empowering developers while reducing complexity

But how can we create them?

GitOpsWhat is GitOps?

Git is thesingle sourceof truth

Treateverything ascodeOperations
through Gitworkflows

Beneﬁts of GitOps

Team Topologies
It's not only a tool, but an organisation

Team Topologies

https://teamtopologies.com/

Team Topologies

https://teamtopologies.com/

Team Topologies

https://teamtopologies.com/

Principles of Platform Engineering
To make it work

Paving golden paths
Platform engineering is about binding process and tools into a pavedroad. Rather than letting everybody operate everything and having tounderstand the entire toolchain to do so, platform engineers provide
the glue to bind everything into a consistent self-service experience.

Clear mission and rolePlatform as a ProductFocus on common problems

Glue is valuable

Don't reinvent the wheel

An IDP over Kubernetes
What could I use?

Don't put everything into Kubernetes

Operators simplify Kubernetes
integration

Lots of available operators

Hey JUG Summer Camp, operators ❤ Java

So you have a bunch of operators…

Too many options again…

Use a Platform Engineering frameworkSet-up a robust CI/CD/GitOps pipeline

An IDP without Kubernetes
There is a life outside K8s…

What if developers only developed?

PaaS as cornerstone of a dev-centered
IDPClever Cloud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