Going DevOps with BMC

Going DevOps with BMC

Using DevOps to improve the release process of big enterprises

29df1d6ab49d2bb0a1eb296d259121d8?s=128

Niek Bartholomeus

June 03, 2015
Tweet

Transcript

  1. 1"

  2. 2"

  3. 3"

  4. 4"

  5. 5"

  6. 6"

  7. This"is"what"a"typical"enterprise"applica6on"looks"like:"lots"of"technologies"with" interdependencies."Also"dependencies"on"the"infra"layers"and"on"technical"services." And"a"lot"of"documenta6on"to"describe"all"of"it." Development"and"produc6on"support"of"such"applica6ons"is"quite"complex"" 7"

  8. we"have"many"teams"to"develop,"maintain"and"support"all"of"these"technologies."" In"order"to"successfully"deliver"your"applica6on"to"the"end"users"it"has"to"pass"all"of" these"hands." " In"tradi6onal"enterprises"these"teams"are"typically"split"up"by"technology,"by" specialty."Each"team"typically"has"its"own"liJle"process"to"accomplish"the"work"and" may"have"its"own""pocket""of"tooling"and"automa6on."But"the"teams"have"very"liJle" knowledge"of"what"the"other"teams"are"doing"and"the"handMoffs"of"the"work"between" the"teams"is"very"ar6sanal,"using"word"templates,"or"6cke6ng"systems"with"long" queues"and"wai6ng"6me"and"lots"of"confusions"and"misunderstandings."

    " We"can"summarize"in"saying"that"the"work"is"op6mized"locally:"each"team"will"use"the" process"and"the"tooling"that"is"op6mized"for"THEIR"needs." " In"a"stable,"mature"domain"with"high"repe66on"of"work"and"rela6vely"liJle"handMoffs" between"the"teams"this"may"lead"to"a"reduc6on"of"the"cost"of"delivering"the"service" or"product." " In"soSware"development"on"the"other"hand,"its"hard"to"predict"things"upfront." Instead"the"specialists"need"to"work"closely"together"to"make"sure"the"different" technologies"work"nicely"together"in"the"final"product." 8"
  9. 9"

  10. From"isolated"islands"of"understanding,"the""us"against"them""feeling" 10"

  11. To"shared"goals,"empathy,"doing"an"effort"to"understand"each"other's"problems," finding"the"best"solu6on"overall" " Culture"is"very"specific"to"the"individual"organiza6on"so"the"solu6on"is"also"very" specific"to"the"company:"you're"on"your"own"here." " 11"

  12. We"have"to"op6mize"globally,"focusing"on"the"speed"of"delivering"new"features"into" produc6on."This"will"increase"the"feedback"loop"between"idea"and"user"and"will"bring" beJer"features"in"the"long"run." " We"should"make"sure"that"everyone"understands"this"high"level"process"well"and"that" the"team's"internal"processes"don't"conflict"with"this"high"level"process" 12"

  13. Each"team"prefers"its"own"tool."The"team"will"manage"the"informa6on"that"they"own" with"this"tool."But"in"order"to"do"a"good"job,"they"also"need"informa6on"that"is" managed"by"other"teams,"to"get"a"beJer"visibility"of"the"surrounding"context."E.g."the" release"managers"may"be"interested"in"the"features"that"the"developers"are"working" on,"the"developers"want"to"know"the"coming"releases,"or"which"version"of"their"app"is" deployed"in"which"environment,"etc." " Therefore"it"is"important"to"integrate"the"different"tools,"so"that"each"team"can"see"a" complete"view"of"their"reality,"reliably"and"realM6me." 13"

  14. 14"

  15. Let"us"have"a"look"at"one"of"the"main"use"cases"where"dev"and"ops"teams"are" involved:"the"release"of"applica6on"into"produc6on."" " Other"use"cases:"environment"provisioning,"changing"the"infrastructure"(eg"add"a" new"messaging"queue),"produc6on"troubleshoo6ng" 15"

  16. 16"

  17. 17"

  18. 18"

  19. 19"

  20. BRPM"is"well"suited"here"to"help"with"the"global"op6miza6on"because"it"sits"right"in" the"middle"of"the"(release)"universe." " BRPM"helps"out"in:" M"Process:"release"plans,"deployment"requests,"visibility"on"environment" configura6ons"(which"version"of"which"component"in"which"environment),"..." M"Tooling"integra6on:"JIRA,"jenkins,"soSware"repo,"test"automa6on,"Bladelogic,"..." " It's"also"a"tool"itself"for"the"release"management"team"(and"environment" management"team)."BRPM"captures"the"info"that"is"managed"in"each"separate"tool"

    and"integrates"them"with"its"own"info"to"facilitate"the"work"of"the"users." " 20"
  21. Of"course"the"demo"only"shows"a"small"improvement,"from"a"locally"op6mized" manual"release"process"to"a"well"aligned"endMtoMend"process."This"is"not"the"end"of" the"story,"but"rather"the"first"step"in"a"con6nuous"journey"of"improvement"towards" an"agile,"CD,"autonomous,"..."context." " At"one"point"the"organiza6on"structure"will"have"to"be"adapted"to"further"increase" the"speed"of"delivery"(~"<"1"week)."This"is"a"highly"risky"undertaking"and"having"the" exis6ng"processes"under"control"will"help"reduce"the"risk"considerably." " For"new"apps/teams"we"can"just"start"at"the"agile,"autonomous"side,"but"for"exis6ng"

    apps"we"should"take"it"one"step"at"a"6me." 21"
  22. 22"

  23. BRPM"is"a"collabora6on"tool,"focused"on"improving"the"communica6on"between" humans"as"well"as"with"tooling"and"automa6on" Humans"can"execute"steps" OnMthe–fly"modifica6on"of"running"requests" This"allows"BRPM"to"capture"processes"that"are"s6ll"very"manual"and"error"prone"and" gradually"move"to"more"maturity"in"terms"of"process"and"tooling"integra6on" " These"features"allow"BRPM"to"support"the"scenarios"from"the"leS"side"of"the" industrializa6on"arrow"(manual"work"etc)" "

    " 23"
  24. In"addi6on"to"the"automa6on"scripts"BRPM"has"a"complete"REST"API"and"a"messaging" system"that"supports"all"possible"events."This"allows"it"to"be"easily"integrated"in"both" direc6ons"with"other"tools" " Moreover,"by"using"the"REST"API"from"within"the"automa6on"scripts"or"the"messaging" system"BRPM"can"also"be"easily"extended"itself"with"new"func6onali6es"(eg"crea6ng"a" new"plan,"request,"applica6on,"environment,"..."from"an"automa6on"step)" " These"features"allow"BRPM"to"support"the"scenarios"from"the"right"side"of"the" industrializa6on"arrow"(agile"etc)"

    24"
  25. This"feature"enables"infraMasMcode"workflows"where"the"requests"etc"can"be"saved" into"a"VCS,"can"be"shared"and"collaborated"on,"etc." 25"

  26. RBAC"is"a"very"important"feature"in"the"big"enterprises"with"its"fine"grained" separa6on"of"du6es" 26"

  27. 27"

  28. 28"

  29. 29"

  30. 30"

  31. 31"

  32. 32"

  33. 33"

  34. 34"