Enterprise flight into DevOps space for DevOps Linz 2016

  • View
    147

  • Download
    0

Embed Size (px)

Text of Enterprise flight into DevOps space for DevOps Linz 2016

  • 01

  • Aboutme02

  • AndreyAdamovichJava/Groovydeveloper,cleancoder

    DevOpsguy,automationjunkie

    Coorganizerof@latcraftand@devternity

    Coachat@devchampions

    Twitter:@codingandrey

    03

  • Enterprise!04

  • ...orEnterprisey?

    05

  • Thestory06

  • Onceuponatime...

    07

  • Anemailarrives...

    08

  • ...let'sgettowork

    09

  • ...twodayslater...

    10

  • ...fivedayslater...

    11

  • AnotheremailHiJack,IgotacallfromSandy,thesecretproject'sPM,shesaysthat

    theDEVserversarenotreadyyet,Ireallywantyoutounderstandhow

    criticalisthisprojectfortheorganization,please,don'tletmedown...

    Francis,VP

    12

  • Jack'sbossHiJack,Iunderstandyouhavebeenworkingonthesecretproject

    serverssetuprecently,don'tforgetthatweneedtokeepthe

    documentationuptodateyeah?

    13

  • Noproblem!Weknowhowtowritedocs.

    14

  • ...inthemeanwhile...

    15

  • ThedreadedCRHeyJack,wecan'tdeployanymoretoourDEVservers.Whatthehell

    isgoingon?

    16

  • Fixing

    17

  • ...thingsgetworse...

    18

  • Worsethandown...

    19

  • UNKNOWNSTATE

    20

  • Chaos(r)21

  • The"secret"projectmovesintoQA

    22

  • TheGOLIVE!

    23

  • Let'sthrowmorepeopleatit

    24

  • ...it'sgoingtowork,right?

    25

  • Whataboutmonitoring?

    26

  • Dowehaveit?

    27

  • YES!28

  • But...

    29

  • Well...30

  • Sorry!31

  • Nohappyending?

    32

  • Whereistheproblem?

    33

  • CommunicationproblemsI

    34

  • CommunicationproblemsII

    35

  • Stabilityvs.agility

    36

  • Stagnationvs.stability?

    37

  • Unplannedwork

    38

  • GeneKim

    39

  • Unplannedworkcankill

    yourcompany!40

  • Unplannedvs.failed

    41

  • Unplannedvs.unique

    42

  • DevOps!43

  • Fixcommunication

    44

  • Sharingresponsibility

    45

  • Reducefailedchanges

    46

  • Reducenumberofuniqueconfigs

    47

  • Great!48

  • Nowwe'veheardaboutDevOps!

    49

  • Let'sdoit!50

  • Itwillsaveus!51

  • Butbeprepared...52

  • DevOpsishighlymisunderstoodYourbosshaveheardofDevOps!

    Recruitershavegonecrazy!

    AllwantDevOpsengineersnow?!?

    Doesitmeanthatdevelopershavetodoeverything?

    Naturalreactionistorejectthat!

    53

  • DevOpsTopologies54

  • MathewSkelton

    55

  • AntiTypes56

  • AntiTypeA:DevandOpsSilos

    57

  • AntiTypeB:DevOpsTeamSilo

    58

  • AntiTypeC:DevDon'tNeedOps

    59

  • AntiTypeD:DevOpsasToolsTeam

    60

  • AntiTypeE:RebrandedSysAdmin

    61

  • Types62

  • Type1:DevandOpsCollaboration

    63

  • Type2:FullySharedOpsReponsibilities

    64

  • Type3:OpsasInfrastructureasaService

    65

  • Type4:DevOpsasanExternalService

    66

  • Type5:DevOpsTeamwithanExpiryDate

    67

  • Anyquickhints?

    68

  • TALK!69

  • TALKMORE!70

  • SHARE!71

  • SHAREEVERYTHING!

    72

  • HintsforDevs73

  • Don'tignoreoperations!74

  • LoggingWheneveryouaddnewloggingstatementtoyourcode,remember

    thattheguyontheothersidecanactuallyreadit!

    Logginglevel,messageandfrequencyofloggingcanhelpordisturb

    75

  • Badloggingmessages

    76

  • ConfigurationStructureapplicationconfiguration

    Backwardscompatible,gooddefaults,goodnaming

    Donotmixtechnicalandbusinessconfiguration

    77

  • Badparameternaming

    78

  • MonitoringEmbedmonitoringcapabilitiesintoyourcode

    Knowmonitoringchannelsthatyouroperationsuse:JMX,SNMP,

    HTTP

    79

  • MonitoringvitalsTechnicalmetrics:

    CPU,Memory,Disk

    Resourcepools

    NetworkI/O

    Transactions/requests/operationspersecond/minute/hour

    Databaseperformance

    Businessmetrics

    80

  • Createdashboards!

    81

  • Alignearly!82

  • Latealignmentissues

    83

  • LearnhowtouseprovisioningsoftwarePuppet

    Chef

    Ansible

    Salt

    84

  • BuildacloneSameOSversion,

    samecomponents,

    sameconfiguration

    asinproductionenvironemnt,

    butrunninginvirtualmachineonyourlaptoporatsomecloudprovider

    85

  • PackagemanagersSystemadministratorsknowhowtoinstallstandardOSpackages

    Justmakeoneforthem!

    RPM,DEB,MSI...it'snotthathardtomaster!

    86

  • Artifactrepositories

    87

  • Automationoverdocumentation

    88

  • Automateeverythingrepeatablebuild

    release

    deploy

    test

    backup

    migration

    restarts

    89

  • HintsforOps90

  • ProblemsolvingGetdeveloperstosolveproductionproblems

    Lookathowtheydidit

    Postmortemanalysis

    91

  • MonitoringCreatedashboards!Many,butmeaningfuldashboards!

    Analyzeyourdata!

    Createalerts!

    92

  • LoggingAggregatelogs

    Analyzelogs

    Rotatelogs

    Cleanlogs

    93

  • LearnhowtouseprovisioningsoftwarePuppet

    Chef

    Ansible

    Salt

    94

  • Infrastructureascode

    95

  • Keepitinversioncontrol

    96

  • PortchangesbacktoDEV!

    97

  • Preparefordisaster!Backups!

    Testyourbackups.Seriously!

    Capacityplanning.

    98

  • Readingmaterial

    99

  • ThePhoenixProject

    100

  • ContinuousDelivery

    101

  • ReleaseIt

    102

  • InvitingDisaster

    103

  • DevOpsblogshttp://enterprisedevops.com/

    http://itrevolution.com/devopsblog/

    104

    http://enterprisedevops.com/http://itrevolution.com/devops-blog/

  • Questions?105

  • Thankyou!106

  • Haveaniceflight!

    107

  • 108