THE SEVEN STAGES OF BOSH THE SEVEN STAGES OF BOSH Surviving - - PowerPoint PPT Presentation

the seven stages of bosh the seven stages of bosh
SMART_READER_LITE
LIVE PREVIEW

THE SEVEN STAGES OF BOSH THE SEVEN STAGES OF BOSH Surviving - - PowerPoint PPT Presentation

THE SEVEN STAGES OF BOSH THE SEVEN STAGES OF BOSH Surviving successful Bosh adoption Surviving successful Bosh adoption Chris Hedley of CloudCredo Chris Hedley of CloudCredo Daniel Jones of EngineerBetter Daniel Jones of EngineerBetter STAGE


slide-1
SLIDE 1
slide-2
SLIDE 2
slide-3
SLIDE 3

THE SEVEN STAGES OF BOSH THE SEVEN STAGES OF BOSH

Surviving successful Bosh adoption Surviving successful Bosh adoption

slide-4
SLIDE 4

Chris Hedley of CloudCredo Chris Hedley of CloudCredo Daniel Jones of EngineerBetter Daniel Jones of EngineerBetter

slide-5
SLIDE 5

STAGE 0: DISBELIEF & SHOCK STAGE 0: DISBELIEF & SHOCK

“the survivor refuses to accept that something “the survivor refuses to accept that something is true or real” is true or real”

slide-6
SLIDE 6

OPERABILITY OPERABILITY

“the ability to keep an equipment, a system or “the ability to keep an equipment, a system or a whole industrial installation in a safe and a whole industrial installation in a safe and reliable functioning condition, according to reliable functioning condition, according to pre-defined operational requirements” pre-defined operational requirements”

slide-7
SLIDE 7

WHAT BOSH DOES FOR YOU WHAT BOSH DOES FOR YOU

  • 1. Create all the VMs

Create all the VMs

  • 2. Auto-healing

Auto-healing

  • 3. Rolling upgrades

Rolling upgrades

slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

LEARNING POINTS LEARNING POINTS

  • 1. Bosh is very powerful and does amazing things

Bosh is very powerful and does amazing things

  • 2. Your team

Your team needs needs to learn a lot to learn a lot

slide-11
SLIDE 11

STAGE 1: DENIAL STAGE 1: DENIAL

“the survivor imagines a false, preferable “the survivor imagines a false, preferable reality” reality”

slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14

LEARNING POINTS LEARNING POINTS

Remember that Bosh gives you: Remember that Bosh gives you:

  • 1. Declaration of intent

Declaration of intent

  • 2. Effectively immutable

Effectively immutable

  • 3. IaaS agnostic

IaaS agnostic

  • 4. Highly automated

Highly automated

  • 5. Self-healing

Self-healing

  • 6. Open source

Open source

slide-15
SLIDE 15

STAGE 2: ANGER STAGE 2: ANGER

“the survivor becomes frustrated” “the survivor becomes frustrated”

slide-16
SLIDE 16

Yoda - The Phantom Manifest Yoda - The Phantom Manifest “ “ Confusion leads to anger. Confusion leads to anger. Anger leads to hate. Anger leads to hate. Hate leads to Hate leads to production downtime production downtime. . ” ”

slide-17
SLIDE 17

Bosh is not a power drill manufacturer Bosh is not a power drill manufacturer Bosh is not a basketball player Bosh is not a basketball player

slide-18
SLIDE 18

BOSH

From Wikipedia, the free encyclopedia

This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. Please improve this article by introducing more precise citations. (June 2008) This article relies largely or entirely upon a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources. (June 2008) Bidirectional-streams Over Synchronous HTTP (BOSH) is a transport protocol that emulates a bidirectional stream between two entities (such as a client and a server) by using multiple synchronous HTTP request/response pairs without requiring the use of polling or asynchronous chunking. For applications that require both "push" and "pull" communications, BOSH is significantly more bandwidth-efficient and responsive than most other bidirectional HTTP-based transport protocols and AJAX. BOSH achieves this by avoiding HTTP polling, yet it does so without resorting to chunked HTTP responses as is done in the technique known as Comet. To date, BOSH has been used mainly as a transport for traffic exchanged between Jabber/XMPP clients and servers (e.g., to facilitate connections from web clients and from mobile clients on intermittent networks). For "push", a BOSH client starts an HTTP request, but the server postpones sending a reply until it has data to send.[1] After receiving a reply, the client immediately makes another request on the same HTTP connection, so the server can always send data to the client without waiting for the client to poll. If, while waiting for a reply, the client needs to send data to the server, it opens a second HTTP connection. There are at most two HTTP connections open at a time, one on which the server can send data as a reply and one on which the client can send data as a POST. "Bidirectional-streams Over Synchronous HTTP (BOSH)" and "XMPP over BOSH" are draft standards of the XMPP Standards Foundation. The second related standard XMPP Over BOSH (XEP-0206) defines how BOSH may be used to transport XMPP stanzas. The result is an HTTP binding for XMPP communications that is intended to be used in situations where a device or client is unable to maintain a long-lived TCP connection to an XMPP server.

Article Talk Read Edit View history Search

Edit links Main page Contents Featured content Current events Random article Donate to Wikipedia Wikipedia store Interaction Help About Wikipedia Community portal Recent changes Contact page Tools What links here Related changes Upload file Special pages Permanent link Page information Wikidata item Cite this page Print/export Create a book Download as PDF Printable version Languages Français Create account Not logged in Talk Contributions

Bosh is not BOSH Bosh is not BOSH

slide-19
SLIDE 19

Bosh Bosh

slide-20
SLIDE 20

Bosh Bosh MicroBosh

MicroBosh

slide-21
SLIDE 21

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

slide-22
SLIDE 22

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init

slide-23
SLIDE 23

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh?

slide-24
SLIDE 24

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

slide-25
SLIDE 25

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

bosh‑lite bosh‑lite

slide-26
SLIDE 26

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

bosh‑lite bosh‑lite light bosh

light bosh

slide-27
SLIDE 27

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

bosh‑lite bosh‑lite light bosh

light bosh Nise Bosh

Nise Bosh

slide-28
SLIDE 28

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

bosh‑lite bosh‑lite light bosh

light bosh Nise Bosh

Nise Bosh bosh‑solo

bosh‑solo

slide-29
SLIDE 29

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

bosh‑lite bosh‑lite light bosh

light bosh Nise Bosh

Nise Bosh bosh‑solo

bosh‑solo

bosh‑gen bosh‑gen

slide-30
SLIDE 30

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

bosh‑lite bosh‑lite light bosh

light bosh Nise Bosh

Nise Bosh bosh‑solo

bosh‑solo

bosh‑gen bosh‑gen bosh‑bootstrap

bosh‑bootstrap

slide-31
SLIDE 31

Bosh Bosh MicroBosh

MicroBosh Bosh Micro?

Bosh Micro?

bosh‑init bosh‑init Full Bosh?

Full Bosh? Binary Bosh

Binary Bosh

bosh‑lite bosh‑lite light bosh

light bosh Nise Bosh

Nise Bosh bosh‑solo

bosh‑solo

bosh‑gen bosh‑gen bosh‑bootstrap

bosh‑bootstrap traveling‑bosh

traveling‑bosh

slide-32
SLIDE 32

JOBS JOBS

Jobs are made up of templates Jobs are made up of templates One job's templates are in One job's templates are in /var/vcap/jobs /var/vcap/jobs

SPECS SPECS

packaging spec != job spec != rspec packaging spec != job spec != rspec

slide-33
SLIDE 33

THAT'S ANNOYING… THAT'S ANNOYING…

$ bosh $ bosh target target [ [W WARNING] ARNING] Loading Loading the cli took the cli took 12.4 12.4 seconds, consider cleaning your seconds, consider cleaning your gem gem environment environment

slide-34
SLIDE 34

WAIT… WHAT? WAIT… WHAT?

$ bosh ssh $ bosh ssh … … Starting interactive shell Starting interactive shell on

  • n job ha_proxy_z1/

job ha_proxy_z1/0 No RSA host No RSA host key key is is known known for for 10.244 10.244.0.34 .0.34 and and you have requested you have requested strict strict checking. checking. Host Host key key verification failed. verification failed.

slide-35
SLIDE 35

DO NOT TRUST BOSH DO NOT TRUST BOSH

Started Started prepare prepare for for update update Started Started prepare prepare for for update update > > Delete Delete stemcell. Done (

  • stemcell. Done (00

00: :00 00: :26 26) ) Started deploy micro bosh Started deploy micro bosh Started deploy micro bosh > Unpacking stemcell. Done ( Started deploy micro bosh > Unpacking stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Uploading stemcell. Done ( Started deploy micro bosh > Uploading stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Creating VM Started deploy micro bosh > Creating VM from from ami-e1577396 light. Done ( ami-e1577396 light. Done (00 00: :00 00: :33 33) ) Started deploy micro bosh > Waiting Started deploy micro bosh > Waiting for for the agent the agent

slide-36
SLIDE 36

DO NOT TRUST BOSH DO NOT TRUST BOSH

Some time later... Some time later...

Started Started prepare prepare for for update update Started Started prepare prepare for for update update > > Delete Delete stemcell. Done (

  • stemcell. Done (00

00: :00 00: :26 26) ) Started deploy micro bosh Started deploy micro bosh Started deploy micro bosh > Unpacking stemcell. Done ( Started deploy micro bosh > Unpacking stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Uploading stemcell. Done ( Started deploy micro bosh > Uploading stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Creating VM Started deploy micro bosh > Creating VM from from ami-e1577396 light. Done ( ami-e1577396 light. Done (00 00: :00 00: :33 33) ) Started deploy micro bosh > Waiting Started deploy micro bosh > Waiting for for the agent the agent

slide-37
SLIDE 37

DO NOT TRUST BOSH DO NOT TRUST BOSH

Started Started prepare prepare for for update update Started Started prepare prepare for for update update > > Delete Delete stemcell. Done (

  • stemcell. Done (00

00: :00 00: :26 26) ) Started deploy micro bosh Started deploy micro bosh Started deploy micro bosh > Unpacking stemcell. Done ( Started deploy micro bosh > Unpacking stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Uploading stemcell. Done ( Started deploy micro bosh > Uploading stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Creating VM Started deploy micro bosh > Creating VM from from ami-e1577396 light. Done ( ami-e1577396 light. Done (00 00: :00 00: :33 33) ) Started deploy micro bosh > Waiting Started deploy micro bosh > Waiting for for the agent the agent

slide-38
SLIDE 38

DO NOT TRUST BOSH DO NOT TRUST BOSH

Later still... Later still...

Started Started prepare prepare for for update update Started Started prepare prepare for for update update > > Delete Delete stemcell. Done (

  • stemcell. Done (00

00: :00 00: :26 26) ) Started deploy micro bosh Started deploy micro bosh Started deploy micro bosh > Unpacking stemcell. Done ( Started deploy micro bosh > Unpacking stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Uploading stemcell. Done ( Started deploy micro bosh > Uploading stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Creating VM Started deploy micro bosh > Creating VM from from ami-e1577396 light. Done ( ami-e1577396 light. Done (00 00: :00 00: :33 33) ) Started deploy micro bosh > Waiting Started deploy micro bosh > Waiting for for the agent the agent

slide-39
SLIDE 39

DO NOT TRUST BOSH DO NOT TRUST BOSH

Started prepare Started prepare for for update update Started prepare Started prepare for for update > Delete stemcell. Done ( update > Delete stemcell. Done (00 00: :00 00: :26 26) ) Started deploy micro bosh Started deploy micro bosh Started deploy micro bosh > Unpacking stemcell. Done ( Started deploy micro bosh > Unpacking stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Uploading stemcell. Done ( Started deploy micro bosh > Uploading stemcell. Done (00 00: :00 00: :00 00) ) Started deploy micro bosh > Creating VM Started deploy micro bosh > Creating VM from from ami-e1577396 light. Done ( ami-e1577396 light. Done (00 00: :00 00: :33 33) ) Started deploy micro bosh > Waiting Started deploy micro bosh > Waiting for for the agent the agent log writing failed. can log writing failed. can't be called from trap context 't be called from trap context /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/buffered_io.rb: /net/ssh/buffered_io.rb:65 65: :in in `recv `recv': Connection reset by peer - recvfrom(2) (Errno::ECONNRESET) ': Connection reset by peer - recvfrom(2) (Errno::ECONNRESET) from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/buffered_io.rb: /net/ssh/buffered_io.rb:65 65: :in in `fill `fill' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/transport/packet_stream.rb: /net/ssh/transport/packet_stream.rb:104 104: :in in `block `block in in next_packet next_packet from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/transport/packet_stream.rb: /net/ssh/transport/packet_stream.rb:95 95: :in in ` `loop loop' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/transport/packet_stream.rb: /net/ssh/transport/packet_stream.rb:95 95: :in in `next_packet `next_packet from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/transport/session.rb: /net/ssh/transport/session.rb:184 184: :in in `block `block in in poll_message poll_message from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/transport/session.rb: /net/ssh/transport/session.rb:179 179: :in in ` `loop loop' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/transport/session.rb: /net/ssh/transport/session.rb:179 179: :in in `poll_message `poll_message' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/transport/session.rb: /net/ssh/transport/session.rb:164 164: :in in `next_message `next_message' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/session.rb: /net/ssh/authentication/session.rb:95 95: :in in `block `block in in next_message next_message from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/session.rb: /net/ssh/authentication/session.rb:94 94: :in in ` `loop loop' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/session.rb: /net/ssh/authentication/session.rb:94 94: :in in `next_message `next_message from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/methods/publickey.rb: /net/ssh/authentication/methods/publickey.rb:53 53: :in in `authenticate_with `authenticate_with from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/methods/publickey.rb: /net/ssh/authentication/methods/publickey.rb:20 20: :in in `block `block from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/key_manager.rb: /net/ssh/authentication/key_manager.rb:122 122: :in in `block `block in in from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/key_manager.rb: /net/ssh/authentication/key_manager.rb:119 119: :in in ` `each each' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/key_manager.rb: /net/ssh/authentication/key_manager.rb:119 119: :in in `each_identity `each_identity from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/methods/publickey.rb: /net/ssh/authentication/methods/publickey.rb:19 19: :in in `authenticate `authenticate from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/session.rb: /net/ssh/authentication/session.rb:79 79: :in in `block `block in in authenticate authenticate from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/session.rb: /net/ssh/authentication/session.rb:66 66: :in in ` `each each' ' from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh/authentication/session.rb: /net/ssh/authentication/session.rb:66 66: :in in `authenticate `authenticate from from /Users/deejay/.gem/ruby/ /Users/deejay/.gem/ruby/2.1 2.1.3/gems/net-ssh- .3/gems/net-ssh-2.10 2.10.0.beta1/ .0.beta1/lib lib/net/ssh.rb: /net/ssh.rb:226 226: :in in `start `start' '

slide-40
SLIDE 40

OF COURSE I'M SURE OF COURSE I'M SURE

via @xoebus via @xoebus

$ bosh deploy $ bosh deploy … … Deploying Deploying

  • Are you sure you want to deploy? (type

Are you sure you want to deploy? (type 'yes' 'yes' to continue): y to continue): y Deployment canceled Deployment canceled Deployment canceled Deployment canceled

slide-41
SLIDE 41

LEARNING POINTS LEARNING POINTS

  • 1. Be prepared to work to build a mental model of Bosh

Be prepared to work to build a mental model of Bosh

  • 2. Expect bugs

Expect bugs

slide-42
SLIDE 42

STAGE 3: BARGAINING STAGE 3: BARGAINING

“the survivor seeks compromise” “the survivor seeks compromise”

slide-43
SLIDE 43

BOSH HAS ITS OPINIONS BOSH HAS ITS OPINIONS

slide-44
SLIDE 44

LEARNING POINTS LEARNING POINTS

  • 1. Do not argue with Bosh

Do not argue with Bosh

slide-45
SLIDE 45

STAGE 4: GUILT STAGE 4: GUILT

“the survivor believes to have committed sin” “the survivor believes to have committed sin”

slide-46
SLIDE 46

LEAVING A BOSH BOMB LEAVING A BOSH BOMB

slide-47
SLIDE 47

LEARNING POINTS LEARNING POINTS

  • 1. Same as any niche technology choice

Same as any niche technology choice

  • 2. Radiate reasons for using it

Radiate reasons for using it

  • 3. Pair on release development

Pair on release development

slide-48
SLIDE 48

STAGE 5: DEPRESSION STAGE 5: DEPRESSION

“the survivor has feelings of severe “the survivor has feelings of severe despondency and hopelessness” despondency and hopelessness”

slide-49
SLIDE 49

TESTING TESTING

slide-50
SLIDE 50

COMPOSITION COMPOSITION

slide-51
SLIDE 51

EXTENSIBILITY EXTENSIBILITY

slide-52
SLIDE 52

JOB MODULARITY JOB MODULARITY

slide-53
SLIDE 53

CONFUSION CONFUSION

slide-54
SLIDE 54

LEARNING POINTS LEARNING POINTS

  • 1. Tooling is not great, do not expect it

Tooling is not great, do not expect it

  • 2. All or nothing

All or nothing

  • 3. Use bosh-lite

Use bosh-lite

  • 4. Consider a pool of Boshes for CI

Consider a pool of Boshes for CI

slide-55
SLIDE 55

STAGE 6: ACCEPTANCE STAGE 6: ACCEPTANCE

“a calm, retrospective view for the survivor, “a calm, retrospective view for the survivor, and a stable set of emotions” and a stable set of emotions”

slide-56
SLIDE 56
slide-57
SLIDE 57

LEARNING POINTS LEARNING POINTS

You now have: You now have:

  • 1. IaaC

IaaC

  • 2. A team capable of end-to-end continuous delivery

A team capable of end-to-end continuous delivery

slide-58
SLIDE 58

STAGE 7: HOPE STAGE 7: HOPE

“the survivor develops a positive attitude “the survivor develops a positive attitude about the future” about the future”

slide-59
SLIDE 59

bosh|

LM LGJA 9D <G; K ?A L@ M : ỵ: GK @ GF > J==FG<= ; > Ỗ : GK @ E 9A D A F? D A K L HA N GL9D LJ9; C=J HJGB =; L

  • 1& A

K 9F GH=F K GM J; = LGGD > GJ J=D =9K = =F?A F==JA F?Ể <=HD GQ E =FLỂ D A > =; Q ; D = E 9F9?=E =FLỂ 9F< E GFA LGJA F? G> <A K LJA : M L=< K Q K L=E K ề 1== <G; K ề

CURATED RELEASES

; D GM <> GM F<JQ ụ : GK @

  • ẏẎẠ ẏẎẞ

ẏẎẗ ề ề ề ; D GM <> GM F<JQ ụ ; > Ỗ J=D =9K = ẏẏẏ ẏẏẎ ẏẏẅ ề ề ề ; D GM <> GM F<JQ ụ ; > Ỗ E Q K I D Ỗ J=D =9K = ẏẓ ẏẒ ẏẏ ề ề ề ; D GM <> GM F<JQ ụ ; > Ỗ JA 9CỖ ; K Ỗ J=D =9K = ẎẎ Ẏẅ Ả ề ề ề HA N GL9D Ỗ ; > ụ ; > Ỗ J9: : A LE I Ỗ J=D =9K =

LATEST STEMCELLS

Ubuntu Trusty 5 1 6=FỖ &4+ *A ?@ L ẒẎẎẗ ụ HJ=N ễ 5 1 6=F ẒẎẎẗ ụ HJ=N ễ 5 1 6=F *A ?@ L ẒẎẎẗ ụ HJ=N ễ

  • H=F1L9; C ) 4+

ẒẎẎẗ ụ HJ=N ễ

  • H=F1L9; C ) 4+ ở

J9OỠ ẒẎẎẗ ụ HJ=N ễ N ! D GM < #16A ẒẎẎẗ ụ HJ=N ễ

Releases, stemcells, tracker link and Releases, stemcells, tracker link and documentation all in one place documentation all in one place

slide-60
SLIDE 60

OPEN OPEN

slide-61
SLIDE 61

pivotaltracker.com/n/projects/956238 pivotaltracker.com/n/projects/956238

slide-62
SLIDE 62

VENDORS WILL CATCH UP VENDORS WILL CATCH UP

slide-63
SLIDE 63

BOSH SELF-HELP GUIDE BOSH SELF-HELP GUIDE

“Only utter commitment to the task at hand is acceptable” “Only utter commitment to the task at hand is acceptable” It won't be easy, but it will be worth it It won't be easy, but it will be worth it Be willing to become poly-skilled Be willing to become poly-skilled Exploit bosh-lite for acceptance testing Exploit bosh-lite for acceptance testing Try to avoid Windows Try to avoid Windows

slide-64
SLIDE 64

THANKYOU. QUESTIONS?

cloudcredo.com cloudcredo.com @ChristHedley @ChristHedley engineerbetter.com engineerbetter.com @EngineerBetter @EngineerBetter