From Silos to DevOps to Platform Engineering Embracing GitOps and going behind the hype Sébastien Blanc Horacio Gonzalez

Who are we? Sébastien Blanc Horacio Gonzalez DevRel DevRel @sebi2706 @LostInBrittany

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 feel scared

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 fit

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 Software Development

Breaching walks, breaking down silos

The business of Agility The 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 Side WTF 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 them Like 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 the rescue 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 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

A fancy name for something already there Most companies already have some 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 the single source of truth Treat everything as code Operations through Git workflows

Benefits 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 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.

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 Devoxxians, 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