image: wateroakforge.com turning sysadmins into cloud … · 2019-06-25 · • noops (the deluded)...

42
TURNING SYSADMINS INTO CLOUD PLATFORM ENGINEERS UCCSC 2018 Image: wateroakforge.com

Upload: others

Post on 13-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

TURNING SYSADMINS INTO CLOUD PLATFORM ENGINEERS

UCCSC 2018

Image: wateroakforge.com

Page 2: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together
Page 3: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together
Page 4: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

What’s a “Platform Engineer”?

Page 5: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

PROFESSION RENAMING COMPETITION

• DevOps (Amazon)

• SRE (Google)

• NoOps (The Deluded)

Page 6: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

As a platform engineer, your job is to make sure all the components work together as a single, integrated

whole. This is a different role then a DevOps engineer; you are responsible for the infrastructure of the

platform, not any specific application in that platform.

Page 7: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

SO IT MAKES SENSE…• The term actually most closely reflects what we do

• Wrangling hardware, installer DVDs and cables has been nostalgia for over a decade

• Once you manage enough systems deterministic builds becomes a survival mechanism

• Our team has works closely with application teams to build a common platform for years

Page 8: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

WHAT’S CHANGED

• Virtualization stops being about hardware consolidation and starts being about self-service

• VMs are totally disposable

• Sysadmins are no longer gatekeepers

• Everything is now an API. Developers love APIs

Page 9: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

DEV VS. SYS… ROUND ONE

• Great developers solve for the applications and service (narrowly scoped)

• Great sysadmins solve for reliable and reproducible infrastructure (broadly scoped)

• This is a natural and healthy tension

Page 10: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

spreadsheet.com

Page 11: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

Warner Brothers

Page 12: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

WHAT DOES IT MEAN?

• Keeping thins loose kinda works

• Drawing strict boundaries kinda works

• Not doing anything confuses everyone

• Starting with requirements really helps

Page 13: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

OUR EXPERIENCE• Drop-dead date on when we have to be “done”

• Lock engineers in a room and clear their schedule

• Buy them two pizzas

• Accept big compromises

• PROMISE engineers that the compromises will be corrected (and mean it)

Page 14: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

It is often easier to move your application to the cloud than it is to manage it once it’s there

Page 15: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together
Page 16: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

HEROISM IS NOT A SUSTAINABLE MODEL

• These people burn out

• Those not involved don’t learn, becoming more disaffected

• They build things in a vacuum

• Lack of communications creates de-facto vertical silos with almost impenetrable boundaries

• NIH syndrome on each team

Page 17: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together
Page 18: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

–Melvin Conway

“Organizations which design systems ... are constrained to produce designs which are copies of

the communication structures of these organizations.”

Page 19: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

BASIC APP STACK

Network

OS

Libraries

Application

Page 20: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

CLASSIC PATTERN

• VM as a first-class citizen

• Loose coupling between system and application

• Build it, manage it, patch it, love it Network

OS

Libraries

Application

Page 21: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

WHAT WOULD CONWAY PREDICT?

• A “department” style org

• Network Department

• Systems Department

• Application Department

• Database Department

• Storage Department

• Etc…Network

OS

Libraries

Application

NetworkTeam

SysadminTeam

ApplicationsTeam

Page 22: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

TWO-PIZZA MIGRATION• Built by tiger team under time

pressure

• Tight coupling between system and application

• Made from templates and recipes

• Rebuild to upgradeNetwork

OS

Libraries

Application

Page 23: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

Network

OS

Libraries

Application

SysadminApp Admin

Network Admin

WHAT WOULD CONWAY PREDICT?

A vertical silo specific to each application

Page 24: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

IT MOVED FAST BUT…

• Everyone on that team made a million decisions that tightly coupled every line of code to that specific application

• Their work is not particularly usable by other teams

• Their knowledge extends only to that specific application

• Downstream integrations become bespoke (security, logging, etc)

Page 25: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

I HAVE NOTICED• Tactical decisions are made in vertical teams

• Sacrifice long-term value for short-term results

• The consultant paradox

• Strategic decisions get made in horizontal teams

• Build once, use everywhere

• Cloud experts are crazy expensive

• You cannot be really good at everything

Page 26: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

Network

OS

Libraries

Application

NetworkTeam

SysadminTeam

ApplicationsTeam

BETWEEN DEPARTMENTS

Page 27: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

Network

OS

Libraries

Application

ApplicationTeam 2

ApplicationTeam 1

Network

OS

Libraries

Application

BETWEEN APPLICATIONS

Page 28: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

OK, Cliff… If you’re so smart, what do you propose?

Page 29: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

NASA?They’ve been able to launch rockets… Maybe they have

some ideas?

Page 30: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together
Page 31: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

Before building anything…

Page 32: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

TECHNOLOGY PORTFOLIOS PREVENT MADNESS

• Cloud Formation

• OpsWorks (Chef)

• Lambda

• Git

Page 33: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

TAKE TIME TO UNDERSTAND NETWORKING

• VPCs are like elaborate home networks

• RFC1918 networks everywhere

• NAT gateways

• Static routes

• If you do nothing else, govern your private space

Page 34: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

• Printing

• Authentication

• Users (POSIX)

• Groups (POSIX)

• Base Packages

• Logging

• NTP

• CIS Security Template

• Backups

• Housekeeping Scripts

• Patching

• Much More

“BASE OFFERINGS”

Page 35: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

• Can be anything form a full application to a single line in a configuration file

• Everything you need that is common across applications

• Usually expressed in CloudFormation and Chef

Page 36: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

TREAT THEM LIKE SUPPORTED SOFTWARE PRODUCTS

• Draw boxes around offerings & do them well

• Easy integration

• Accept and incorporate feedback

• Avoid introducing toxic changes

• Automate everything

• You don’t need to write them all

Page 37: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

PLATFORM ENGINEERING PATTERN

• Offerings are written by distributed teams

• Owned by a service oriented team

• Application as a first-class citizen

• Offerings are treated as products

Network

OS

Libraries

Application

Page 38: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

WHAT WOULD CONWAY PREDICT?

Network

OS

Libraries

Application

Network Team

SysadminTeam

ApplicationsTeam

• Limited siloing around offerings

• Lots of communication flow between teams

• Reusable code

• Interchangeability between team members

Page 39: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

SOUNDS GREAT, BUT…• It is slower

• Experts can become fatigued

• People sometimes forget to ask before solving the same problem again

• The concept of “finished” is frustratingly vague

• Mistrust of the unfamiliar is real

Page 40: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

MENTORSHIP• Some team members will dive right in, others won’t

• This is enough of a paradigm shift that strong engineers will feel intimidated (they are used to being good at things)

• Small offerings make for good training

• Screen sharing as a training tool

Page 41: Image: wateroakforge.com TURNING SYSADMINS INTO CLOUD … · 2019-06-25 · • NoOps (The Deluded) As a platform engineer, your job is to make sure all the components work together

FINAL THOUGHTS• Cloud providers promise turn-key AGILE (It’s a lie)

• Two pizza teams will get you there, but are less helpful in operating the environment

• Platform engineers are closer to the “dev” than the “ops”

• The ability to move fast is something you earn

• Production is war, and war is hell (do your engineering up-front)

• Prioritize one-to-many relationships

• Make tools not widgets

• Have fun, build bridges and make friends on other teams