Breaking DevOps

A presentation at Code Republic Lunch & Learn in January 2021 in by Max Körbächer

Slide 1

Slide 1

Breaking DevOps Max Körbächer @ CodeRepublic

Slide 2

Slide 2

Stay connected maxkoerbaecher; mkoerbi; mkorbi Co-Founder & Sr. Manager Cloud Native Engineering @ Liquid Reply Kubernetes Release Team Cloud Native Enthusiast and Advocate

Slide 3

Slide 3

Why DevOps currently is broken

Slide 4

Slide 4

Slide 5

Slide 5

What is DevOps? Blogs & Articles ● ● ● Infrastructure Automation – create your systems, OS configs, and app deployments as code. Continuous Delivery – build, test, deploy your apps in a fast and automated manner. Site Reliability Engineering – operate your systems; monitoring and orchestration, sure, but also designing for operability in the first place. Source: theagileadmin.com; AWS; every Medium Blog post about DevOps

Slide 6

Slide 6

What is DevOps? The Phoenix Project The Principles of Flow Make your work visible; Limit work in process (WIP); Reduce batch sizes; Reduce the number of handoffs; Continually identify and address your bottlenecks; Eliminate hardships and waste in the value stream The Principles of Feedback Design a safe system of work; See problems as they occur; Swam and solve problems to build new knowledge; Keep pushing quality closer to the source; Enable optimizing for downstream teams The Principles of Continual Learning & Experimentation Enable an organizational learning and safety culture; Institutionalize the improvement of daily work; Transform local discoveries into global improvements; Inject resilience patterns into our daily work; Leaders reinforce a learning culture Source: The DevOps Handbook

Slide 7

Slide 7

What is DevOps? Wiki

Slide 8

Slide 8

Everything clear now?

Slide 9

Slide 9

Nothing is clear companies all do if differently developer should become operations operations should do development “it is just IT, you should know it” - right, and your Orthopedist does also do brain surgeries

Slide 10

Slide 10

DevOps appear when IT was stressed Remember? ● ● ● ● ● ● When you need to order new VMs (yes, order!) Developer complain about that the Operations doesn’t understand how to run the App Operations complain about that Developer doesn’t know how to write a good App Everyone else complains in general about IT and its costs Microservices everywhere (in the mouth), CI/CD tools hit the adoption, business talking about bringing features faster to the client Less professionals on the market

Slide 11

Slide 11

DevOps worked well and works well, but not for any case It works when: ● ● ● ● you build it you run it (partially) is applicable system complexity can be explained on a single piece of paper vertical, lean responsibility your team member can take over also other domains tasks (not as expert, but to keep alive)

Slide 12

Slide 12

Moving IT Why DevOps (as we know it) is just an interim solution DevOps Then Now/Next architecture many services, many storages, multi device 2-4 major, 4-8 minor releases per anno once or twice per day commercial, one tech stack, stability design principles best fit, flexibility, open source, exchangeable unit + with the release test complexity one version, one API compatibility front & back end + DB on every commit from unit to functional tests multiple version, multiple API versions

Slide 13

Slide 13

Filling the Gap Development + Then Operations ??? Now/Next front & back end + DB architecture ps many services, many storages, multi device 2-4 major, 4-8 minor releases per anno once or twice per day commercial, one tech stack, stability design principles best fit, flexibility, open source, exchangeable unit + with the release one version, one API O v e D test complexity compatibility on every commit from unit to functional tests multiple version, multiple API versions

Slide 14

Slide 14

Don’t take this slide to serious, but a DevOps Team which should focus on a vertical capability can’t cover all aspects Application Layer IDE Source Code/GIT CVE Scanner Build Pipeline Artefact Build Container Build Container Scan Deployment Container Registry Artefact Repository SIEM Custom App/Pod Managed App/Pod Commercial App/Pod Proxy Service Mash API Gateway Container Orchestration/K8s Container Engine CNI K8s Base Components Bare Metal VMs Cloud Secret Management Chaos Engineering Operations Tooling Monitoring Logging Alerting Anomaly Detection Backend as Service DB as Service Container Orchestration & Infrastructure Layer DEVELOPEMT & DEPLYOMENT K8S & APPLICATION BASE OPERATION

Slide 15

Slide 15

System complexity is growing for the good and the bad With growing system complexity, the underlying idea and approach of devops can’t fulfill the needs.

Slide 16

Slide 16

Today’s platforms are more, deeper Today platforms and systems have to integrate in a variety of other platforms and systems. While many of them are maintained, you still need to know how to use, build (on) and utilize them. What is often misunderstood, every topic is so much more today: ● ● ● ● ● ● K8s, Container Serverless, ICP Cloud, Hybrid, Edge Monitoring, Logging, Tracing & Observability CICD, GitOps, Release Mgmt., Lifecycle Security, Hardening, Scanning, Intrusion detection

Slide 17

Slide 17

DevOps

Slide 18

Slide 18

DevOps everyone and none Site Reliability Engineering -> Gives the purpose to the Job Broaden the expected responsibilities and field of knowledge is valuable as well as actively maintaining feedback loops. SRE Team 1 Application/Functions Kubernetes Public Cloud SRE Team 3 SRE Team 2 But I believe tall vertical towers doesn’t deliver faster, high quality well designed solutions. Except you have big team which can cover all aspects. For many SRE is just another name of DevOps, in fact it is very clear described what is the purpose of SRE and how achieve a well SREism

Slide 19

Slide 19

And where did DevOps go? DevOps makes Development working by supporting the integration DevOps fills again a gap: ● ● ● ● ● ● ● how to run on public cloud? how to run on container? what I need to consider from Kubernetes? how to control versions & releases? what is best to use to develop and deliver an app? what I don’t have to reinvent? … Platform Utilization apps services functions App Delivery Observability CICD/GitOps IaC Release & Lifecycle Test Auto. infrastructure of trust (cloud, kubernetes, serverless)

Slide 20

Slide 20

We just start to enter a new complexity With Public Cloud many things got easier, but the amount of available services is overwhelming. Moving on to a Kubernetes based system brings new opportunities but even more complexity. And companies just adopting it more and more. Kubernetes is the Go To Platform for the next years

Slide 21

Slide 21

Where DevOps should be apps services functions DevOps brings specific knowledge to integrate and run applications on a target platform. DevOps is an advisor for platform admins and application developers, acting as a mediation point. DevOps = Integration Engineer & Architect infrastructure of trust (cloud, kubernetes, serverless)

Slide 22

Slide 22

Making the implicit explicit Integrate and Advice for … Implicitly the vast majority of DevOps role descriptions includes our hot topics Platform Utilization App Delivery Observability So with just excluding the other 50% we have a nearly good role description for an DevOps apps services functions infrastructure of trust (cloud, kubernetes, serverless) CICD/GitOps IaC Release & Lifecycle Test Auto. We just have to add some words to make it explicitly clear and than we can start the major challenge to live this role!

Slide 23

Slide 23

The future teams an idea communicate your needs and get advice for options er s co be Un d er gn liv i de des ly t us gh uo e ri h tin d t rm on o c d fin atfo l vt n tp De s a ts vice arge or et pp ser Su ns/ or th f tio nc fu ta n de d th ve e nt ro lope nee d lle d d a sy s an d nd ste se m a targ cu n d ets re en ens of t vir ur h on es e to a m en t Dev ensure direct feedback and work together on optimization DevOps Integrator & Advisor Infra Ops Integrates a transparent release management, enable observability and a reproducible delivery of the whole stack give insights on improving stability

Slide 24

Slide 24

Thank you! What will be your DevOps journey?

Slide 25

Slide 25