SlideShare a Scribd company logo
1 of 57
Download to read offline
Production Begins in
        Development



Lee Thompson       Damon Edwards
• CTO Travel/Transportation
                 Products, Hewlett Packard


               • Former Chief Technologist,
                 E*TRADE Financial


               • Co-writer of “Fully Automated
Lee Thompson     Provisioning” whitepaper
  @stagr_lee
• Co-founder DTO Solutions
                • DevOps Days organizer
                • Co-writer of “Fully Automated
                  Provisioning” whitepaper
Damon Edwards
@damonedwards
• Co-founder DTO Solutions
                • DevOps Days organizer
                • Co-writer of “Fully Automated
                  Provisioning” whitepaper
Damon Edwards
@damonedwards
• Consumer-facing web applications
• Webtone utilities
Showing us what is possible...

         Clouds



         Continuous Delivery/Deployment




         Lean Startup
What we want more of...




               DevOps!
vOps. DevOps. DevOps. DevOps. DevO




            The Rise of a New IT Operations
            Support Model
            !"#$%&'(#)*+,-.#/011#*+21+*#3425#6#7089*#.:46:*;"#*5-12"*<#
            ="#164;*#812><#-42+0<*4.#07:2#6#5607.:4*65#.:46:*;"#*5-12"*<#
                        ="#$%?#23#@12=61#$%%%#24;670A6:027.C
                        =" $%? 23 @12=61 $%%% 24;670A6:027.
          Why DevOps will not emerge:           Why DevOps will emerge:
          !B>1:>461 8967;*. 64* :9* 964<*.: :2 !)*+,-. 0. 72: >.>611" <40+*7 3425
           B>1:>461#8967;*.#64*#:9*#964<*.:#:2# )*+,-.#0.#72:#>.>611"#<40+*7#3425#
           05-1*5*7:(#67<#)*+,-.#4*F>04*.#6#     :9*#:2-#<2/7#67<(#:9>.(#56"#=*#
           .0;7030867:#4*:907G07;#23#DE#         524*#*6.01"#688*-:*<#="#DE#
           2-*46:027.#827+*7:02761#/0.<25C       2-*46:027.#:*65.C
          !E9*4*#0.#6#164;*#=2<"#23#/24G#/0:9#  !DEDH#67<#2:9*4#=*.:#-468:08*.#
           4*.-*8:#:2#DEDH#67<#2:9*4#=*.:#       3465*/24G.#64*#68G72/1*<;*<#:2#
           -468:08*.#3465*/24G.#:96:#0.#614*6<"# 96+*#72:#<*10+*4*<#27#:9*04#;261.(#
           688*-:*<#/0:907#:9*#07<>.:4"C
           688*-:*< /0:907 :9* 07<>.:4"          *76=107;#DE#24;670A6:027.#:2#122G#324#
                                                 *76=107; DE 24;670A6:027. :2 122G 324
          !,-*7#.2>48*#J,KKL#5676;*5*7:#         7*/#52<*1.C
           :221.(#/9089#64*#524*#610;7*<#/0:9# !E9*#;42/07;#07:*4*.:#07#:221.#.>89#
                 --
           :90.#6--42689(#96+*#72:#.**7#                     --                 -
                                                 6.#B9*3(#I>--*:(#*:8C(#/011#9*1-#
           .0;7030867:#*7:*4-40.*#564G*:#.964*#  .:05>16:*#<*567<#324#,KKM=6.*<#
           :468:027C                             5676;*5*7:
vOps. DevOps. DevOps. DevOps. DevO
       The Rise of a New IT Operations
       Support Model
       !"#$%&'(#)*+,-.#/011#*+21+*#3425#6#7089*#.:46:*;"#*5-12"*<#
       ="#164;*#812><#-42+0<*4.#07:2#6#5607.:4*65#.:46:*;"#*5-12"*<#
                   ="#$%?#23#@12=61#$%%%#24;670A6:027.C
                   =" $%? 23 @12=61 $%%% 24;670A6:027.
    Why DevOps will not emerge:                             Why DevOps will emerge:
    !B>1:>461 8967;*. 64* :9* 964<*.: :2 !)*+,-. 0. 72: >.>611" <40+*7 3425
     B>1:>461#8967;*.#64*#:9*#964<*.:#:2# )*+,-.#0.#72:#>.>611"#<40+*7#3425#
     05-1*5*7:(#67<#)*+,-.#4*F>04*.#6#                          :9*#:2-#<2/7#67<(#:9>.(#56"#=*#
     .0;7030867:#4*:907G07;#23#DE# of a New IT524*#*6.01"#688*-:*<#="#DE#
                            The Rise                             Operations
                            Support Model
     2-*46:027.#827+*7:02761#/0.<25C                            2-*46:027.#:*65.C
                             !"#$%&'(#)*+,-.#/011#*+21+*#3425#6#7089*#.:46:*;"#*5-12"*<#
    !E9*4*#0.#6#164;*#=2<"#23#/24G#/0:9#                    !DEDH#67<#2:9*4#=*.:#-468:08*.#
                             ="#164;*#812><#-42+0<*4.#07:2#6#5607.:4*65#.:46:*;"#*5-12"*<#
     4*.-*8:#:2#DEDH#67<#2:9*4#=*.:# $%? 23 @12=61 $%%% 24;670A6:027.
                                                                3465*/24G.#64*#68G72/1*<;*<#:2#
                                             ="#$%?#23#@12=61#$%%%#24;670A6:027.C
                                             ="

     -468:08*.#3465*/24G.#:96:#0.#614*6<"# :296+*#72:#<*10+*4*<#27#:9*04#;261.(#
                          Why DevOps will not emerge:
                           B>1:>461 8967;*. 64* :9* 964<*.:
                                !                          !
                                                                  Why DevOps will emerge:
                           B>1:>461#8967;*.#64*#:9*#964<*.:#:2# )*+,-. 0. 72: >.>611" <40+*7 3425
                                                                   )*+,-.#0.#72:#>.>611"#<40+*7#3425#
     688*-:*<#/0:907#:9*#07<>.:4"C
     688*-:*< /0:907 :9* 07<>.:4"
                           05-1*5*7:(#67<#)*+,-.#4*F>04*.#6#*76=107; DE 24;670A6:027. :2 122G 324
                                                                *76=107;#DE#24;670A6:027.#:2#122G#324#
                                                                   :9*#:2-#<2/7#67<(#:9>.(#56"#=*#
                           .0;7030867:#4*:907G07;#23#DE#           524*#*6.01"#688*-:*<#="#DE#
                           2-*46:027.#827+*7:02761#/0.<25C 7*/#52<*1.C
    !,-*7#.2>48*#J,KKL#5676;*5*7:#                                 2-*46:027.#:*65.C
                           E9*4*#0.#6#164;*#=2<"#23#/24G#/0:9#
                                !                          !       DEDH#67<#2:9*4#=*.:#-468:08*.#
     :221.(#/9089#64*#524*#610;7*<#/0:9# !E9*#;42/07;#07:*4*.:#07#:221.#.>89#
                           4*.-*8:#:2#DEDH#67<#2:9*4#=*.:#         3465*/24G.#64*#68G72/1*<;*<#:2#
                           -468:08*.#3465*/24G.#:96:#0.#614*6<"# 96+*#72:#<*10+*4*<#27#:9*04#;261.(#
           --
     :90.#6--42689(#96+*#72:#.**7# 07<>.:4"
                           688*-:*<#/0:907#:9*#07<>.:4"C
                           688*-:*< /0:907 :9*                                       --
                                                                6.#B9*3(#I>--*:(#*:8C(#/011#9*1-#
                                                                   *76=107;#DE#24;670A6:027.#:2#122G#324#
                                                                   *76=107; DE 24;670A6:027. :2 122G 324  -
                                                                   7*/#52<*1.C
     .0;7030867:#*7:*4-40.*#564G*:#.964*#
                           :221.(#/9089#64*#524*#610;7*<#/0:9# .:05>16:*#<*567<#324#,KKM=6.*<#
                           ,-*7#.2>48*#J,KKL#5676;*5*7:#
                                !
                                                           !       E9*#;42/07;#07:*4*.:#07#:221.#.>89#
     :468:027C                   --
                           :90.#6--42689(#96+*#72:#.**7#
                           .0;7030867:#*7:*4-40.*#564G*:#.964*#
                                                                5676;*5*7:     --
                                                                   6.#B9*3(#I>--*:(#*:8C(#/011#9*1-#
                                                                   .:05>16:*#<*567<#324#,KKM=6.*<#
                                                                                                  -

                                 :468:027C                   5676;*5*7:
Measuring success...

         Alignment

         Quality

         Cycle Time
Know what kind of
business you are
What is your tolerance for...


             Risk
             Change
Consumer-facing applications...
            "Move fast and break things.
           Unless you are breaking stuff,
          you are not moving fast enough."
                 -Mark Zuckerberg
Consumer-facing applications...
            "Move fast and break things.
           Unless you are breaking stuff,
          you are not moving fast enough."
                 -Mark Zuckerberg
Webtone utilities...
Webtone utilities...
Webtone utilities...
Webtone utilities...
Webtone utilities...
What do you want...
What do you want...
What do you want...
What do you want...
What do you want...
What do you want...
What do you want...
What do you want...
Clouds


DevOps


Continuous Delivery/Deployment


Lean Startup




   Alignment

   Quality

   Cycle Time
It all starts in Development
It all starts in Development
   But what do we tell them to do
  and how do we get them to do it?
Share ownership of availability

• Developers must wear pagers
• Incident command training so everyone
  knows their roles

• Notification mechanism?
  Access provisioning?
Non-functional requirements are
       first class citizens

• All of the “-ility” requirements
• As much a part of your service as the
  businessʼs functional requirements

• Manage through same process
• Make sure they are on the schedule
• Donʼt over commit
Strive for parity between dev & prod

• Develop test data fixtures for all environments
• Implement Mock Services for major
  infrastructure pieces for Developer user.

• Continuous integration means integrate early
• Use the deployment, config, and packaging
  tools in dev
Push config management
  discipline back to Dev
• Dev is about creating variation, Ops is
  about eliminating variation
• Augment deployment toolchain to support
  the variation
• Do developers use the tools?
• Do developers like them?
• Devʼs need config too
• Accept config contributions and patches
  from dev
Packaging... itʼs not just for the OS
  • If you want to be a high performing web
    operations organization, you need to take
    change management seriously.

  • Strict versioning is needed, and package
    managers do that.

  • Itʼs about being idempotent.
  • Transfer packaging responsibility to dev
  • Define the packaging constructs you will
    support
                        http://webscalebook.com
Config is code
• if itʼs code it needs to be managed like
  code...

• Should be transparent and identical SDLC
  in both dev and ops

• Avoid or eliminate asymetric release
  processes
Tailor release artifacts to roles
• “Small teams make better software”
• Make sure one team getting stuck doesnʼt
  prevent another team to release (org
  coupling)
• Large codebases suffer software entropy
  effects
• Build an infrastructure that can reliably
  manage lots of smaller artifacts
• Org conflict is a good time to suggest
  breaking up a codebase into separate
  concerns
Standard management vocabulary

• Consistent and expected management
  behavior

• Across components and releases
• “start, stop, status, update, install...”
Rollback
• Rollback that works
• No, really works
• Seriously, really really works
• You say it will work? Test it right now
Standard metrics abstractions
• Dev surface metrics to Ops
• Avoid the back and forth conversations
• Use a standard framework
• Use standard types (gague, counter,
  timer...)

• Ops knows what to expect and how to
  visualize

              https://github.com/codahale/metrics
Push test ownership to the edges
• QA is “Quality Assurance”
• QA writing tests = bottleneck
• QA writing tests = avoiding responsibility
• QA is architecture / tooling / assurance
• Test Driven Development
• Test Driven Operations (yes, you too)
• Bottom line: Everyone owns quality.
Test outside of the box




Crowd Test       Simulate
Simulation




             AUT
Build the right lifecycle...

            Alignment

            Quality

            Cycle Time
Continuous Delivery...
Continuous Delivery...
           Deployment...
                 Automated   Automated
                  Testing     Release
Donʼt be so dogmatic
Decoupled Release Model Example
                                                                           Code, Config, Control
                                                                            Code, Config, Control
                                                                              Code, Config, Control

                                                                                                             "Check-
     Operations                                                                                                in"
                                                                                                               "Check-
      Rundeck
                                                                                                         1        in"
                                                                                                                   "Check-               Source
                                                                                                          1           in"                 Repo
                                                                                                                                           Source                                         1        Monitor
                       Rundeck       Chef
                                                                                                              1
                                                                                                             "Check-
                                                                                                               in"
                                                                                                               "Check-
                                                                                                                                             Source
                                                                                                                                            Repo
    "Auto-Deploy                                                                                                                              Repo
                       Instance    Instance            Develop                                                    in"
                                                                                                                   "Check-
      New App                                           Develop              Package Manifest
                                                                                                                      in"        "Check-                                                          Jobs &
    Infrastructure
                      CI Server
                                                          Develop              Package Manifest
                                                                                 Package Manifest
                                                                                                                                   out"
                                                                                                                                   "Check-
                                                                                                                                     out"
                                                                                                                                      "Check-
                                                                                                                                                                                          2       Adhoc
                  1   Instance     Source
                                    Repo
                                                          "Verify"
                                                                       2                                                                out"                                   Operate
                                                                                                                                                                                                Commands
                                                            "Verify"
                                                                        2
                                                                             2
                                                                                                         Watch
                                                                "Verify"                                 Code
                      Monitoring                                                                           Watch
                                                                                        Publish             Code
                      & Testing    Staging                                              Results                Watch
                                                                                                                Build                                                                             Rundeck
                                   Release                                                Publish              Code
                                                                                          ResultsContinuous       Build
                                    Repo                                                      Publish                                                    Release                                        Chef
                                                                                                 Deployment
                                                                                              ResultsContinuous       Build
                                                                                                                                                          Repo
                                                                                                                                                          Release
                                                                                                           Continuous
                                                                                                         Loop
                                                                                        Integration Deployment Unit                                                                             RightScale
                                                                                          Testing                       Tests             "Promote"         ARelease
                                                                                                                                                            Repo
                                    Prod                                                   Integration     Deployment Unit
                                                                                                            Loop
                                                                                                                                            "Promote"         Repo
                                                                                                                                                              A                                                              Prod
                                   Release                                                   Testing           Loop        Tests
                                    Repo
                                                       Dev Test
                                                                                                        Automatic
                                                                                               Integration
                                                                                                       Deployment
                                                                                                 Testing
                                                                                                                               Unit
                                                                                                                              Tests             3
                                                                                                                                               "Promote"        A
                      Dev Test                                                                             Automatic
                                                                                                          Deployment                             3
                                                        Dev Test
                                                          Dev Test
                                                                                                              Automatic
                                                                                                             Deployment                              3


                  Bootstrap                                           Develop                                                                   Release                                   Operate

                                                                                               Release
                                                                                                Repo                                                                                          Release
                                                                                                  A        Release                                                                             Repo
                                                                                                            Repo                                                                                 A

                                              1         Repo
                                                                                                              B
                                                                                                                                                  4          Promote            Prod
                                                                                                                                                                                                         Release
                                                                                                                                                                                                          Repo
                                                                                                                                                                                                            B
                                                        Audit                                                        Release
                                                                                                                                                               Job              Repo                               Release
                                                                                                                      Repo                                                                                          Repo
                                                                                                                        C                                                                                             C
                                                  "Determine what packages                                                                               "Promote release"
                                                  and versions are available"



                                              2                            "Check
                                                                             -in"
                                                                                               Souce
                                                                                               Repo
                                                                                                                  Hudson
                                                                                                                                                                                                     Prod
                                                                                                                                                                                                    Release
                                                                                                                                                                                                     Repo

                              Release
                                                    Package Manifest                                                                              5          Deploy
                                                                                                                                                              Job
                                                                                                                                                                                                 "yum install"

                                                                                                               Release
                                                                                    app code
                                                                                                                Repo
                                                                                                                  A
                                                                                                                           Release
                                                                                                                                                                             Rundeck
                                                                                    services                                Repo
                                              3        Validate
                                                       Release
                                                                                      OS                                      B
                                                                                                                                      Release
                                                                                                                                                                               Chef

                                                                                                                                       Repo                                  RightScale
                                                                                                                                         C
                                                  "Check for conflicts and
                                                                                 Sandbox
                                                                                                                                                                                                   Prod
                                                   run validation scripts"
Decoupled Release Model Example
                                                                           Code, Config, Control
                                                                            Code, Config, Control
                                                                              Code, Config, Control

                                                                                                             "Check-
     Operations                                                                                                in"
                                                                                                               "Check-
      Rundeck
                                                                                                         1        in"
                                                                                                                   "Check-               Source
                                                                                                          1           in"                 Repo
                                                                                                                                           Source                                         1        Monitor
                       Rundeck       Chef
                                                                                                              1
                                                                                                             "Check-
                                                                                                               in"
                                                                                                               "Check-
                                                                                                                                             Source
                                                                                                                                            Repo
    "Auto-Deploy                                                                                                                              Repo
                       Instance    Instance            Develop                                                    in"
                                                                                                                   "Check-
      New App                                           Develop              Package Manifest
                                                                                                                      in"        "Check-                                                          Jobs &
    Infrastructure
                      CI Server
                                                          Develop              Package Manifest
                                                                                 Package Manifest
                                                                                                                                   out"
                                                                                                                                   "Check-
                                                                                                                                     out"
                                                                                                                                      "Check-
                                                                                                                                                                                          2       Adhoc
                  1   Instance     Source
                                    Repo
                                                          "Verify"
                                                                       2                                                                out"                                   Operate
                                                                                                                                                                                                Commands
                                                            "Verify"
                                                                        2
                                                                             2
                                                                                                         Watch
                                                                "Verify"                                 Code
                      Monitoring                                                                           Watch
                                                                                        Publish             Code
                      & Testing    Staging                                              Results                Watch
                                                                                                                Build                                                                             Rundeck
                                   Release                                                Publish              Code
                                                                                          ResultsContinuous       Build
                                    Repo                                                      Publish                                                    Release                                        Chef
                                                                                                 Deployment
                                                                                              ResultsContinuous       Build
                                                                                                                                                          Repo
                                                                                                                                                          Release
                                                                                                           Continuous
                                                                                                         Loop
                                                                                        Integration Deployment Unit                                                                             RightScale
                                                                                          Testing                       Tests             "Promote"         ARelease
                                                                                                                                                            Repo
                                    Prod                                                   Integration     Deployment Unit
                                                                                                            Loop
                                                                                                                                            "Promote"         Repo
                                                                                                                                                              A                                                              Prod
                                   Release                                                   Testing           Loop        Tests
                                    Repo
                                                       Dev Test
                                                                                                        Automatic
                                                                                               Integration
                                                                                                       Deployment
                                                                                                 Testing
                                                                                                                               Unit
                                                                                                                              Tests             3
                                                                                                                                               "Promote"        A
                      Dev Test                                                                             Automatic
                                                                                                          Deployment                             3
                                                        Dev Test
                                                          Dev Test
                                                                                                              Automatic
                                                                                                             Deployment                              3


                  Bootstrap                                           Develop                                                                   Release                                   Operate

                                                                                               Release
                                                                                                Repo                                                                                          Release
                                                                                                  A        Release                                                                             Repo
                                                                                                            Repo                                                                                 A

                                              1         Repo
                                                                                                              B
                                                                                                                                                  4          Promote            Prod
                                                                                                                                                                                                         Release
                                                                                                                                                                                                          Repo
                                                                                                                                                                                                            B
                                                        Audit                                                        Release
                                                                                                                                                               Job              Repo                               Release
                                                                                                                      Repo                                                                                          Repo
                                                                                                                        C                                                                                             C
                                                  "Determine what packages                                                                               "Promote release"
                                                  and versions are available"



                                              2                            "Check
                                                                             -in"
                                                                                               Souce
                                                                                               Repo
                                                                                                                  Hudson
                                                                                                                                                                                                     Prod
                                                                                                                                                                                                    Release
                                                                                                                                                                                                     Repo

                              Release
                                                    Package Manifest                                                                              5          Deploy
                                                                                                                                                              Job
                                                                                                                                                                                                 "yum install"

                                                                                                               Release
                                                                                    app code
                                                                                                                Repo
                                                                                                                  A
                                                                                                                           Release
                                                                                                                                                                             Rundeck
                                                                                    services                                Repo
                                              3        Validate
                                                       Release
                                                                                      OS                                      B
                                                                                                                                      Release
                                                                                                                                                                               Chef

                                                                                                                                       Repo                                  RightScale
                                                                                                                                         C
                                                  "Check for conflicts and
                                                                                 Sandbox
                                                                                                                                                                                                   Prod
                                                   run validation scripts"
Bootstrap


       Operations
        Rundeck



                         Rundeck       Chef
      "Auto-Deploy       Instance    Instance
        New App
      Infrastructure
                        CI Server
                                     Source
                    1   Instance
                                      Repo

                        Monitoring
                        & Testing    Staging
                                     Release
                                      Repo


                                      Prod
                                     Release
                                      Repo
                        Dev Test
Decoupled Release Model Example
                                                                           Code, Config, Control
                                                                            Code, Config, Control
                                                                              Code, Config, Control

                                                                                                             "Check-
     Operations                                                                                                in"
                                                                                                               "Check-
      Rundeck
                                                                                                         1        in"
                                                                                                                   "Check-               Source
                                                                                                          1           in"                 Repo
                                                                                                                                           Source                                         1        Monitor
                       Rundeck       Chef
                                                                                                              1
                                                                                                             "Check-
                                                                                                               in"
                                                                                                               "Check-
                                                                                                                                             Source
                                                                                                                                            Repo
    "Auto-Deploy                                                                                                                              Repo
                       Instance    Instance            Develop                                                    in"
                                                                                                                   "Check-
      New App                                           Develop              Package Manifest
                                                                                                                      in"        "Check-                                                          Jobs &
    Infrastructure
                      CI Server
                                                          Develop              Package Manifest
                                                                                 Package Manifest
                                                                                                                                   out"
                                                                                                                                   "Check-
                                                                                                                                     out"
                                                                                                                                      "Check-
                                                                                                                                                                                          2       Adhoc
                  1   Instance     Source
                                    Repo
                                                          "Verify"
                                                                       2                                                                out"                                   Operate
                                                                                                                                                                                                Commands
                                                            "Verify"
                                                                        2
                                                                             2
                                                                                                         Watch
                                                                "Verify"                                 Code
                      Monitoring                                                                           Watch
                                                                                        Publish             Code
                      & Testing    Staging                                              Results                Watch
                                                                                                                Build                                                                             Rundeck
                                   Release                                                Publish              Code
                                                                                          ResultsContinuous       Build
                                    Repo                                                      Publish                                                    Release                                        Chef
                                                                                                 Deployment
                                                                                              ResultsContinuous       Build
                                                                                                                                                          Repo
                                                                                                                                                          Release
                                                                                                           Continuous
                                                                                                         Loop
                                                                                        Integration Deployment Unit                                                                             RightScale
                                                                                          Testing                       Tests             "Promote"         ARelease
                                                                                                                                                            Repo
                                    Prod                                                   Integration     Deployment Unit
                                                                                                            Loop
                                                                                                                                            "Promote"         Repo
                                                                                                                                                              A                                                              Prod
                                   Release                                                   Testing           Loop        Tests
                                    Repo
                                                       Dev Test
                                                                                                        Automatic
                                                                                               Integration
                                                                                                       Deployment
                                                                                                 Testing
                                                                                                                               Unit
                                                                                                                              Tests             3
                                                                                                                                               "Promote"        A
                      Dev Test                                                                             Automatic
                                                                                                          Deployment                             3
                                                        Dev Test
                                                          Dev Test
                                                                                                              Automatic
                                                                                                             Deployment                              3


                  Bootstrap                                           Develop                                                                   Release                                   Operate

                                                                                               Release
                                                                                                Repo                                                                                          Release
                                                                                                  A        Release                                                                             Repo
                                                                                                            Repo                                                                                 A

                                              1         Repo
                                                                                                              B
                                                                                                                                                  4          Promote            Prod
                                                                                                                                                                                                         Release
                                                                                                                                                                                                          Repo
                                                                                                                                                                                                            B
                                                        Audit                                                        Release
                                                                                                                                                               Job              Repo                               Release
                                                                                                                      Repo                                                                                          Repo
                                                                                                                        C                                                                                             C
                                                  "Determine what packages                                                                               "Promote release"
                                                  and versions are available"



                                              2                            "Check
                                                                             -in"
                                                                                               Souce
                                                                                               Repo
                                                                                                                  Hudson
                                                                                                                                                                                                     Prod
                                                                                                                                                                                                    Release
                                                                                                                                                                                                     Repo

                              Release
                                                    Package Manifest                                                                              5          Deploy
                                                                                                                                                              Job
                                                                                                                                                                                                 "yum install"

                                                                                                               Release
                                                                                    app code
                                                                                                                Repo
                                                                                                                  A
                                                                                                                           Release
                                                                                                                                                                             Rundeck
                                                                                    services                                Repo
                                              3        Validate
                                                       Release
                                                                                      OS                                      B
                                                                                                                                      Release
                                                                                                                                                                               Chef

                                                                                                                                       Repo                                  RightScale
                                                                                                                                         C
                                                  "Check for conflicts and
                                                                                 Sandbox
                                                                                                                                                                                                   Prod
                                                   run validation scripts"
Develop

                   Code, Config, Control



                                           "Check-
                                             in"
                                      1                           Source
                                                                   Repo
                                           "Check-
                                             in"
   Develop
                    Package Manifest                         "Check-
                                                               out"

    "Verify"
               2
                                       Watch
                                       Code
                          Publish
                          Results                    Build
                                      Continuous
                                                                              Release
                                      Deployment
                                                                               Repo
                          Integration    Loop         Unit
                           Testing                   Tests        "Promote"      A


   Dev Test
                                      Automatic
                                     Deployment                        3
Decoupled Release Model Example
                                                                           Code, Config, Control
                                                                            Code, Config, Control
                                                                              Code, Config, Control

                                                                                                             "Check-
     Operations                                                                                                in"
                                                                                                               "Check-
      Rundeck
                                                                                                         1        in"
                                                                                                                   "Check-               Source
                                                                                                          1           in"                 Repo
                                                                                                                                           Source                                         1        Monitor
                       Rundeck       Chef
                                                                                                              1
                                                                                                             "Check-
                                                                                                               in"
                                                                                                               "Check-
                                                                                                                                             Source
                                                                                                                                            Repo
    "Auto-Deploy                                                                                                                              Repo
                       Instance    Instance            Develop                                                    in"
                                                                                                                   "Check-
      New App                                           Develop              Package Manifest
                                                                                                                      in"        "Check-                                                          Jobs &
    Infrastructure
                      CI Server
                                                          Develop              Package Manifest
                                                                                 Package Manifest
                                                                                                                                   out"
                                                                                                                                   "Check-
                                                                                                                                     out"
                                                                                                                                      "Check-
                                                                                                                                                                                          2       Adhoc
                  1   Instance     Source
                                    Repo
                                                          "Verify"
                                                                       2                                                                out"                                   Operate
                                                                                                                                                                                                Commands
                                                            "Verify"
                                                                        2
                                                                             2
                                                                                                         Watch
                                                                "Verify"                                 Code
                      Monitoring                                                                           Watch
                                                                                        Publish             Code
                      & Testing    Staging                                              Results                Watch
                                                                                                                Build                                                                             Rundeck
                                   Release                                                Publish              Code
                                                                                          ResultsContinuous       Build
                                    Repo                                                      Publish                                                    Release                                        Chef
                                                                                                 Deployment
                                                                                              ResultsContinuous       Build
                                                                                                                                                          Repo
                                                                                                                                                          Release
                                                                                                           Continuous
                                                                                                         Loop
                                                                                        Integration Deployment Unit                                                                             RightScale
                                                                                          Testing                       Tests             "Promote"         ARelease
                                                                                                                                                            Repo
                                    Prod                                                   Integration     Deployment Unit
                                                                                                            Loop
                                                                                                                                            "Promote"         Repo
                                                                                                                                                              A                                                              Prod
                                   Release                                                   Testing           Loop        Tests
                                    Repo
                                                       Dev Test
                                                                                                        Automatic
                                                                                               Integration
                                                                                                       Deployment
                                                                                                 Testing
                                                                                                                               Unit
                                                                                                                              Tests             3
                                                                                                                                               "Promote"        A
                      Dev Test                                                                             Automatic
                                                                                                          Deployment                             3
                                                        Dev Test
                                                          Dev Test
                                                                                                              Automatic
                                                                                                             Deployment                              3


                  Bootstrap                                           Develop                                                                   Release                                   Operate

                                                                                               Release
                                                                                                Repo                                                                                          Release
                                                                                                  A        Release                                                                             Repo
                                                                                                            Repo                                                                                 A

                                              1         Repo
                                                                                                              B
                                                                                                                                                  4          Promote            Prod
                                                                                                                                                                                                         Release
                                                                                                                                                                                                          Repo
                                                                                                                                                                                                            B
                                                        Audit                                                        Release
                                                                                                                                                               Job              Repo                               Release
                                                                                                                      Repo                                                                                          Repo
                                                                                                                        C                                                                                             C
                                                  "Determine what packages                                                                               "Promote release"
                                                  and versions are available"



                                              2                            "Check
                                                                             -in"
                                                                                               Souce
                                                                                               Repo
                                                                                                                  Hudson
                                                                                                                                                                                                     Prod
                                                                                                                                                                                                    Release
                                                                                                                                                                                                     Repo

                              Release
                                                    Package Manifest                                                                              5          Deploy
                                                                                                                                                              Job
                                                                                                                                                                                                 "yum install"

                                                                                                               Release
                                                                                    app code
                                                                                                                Repo
                                                                                                                  A
                                                                                                                           Release
                                                                                                                                                                             Rundeck
                                                                                    services                                Repo
                                              3        Validate
                                                       Release
                                                                                      OS                                      B
                                                                                                                                      Release
                                                                                                                                                                               Chef

                                                                                                                                       Repo                                  RightScale
                                                                                                                                         C
                                                  "Check for conflicts and
                                                                                 Sandbox
                                                                                                                                                                                                   Prod
                                                   run validation scripts"
Release


                                                    Release
                                                     Repo                                                                             Release
                                                       A      Release                                                                  Repo
                                                               Repo                                                                      A

       1         Repo
                                                                 B
                                                                                                 4       Promote            Prod
                                                                                                                                                Release
                                                                                                                                                 Repo
                                                                                                                                                   B
                 Audit                                                  Release
                                                                                                           Job              Repo                          Release
                                                                         Repo                                                                              Repo
                                                                           C                                                                                 C
           "Determine what packages                                                                  "Promote release"
           and versions are available"



       2                        "Check
                                  -in"
                                                    Souce
                                                    Repo
                                                                   Hudson
                                                                                                                                             Prod
                                                                                                                                            Release
                                                                                                                                             Repo

ease
             Package Manifest                                                                    5       Deploy
                                                                                                          Job
                                                                                                                                         "yum install"

                                                                 Release
                                         app code
                                                                  Repo
                                                                    A
                                                                             Release
                                                                                                                         Rundeck
                                         services                             Repo
       3        Validate
                Release
                                           OS                                   B
                                                                                       Release
                                                                                                                           Chef

                                                                                        Repo                             RightScale
                                                                                          C
           "Check for conflicts and
                                      Sandbox
                                                                                                                                           Prod
            run validation scripts"
Production Begins in Development
Production Begins in Development
Production Begins in Development

More Related Content

What's hot

One Click Deploys using Rundeck
One Click Deploys using RundeckOne Click Deploys using Rundeck
One Click Deploys using RundeckSai Kothapalle
 
Extending GWT
Extending GWTExtending GWT
Extending GWTisurusndr
 
React.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIReact.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIMarcin Grzywaczewski
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 
JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)Julien Dubois
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Aysylu Greenberg
 
How we built a job board in one week with JHipster
How we built a job board in one week with JHipsterHow we built a job board in one week with JHipster
How we built a job board in one week with JHipsterKile Niklawski
 
Containers not just for production nov8
Containers not just for production nov8Containers not just for production nov8
Containers not just for production nov8HARITHA HARI
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsMandi Walls
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...
QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...
QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...QAFest
 
Saltconf16 william-cannon b
Saltconf16 william-cannon bSaltconf16 william-cannon b
Saltconf16 william-cannon bWilliam Cannon
 
Silverstripe CMS 4.9.0 release and beyound
Silverstripe CMS 4.9.0 release and beyoundSilverstripe CMS 4.9.0 release and beyound
Silverstripe CMS 4.9.0 release and beyoundMaximeRainville1
 
Configuration As Code: The Job DSL Plugin
Configuration As Code: The Job DSL PluginConfiguration As Code: The Job DSL Plugin
Configuration As Code: The Job DSL PluginDaniel Spilker
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHubLiam Dempsey
 

What's hot (20)

One Click Deploys using Rundeck
One Click Deploys using RundeckOne Click Deploys using Rundeck
One Click Deploys using Rundeck
 
Extending GWT
Extending GWTExtending GWT
Extending GWT
 
React.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UIReact.js - and how it changed our thinking about UI
React.js - and how it changed our thinking about UI
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Intro to Gitflow
Intro to GitflowIntro to Gitflow
Intro to Gitflow
 
Stripe con 2021 UI stack
Stripe con 2021 UI stackStripe con 2021 UI stack
Stripe con 2021 UI stack
 
JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
 
How we built a job board in one week with JHipster
How we built a job board in one week with JHipsterHow we built a job board in one week with JHipster
How we built a job board in one week with JHipster
 
Containers not just for production nov8
Containers not just for production nov8Containers not just for production nov8
Containers not just for production nov8
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Dev ops
Dev opsDev ops
Dev ops
 
Job DSL Plugin for Jenkins
Job DSL Plugin for JenkinsJob DSL Plugin for Jenkins
Job DSL Plugin for Jenkins
 
QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...
QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...
QA Fest 2018. Сергей Король. REACTive automation: how to avoid shooting yours...
 
Saltconf16 william-cannon b
Saltconf16 william-cannon bSaltconf16 william-cannon b
Saltconf16 william-cannon b
 
Silverstripe CMS 4.9.0 release and beyound
Silverstripe CMS 4.9.0 release and beyoundSilverstripe CMS 4.9.0 release and beyound
Silverstripe CMS 4.9.0 release and beyound
 
Configuration As Code: The Job DSL Plugin
Configuration As Code: The Job DSL PluginConfiguration As Code: The Job DSL Plugin
Configuration As Code: The Job DSL Plugin
 
Data Driven Monitoring
Data Driven MonitoringData Driven Monitoring
Data Driven Monitoring
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
 

Viewers also liked

WebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートWebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートKaoru Furuya
 
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)Yuuki Namikawa
 
MP Joinを使った類似データ抽出
MP Joinを使った類似データ抽出MP Joinを使った類似データ抽出
MP Joinを使った類似データ抽出JAVA DM
 
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)Yuuki Namikawa
 
AmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてAmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてKohei Morino
 
芸能人推薦のしくみ
芸能人推薦のしくみ芸能人推薦のしくみ
芸能人推薦のしくみJAVA DM
 
20110715 enterprise wiki search
20110715 enterprise wiki search20110715 enterprise wiki search
20110715 enterprise wiki searchShigeki Yamato
 
memcachedからKyotoTycoonへ
memcachedからKyotoTycoonへmemcachedからKyotoTycoonへ
memcachedからKyotoTycoonへTatsuhiko Kubo
 
カップリング検索プレゼン2
カップリング検索プレゼン2カップリング検索プレゼン2
カップリング検索プレゼン2sakana1123
 
2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱Takuya Yokono
 
pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記Takahiro Matsumiya
 
アメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかアメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかTanaka Hiromi
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Adrian Cockcroft
 
Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測JAVA DM
 
Vagrant intro
Vagrant introVagrant intro
Vagrant introt9md
 
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)maginemu Mishimagi
 
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...dev2ops
 
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your ProblemsDevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your Problemsdev2ops
 

Viewers also liked (20)

WebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートWebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポート
 
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
 
MP Joinを使った類似データ抽出
MP Joinを使った類似データ抽出MP Joinを使った類似データ抽出
MP Joinを使った類似データ抽出
 
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
 
Amepad lt(tmpfs)
Amepad lt(tmpfs)Amepad lt(tmpfs)
Amepad lt(tmpfs)
 
AmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてAmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用について
 
芸能人推薦のしくみ
芸能人推薦のしくみ芸能人推薦のしくみ
芸能人推薦のしくみ
 
20110715 enterprise wiki search
20110715 enterprise wiki search20110715 enterprise wiki search
20110715 enterprise wiki search
 
memcachedからKyotoTycoonへ
memcachedからKyotoTycoonへmemcachedからKyotoTycoonへ
memcachedからKyotoTycoonへ
 
カップリング検索プレゼン2
カップリング検索プレゼン2カップリング検索プレゼン2
カップリング検索プレゼン2
 
2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱
 
pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記
 
アメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかアメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのか
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011
 
OpenStack Report
OpenStack ReportOpenStack Report
OpenStack Report
 
Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測
 
Vagrant intro
Vagrant introVagrant intro
Vagrant intro
 
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
 
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
 
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your ProblemsDevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
 

Similar to Production Begins in Development

Outside The Code
Outside The CodeOutside The Code
Outside The CodeNaresh Jain
 
Steering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff PattonSteering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff PattonUIEpreviews
 
Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500Cisco Russia
 
Application security
Application securityApplication security
Application securitykrusty43
 
Taking Your Content Mobile
Taking Your Content MobileTaking Your Content Mobile
Taking Your Content MobileJeremy Johnson
 
PM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdf
PM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdfPM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdf
PM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdfJihye OK
 
Grad survey results presentation
Grad survey results presentationGrad survey results presentation
Grad survey results presentationguyvonh
 
Grad survey results presentation
Grad survey results presentationGrad survey results presentation
Grad survey results presentationCarissa Caloud
 
Grad survey results presentation
Grad survey results presentationGrad survey results presentation
Grad survey results presentationCarissa Caloud
 
Tlwin.moemaka.1
Tlwin.moemaka.1Tlwin.moemaka.1
Tlwin.moemaka.1Zaw Aung
 
Turbocharge your automated tests with ci
Turbocharge your automated tests with ciTurbocharge your automated tests with ci
Turbocharge your automated tests with ciOpenSource Connections
 
Designing Customer Experience - Cookbook
Designing Customer Experience - CookbookDesigning Customer Experience - Cookbook
Designing Customer Experience - CookbookJin Kang Møller
 
BBd - Human Experience Mapping
BBd - Human Experience Mapping BBd - Human Experience Mapping
BBd - Human Experience Mapping Sathish Bala
 
The Lean Startup - simplified
The Lean Startup - simplifiedThe Lean Startup - simplified
The Lean Startup - simplifiedStefano Bernardi
 
Cameroun - Repertoire des projets prioritaires à besoins de financement
Cameroun - Repertoire des projets prioritaires à besoins de financementCameroun - Repertoire des projets prioritaires à besoins de financement
Cameroun - Repertoire des projets prioritaires à besoins de financementinvestincameroon
 
Most Recent Samples
Most Recent SamplesMost Recent Samples
Most Recent SamplesNeil Myers
 
Марина Пикулева "Мобильный фокус: люди, трубки, сайты"
Марина Пикулева "Мобильный фокус: люди, трубки, сайты"Марина Пикулева "Мобильный фокус: люди, трубки, сайты"
Марина Пикулева "Мобильный фокус: люди, трубки, сайты"Yandex
 

Similar to Production Begins in Development (20)

Outside The Code
Outside The CodeOutside The Code
Outside The Code
 
Steering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff PattonSteering Iterative and Incremental Delivery with Jeff Patton
Steering Iterative and Incremental Delivery with Jeff Patton
 
CIDOC CRM in Practice
CIDOC CRM in PracticeCIDOC CRM in Practice
CIDOC CRM in Practice
 
Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500Архитектура коммутаторов Cisco Catalyst 6500
Архитектура коммутаторов Cisco Catalyst 6500
 
Application security
Application securityApplication security
Application security
 
Taking Your Content Mobile
Taking Your Content MobileTaking Your Content Mobile
Taking Your Content Mobile
 
PM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdf
PM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdfPM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdf
PM TRAINING WEEK KOREA 2022 H1_JihyeOK.pdf
 
Grad survey results presentation
Grad survey results presentationGrad survey results presentation
Grad survey results presentation
 
Grad survey results presentation
Grad survey results presentationGrad survey results presentation
Grad survey results presentation
 
Grad survey results presentation
Grad survey results presentationGrad survey results presentation
Grad survey results presentation
 
Tlwin.moemaka.1
Tlwin.moemaka.1Tlwin.moemaka.1
Tlwin.moemaka.1
 
Turbocharge your automated tests with ci
Turbocharge your automated tests with ciTurbocharge your automated tests with ci
Turbocharge your automated tests with ci
 
PDMS I,II
PDMS I,IIPDMS I,II
PDMS I,II
 
Designing Customer Experience - Cookbook
Designing Customer Experience - CookbookDesigning Customer Experience - Cookbook
Designing Customer Experience - Cookbook
 
BBd - Human Experience Mapping
BBd - Human Experience Mapping BBd - Human Experience Mapping
BBd - Human Experience Mapping
 
The Lean Startup - simplified
The Lean Startup - simplifiedThe Lean Startup - simplified
The Lean Startup - simplified
 
Effective Online Communications (Web 2 0)
Effective Online Communications (Web 2 0)Effective Online Communications (Web 2 0)
Effective Online Communications (Web 2 0)
 
Cameroun - Repertoire des projets prioritaires à besoins de financement
Cameroun - Repertoire des projets prioritaires à besoins de financementCameroun - Repertoire des projets prioritaires à besoins de financement
Cameroun - Repertoire des projets prioritaires à besoins de financement
 
Most Recent Samples
Most Recent SamplesMost Recent Samples
Most Recent Samples
 
Марина Пикулева "Мобильный фокус: люди, трубки, сайты"
Марина Пикулева "Мобильный фокус: люди, трубки, сайты"Марина Пикулева "Мобильный фокус: люди, трубки, сайты"
Марина Пикулева "Мобильный фокус: люди, трубки, сайты"
 

More from dev2ops

The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)dev2ops
 
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?dev2ops
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformationdev2ops
 
DevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's PerspectiveDevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's Perspectivedev2ops
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributeddev2ops
 
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...dev2ops
 
Leveraging Your Company's DevOps Transformation (AppSec USA 2014)
Leveraging Your Company's DevOps Transformation (AppSec USA 2014)Leveraging Your Company's DevOps Transformation (AppSec USA 2014)
Leveraging Your Company's DevOps Transformation (AppSec USA 2014)dev2ops
 
Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)dev2ops
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Futuredev2ops
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformationdev2ops
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Claradev2ops
 
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)dev2ops
 
Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)dev2ops
 
DevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic WeaponDevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic Weapondev2ops
 
Will DevOps Jump the Shark?
Will DevOps Jump the Shark?Will DevOps Jump the Shark?
Will DevOps Jump the Shark?dev2ops
 
Closing the DevOps gaps
Closing the DevOps gapsClosing the DevOps gaps
Closing the DevOps gapsdev2ops
 
Lloyd Taylor: "Hacking Your Organization"
Lloyd Taylor: "Hacking Your Organization" Lloyd Taylor: "Hacking Your Organization"
Lloyd Taylor: "Hacking Your Organization" dev2ops
 
Process Matters (Cloud2Days / Java2Days conference))
Process Matters (Cloud2Days / Java2Days conference))Process Matters (Cloud2Days / Java2Days conference))
Process Matters (Cloud2Days / Java2Days conference))dev2ops
 
Midnight Cowboy
Midnight CowboyMidnight Cowboy
Midnight Cowboydev2ops
 
Orchestration Panel at Cloud Connect 2010
Orchestration Panel at Cloud Connect 2010Orchestration Panel at Cloud Connect 2010
Orchestration Panel at Cloud Connect 2010dev2ops
 

More from dev2ops (20)

The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)
 
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
 
DevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's PerspectiveDevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's Perspective
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
 
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
 
Leveraging Your Company's DevOps Transformation (AppSec USA 2014)
Leveraging Your Company's DevOps Transformation (AppSec USA 2014)Leveraging Your Company's DevOps Transformation (AppSec USA 2014)
Leveraging Your Company's DevOps Transformation (AppSec USA 2014)
 
Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Future
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformation
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
 
Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)
 
DevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic WeaponDevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic Weapon
 
Will DevOps Jump the Shark?
Will DevOps Jump the Shark?Will DevOps Jump the Shark?
Will DevOps Jump the Shark?
 
Closing the DevOps gaps
Closing the DevOps gapsClosing the DevOps gaps
Closing the DevOps gaps
 
Lloyd Taylor: "Hacking Your Organization"
Lloyd Taylor: "Hacking Your Organization" Lloyd Taylor: "Hacking Your Organization"
Lloyd Taylor: "Hacking Your Organization"
 
Process Matters (Cloud2Days / Java2Days conference))
Process Matters (Cloud2Days / Java2Days conference))Process Matters (Cloud2Days / Java2Days conference))
Process Matters (Cloud2Days / Java2Days conference))
 
Midnight Cowboy
Midnight CowboyMidnight Cowboy
Midnight Cowboy
 
Orchestration Panel at Cloud Connect 2010
Orchestration Panel at Cloud Connect 2010Orchestration Panel at Cloud Connect 2010
Orchestration Panel at Cloud Connect 2010
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Production Begins in Development

  • 1. Production Begins in Development Lee Thompson Damon Edwards
  • 2. • CTO Travel/Transportation Products, Hewlett Packard • Former Chief Technologist, E*TRADE Financial • Co-writer of “Fully Automated Lee Thompson Provisioning” whitepaper @stagr_lee
  • 3. • Co-founder DTO Solutions • DevOps Days organizer • Co-writer of “Fully Automated Provisioning” whitepaper Damon Edwards @damonedwards
  • 4. • Co-founder DTO Solutions • DevOps Days organizer • Co-writer of “Fully Automated Provisioning” whitepaper Damon Edwards @damonedwards
  • 5. • Consumer-facing web applications • Webtone utilities
  • 6. Showing us what is possible... Clouds Continuous Delivery/Deployment Lean Startup
  • 7. What we want more of... DevOps!
  • 8. vOps. DevOps. DevOps. DevOps. DevO The Rise of a New IT Operations Support Model !"#$%&'(#)*+,-.#/011#*+21+*#3425#6#7089*#.:46:*;"#*5-12"*<# ="#164;*#812><#-42+0<*4.#07:2#6#5607.:4*65#.:46:*;"#*5-12"*<# ="#$%?#23#@12=61#$%%%#24;670A6:027.C =" $%? 23 @12=61 $%%% 24;670A6:027. Why DevOps will not emerge: Why DevOps will emerge: !B>1:>461 8967;*. 64* :9* 964<*.: :2 !)*+,-. 0. 72: >.>611" <40+*7 3425 B>1:>461#8967;*.#64*#:9*#964<*.:#:2# )*+,-.#0.#72:#>.>611"#<40+*7#3425# 05-1*5*7:(#67<#)*+,-.#4*F>04*.#6# :9*#:2-#<2/7#67<(#:9>.(#56"#=*# .0;7030867:#4*:907G07;#23#DE# 524*#*6.01"#688*-:*<#="#DE# 2-*46:027.#827+*7:02761#/0.<25C 2-*46:027.#:*65.C !E9*4*#0.#6#164;*#=2<"#23#/24G#/0:9# !DEDH#67<#2:9*4#=*.:#-468:08*.# 4*.-*8:#:2#DEDH#67<#2:9*4#=*.:# 3465*/24G.#64*#68G72/1*<;*<#:2# -468:08*.#3465*/24G.#:96:#0.#614*6<"# 96+*#72:#<*10+*4*<#27#:9*04#;261.(# 688*-:*<#/0:907#:9*#07<>.:4"C 688*-:*< /0:907 :9* 07<>.:4" *76=107;#DE#24;670A6:027.#:2#122G#324# *76=107; DE 24;670A6:027. :2 122G 324 !,-*7#.2>48*#J,KKL#5676;*5*7:# 7*/#52<*1.C :221.(#/9089#64*#524*#610;7*<#/0:9# !E9*#;42/07;#07:*4*.:#07#:221.#.>89# -- :90.#6--42689(#96+*#72:#.**7# -- - 6.#B9*3(#I>--*:(#*:8C(#/011#9*1-# .0;7030867:#*7:*4-40.*#564G*:#.964*# .:05>16:*#<*567<#324#,KKM=6.*<# :468:027C 5676;*5*7:
  • 9. vOps. DevOps. DevOps. DevOps. DevO The Rise of a New IT Operations Support Model !"#$%&'(#)*+,-.#/011#*+21+*#3425#6#7089*#.:46:*;"#*5-12"*<# ="#164;*#812><#-42+0<*4.#07:2#6#5607.:4*65#.:46:*;"#*5-12"*<# ="#$%?#23#@12=61#$%%%#24;670A6:027.C =" $%? 23 @12=61 $%%% 24;670A6:027. Why DevOps will not emerge: Why DevOps will emerge: !B>1:>461 8967;*. 64* :9* 964<*.: :2 !)*+,-. 0. 72: >.>611" <40+*7 3425 B>1:>461#8967;*.#64*#:9*#964<*.:#:2# )*+,-.#0.#72:#>.>611"#<40+*7#3425# 05-1*5*7:(#67<#)*+,-.#4*F>04*.#6# :9*#:2-#<2/7#67<(#:9>.(#56"#=*# .0;7030867:#4*:907G07;#23#DE# of a New IT524*#*6.01"#688*-:*<#="#DE# The Rise Operations Support Model 2-*46:027.#827+*7:02761#/0.<25C 2-*46:027.#:*65.C !"#$%&'(#)*+,-.#/011#*+21+*#3425#6#7089*#.:46:*;"#*5-12"*<# !E9*4*#0.#6#164;*#=2<"#23#/24G#/0:9# !DEDH#67<#2:9*4#=*.:#-468:08*.# ="#164;*#812><#-42+0<*4.#07:2#6#5607.:4*65#.:46:*;"#*5-12"*<# 4*.-*8:#:2#DEDH#67<#2:9*4#=*.:# $%? 23 @12=61 $%%% 24;670A6:027. 3465*/24G.#64*#68G72/1*<;*<#:2# ="#$%?#23#@12=61#$%%%#24;670A6:027.C =" -468:08*.#3465*/24G.#:96:#0.#614*6<"# :296+*#72:#<*10+*4*<#27#:9*04#;261.(# Why DevOps will not emerge: B>1:>461 8967;*. 64* :9* 964<*.: ! ! Why DevOps will emerge: B>1:>461#8967;*.#64*#:9*#964<*.:#:2# )*+,-. 0. 72: >.>611" <40+*7 3425 )*+,-.#0.#72:#>.>611"#<40+*7#3425# 688*-:*<#/0:907#:9*#07<>.:4"C 688*-:*< /0:907 :9* 07<>.:4" 05-1*5*7:(#67<#)*+,-.#4*F>04*.#6#*76=107; DE 24;670A6:027. :2 122G 324 *76=107;#DE#24;670A6:027.#:2#122G#324# :9*#:2-#<2/7#67<(#:9>.(#56"#=*# .0;7030867:#4*:907G07;#23#DE# 524*#*6.01"#688*-:*<#="#DE# 2-*46:027.#827+*7:02761#/0.<25C 7*/#52<*1.C !,-*7#.2>48*#J,KKL#5676;*5*7:# 2-*46:027.#:*65.C E9*4*#0.#6#164;*#=2<"#23#/24G#/0:9# ! ! DEDH#67<#2:9*4#=*.:#-468:08*.# :221.(#/9089#64*#524*#610;7*<#/0:9# !E9*#;42/07;#07:*4*.:#07#:221.#.>89# 4*.-*8:#:2#DEDH#67<#2:9*4#=*.:# 3465*/24G.#64*#68G72/1*<;*<#:2# -468:08*.#3465*/24G.#:96:#0.#614*6<"# 96+*#72:#<*10+*4*<#27#:9*04#;261.(# -- :90.#6--42689(#96+*#72:#.**7# 07<>.:4" 688*-:*<#/0:907#:9*#07<>.:4"C 688*-:*< /0:907 :9* -- 6.#B9*3(#I>--*:(#*:8C(#/011#9*1-# *76=107;#DE#24;670A6:027.#:2#122G#324# *76=107; DE 24;670A6:027. :2 122G 324 - 7*/#52<*1.C .0;7030867:#*7:*4-40.*#564G*:#.964*# :221.(#/9089#64*#524*#610;7*<#/0:9# .:05>16:*#<*567<#324#,KKM=6.*<# ,-*7#.2>48*#J,KKL#5676;*5*7:# ! ! E9*#;42/07;#07:*4*.:#07#:221.#.>89# :468:027C -- :90.#6--42689(#96+*#72:#.**7# .0;7030867:#*7:*4-40.*#564G*:#.964*# 5676;*5*7: -- 6.#B9*3(#I>--*:(#*:8C(#/011#9*1-# .:05>16:*#<*567<#324#,KKM=6.*<# - :468:027C 5676;*5*7:
  • 10. Measuring success... Alignment Quality Cycle Time
  • 11. Know what kind of business you are
  • 12. What is your tolerance for... Risk Change
  • 13. Consumer-facing applications... "Move fast and break things. Unless you are breaking stuff, you are not moving fast enough." -Mark Zuckerberg
  • 14. Consumer-facing applications... "Move fast and break things. Unless you are breaking stuff, you are not moving fast enough." -Mark Zuckerberg
  • 20. What do you want...
  • 21. What do you want...
  • 22. What do you want...
  • 23. What do you want...
  • 24. What do you want...
  • 25. What do you want...
  • 26. What do you want...
  • 27. What do you want...
  • 29. It all starts in Development
  • 30. It all starts in Development But what do we tell them to do and how do we get them to do it?
  • 31. Share ownership of availability • Developers must wear pagers • Incident command training so everyone knows their roles • Notification mechanism? Access provisioning?
  • 32. Non-functional requirements are first class citizens • All of the “-ility” requirements • As much a part of your service as the businessʼs functional requirements • Manage through same process • Make sure they are on the schedule • Donʼt over commit
  • 33. Strive for parity between dev & prod • Develop test data fixtures for all environments • Implement Mock Services for major infrastructure pieces for Developer user. • Continuous integration means integrate early • Use the deployment, config, and packaging tools in dev
  • 34. Push config management discipline back to Dev • Dev is about creating variation, Ops is about eliminating variation • Augment deployment toolchain to support the variation • Do developers use the tools? • Do developers like them? • Devʼs need config too • Accept config contributions and patches from dev
  • 35. Packaging... itʼs not just for the OS • If you want to be a high performing web operations organization, you need to take change management seriously. • Strict versioning is needed, and package managers do that. • Itʼs about being idempotent. • Transfer packaging responsibility to dev • Define the packaging constructs you will support http://webscalebook.com
  • 36. Config is code • if itʼs code it needs to be managed like code... • Should be transparent and identical SDLC in both dev and ops • Avoid or eliminate asymetric release processes
  • 37. Tailor release artifacts to roles • “Small teams make better software” • Make sure one team getting stuck doesnʼt prevent another team to release (org coupling) • Large codebases suffer software entropy effects • Build an infrastructure that can reliably manage lots of smaller artifacts • Org conflict is a good time to suggest breaking up a codebase into separate concerns
  • 38. Standard management vocabulary • Consistent and expected management behavior • Across components and releases • “start, stop, status, update, install...”
  • 39. Rollback • Rollback that works • No, really works • Seriously, really really works • You say it will work? Test it right now
  • 40. Standard metrics abstractions • Dev surface metrics to Ops • Avoid the back and forth conversations • Use a standard framework • Use standard types (gague, counter, timer...) • Ops knows what to expect and how to visualize https://github.com/codahale/metrics
  • 41. Push test ownership to the edges • QA is “Quality Assurance” • QA writing tests = bottleneck • QA writing tests = avoiding responsibility • QA is architecture / tooling / assurance • Test Driven Development • Test Driven Operations (yes, you too) • Bottom line: Everyone owns quality.
  • 42. Test outside of the box Crowd Test Simulate
  • 43. Simulation AUT
  • 44. Build the right lifecycle... Alignment Quality Cycle Time
  • 46. Continuous Delivery... Deployment... Automated Automated Testing Release
  • 47. Donʼt be so dogmatic
  • 48. Decoupled Release Model Example Code, Config, Control Code, Config, Control Code, Config, Control "Check- Operations in" "Check- Rundeck 1 in" "Check- Source 1 in" Repo Source 1 Monitor Rundeck Chef 1 "Check- in" "Check- Source Repo "Auto-Deploy Repo Instance Instance Develop in" "Check- New App Develop Package Manifest in" "Check- Jobs & Infrastructure CI Server Develop Package Manifest Package Manifest out" "Check- out" "Check- 2 Adhoc 1 Instance Source Repo "Verify" 2 out" Operate Commands "Verify" 2 2 Watch "Verify" Code Monitoring Watch Publish Code & Testing Staging Results Watch Build Rundeck Release Publish Code ResultsContinuous Build Repo Publish Release Chef Deployment ResultsContinuous Build Repo Release Continuous Loop Integration Deployment Unit RightScale Testing Tests "Promote" ARelease Repo Prod Integration Deployment Unit Loop "Promote" Repo A Prod Release Testing Loop Tests Repo Dev Test Automatic Integration Deployment Testing Unit Tests 3 "Promote" A Dev Test Automatic Deployment 3 Dev Test Dev Test Automatic Deployment 3 Bootstrap Develop Release Operate Release Repo Release A Release Repo Repo A 1 Repo B 4 Promote Prod Release Repo B Audit Release Job Repo Release Repo Repo C C "Determine what packages "Promote release" and versions are available" 2 "Check -in" Souce Repo Hudson Prod Release Repo Release Package Manifest 5 Deploy Job "yum install" Release app code Repo A Release Rundeck services Repo 3 Validate Release OS B Release Chef Repo RightScale C "Check for conflicts and Sandbox Prod run validation scripts"
  • 49. Decoupled Release Model Example Code, Config, Control Code, Config, Control Code, Config, Control "Check- Operations in" "Check- Rundeck 1 in" "Check- Source 1 in" Repo Source 1 Monitor Rundeck Chef 1 "Check- in" "Check- Source Repo "Auto-Deploy Repo Instance Instance Develop in" "Check- New App Develop Package Manifest in" "Check- Jobs & Infrastructure CI Server Develop Package Manifest Package Manifest out" "Check- out" "Check- 2 Adhoc 1 Instance Source Repo "Verify" 2 out" Operate Commands "Verify" 2 2 Watch "Verify" Code Monitoring Watch Publish Code & Testing Staging Results Watch Build Rundeck Release Publish Code ResultsContinuous Build Repo Publish Release Chef Deployment ResultsContinuous Build Repo Release Continuous Loop Integration Deployment Unit RightScale Testing Tests "Promote" ARelease Repo Prod Integration Deployment Unit Loop "Promote" Repo A Prod Release Testing Loop Tests Repo Dev Test Automatic Integration Deployment Testing Unit Tests 3 "Promote" A Dev Test Automatic Deployment 3 Dev Test Dev Test Automatic Deployment 3 Bootstrap Develop Release Operate Release Repo Release A Release Repo Repo A 1 Repo B 4 Promote Prod Release Repo B Audit Release Job Repo Release Repo Repo C C "Determine what packages "Promote release" and versions are available" 2 "Check -in" Souce Repo Hudson Prod Release Repo Release Package Manifest 5 Deploy Job "yum install" Release app code Repo A Release Rundeck services Repo 3 Validate Release OS B Release Chef Repo RightScale C "Check for conflicts and Sandbox Prod run validation scripts"
  • 50. Bootstrap Operations Rundeck Rundeck Chef "Auto-Deploy Instance Instance New App Infrastructure CI Server Source 1 Instance Repo Monitoring & Testing Staging Release Repo Prod Release Repo Dev Test
  • 51. Decoupled Release Model Example Code, Config, Control Code, Config, Control Code, Config, Control "Check- Operations in" "Check- Rundeck 1 in" "Check- Source 1 in" Repo Source 1 Monitor Rundeck Chef 1 "Check- in" "Check- Source Repo "Auto-Deploy Repo Instance Instance Develop in" "Check- New App Develop Package Manifest in" "Check- Jobs & Infrastructure CI Server Develop Package Manifest Package Manifest out" "Check- out" "Check- 2 Adhoc 1 Instance Source Repo "Verify" 2 out" Operate Commands "Verify" 2 2 Watch "Verify" Code Monitoring Watch Publish Code & Testing Staging Results Watch Build Rundeck Release Publish Code ResultsContinuous Build Repo Publish Release Chef Deployment ResultsContinuous Build Repo Release Continuous Loop Integration Deployment Unit RightScale Testing Tests "Promote" ARelease Repo Prod Integration Deployment Unit Loop "Promote" Repo A Prod Release Testing Loop Tests Repo Dev Test Automatic Integration Deployment Testing Unit Tests 3 "Promote" A Dev Test Automatic Deployment 3 Dev Test Dev Test Automatic Deployment 3 Bootstrap Develop Release Operate Release Repo Release A Release Repo Repo A 1 Repo B 4 Promote Prod Release Repo B Audit Release Job Repo Release Repo Repo C C "Determine what packages "Promote release" and versions are available" 2 "Check -in" Souce Repo Hudson Prod Release Repo Release Package Manifest 5 Deploy Job "yum install" Release app code Repo A Release Rundeck services Repo 3 Validate Release OS B Release Chef Repo RightScale C "Check for conflicts and Sandbox Prod run validation scripts"
  • 52. Develop Code, Config, Control "Check- in" 1 Source Repo "Check- in" Develop Package Manifest "Check- out" "Verify" 2 Watch Code Publish Results Build Continuous Release Deployment Repo Integration Loop Unit Testing Tests "Promote" A Dev Test Automatic Deployment 3
  • 53. Decoupled Release Model Example Code, Config, Control Code, Config, Control Code, Config, Control "Check- Operations in" "Check- Rundeck 1 in" "Check- Source 1 in" Repo Source 1 Monitor Rundeck Chef 1 "Check- in" "Check- Source Repo "Auto-Deploy Repo Instance Instance Develop in" "Check- New App Develop Package Manifest in" "Check- Jobs & Infrastructure CI Server Develop Package Manifest Package Manifest out" "Check- out" "Check- 2 Adhoc 1 Instance Source Repo "Verify" 2 out" Operate Commands "Verify" 2 2 Watch "Verify" Code Monitoring Watch Publish Code & Testing Staging Results Watch Build Rundeck Release Publish Code ResultsContinuous Build Repo Publish Release Chef Deployment ResultsContinuous Build Repo Release Continuous Loop Integration Deployment Unit RightScale Testing Tests "Promote" ARelease Repo Prod Integration Deployment Unit Loop "Promote" Repo A Prod Release Testing Loop Tests Repo Dev Test Automatic Integration Deployment Testing Unit Tests 3 "Promote" A Dev Test Automatic Deployment 3 Dev Test Dev Test Automatic Deployment 3 Bootstrap Develop Release Operate Release Repo Release A Release Repo Repo A 1 Repo B 4 Promote Prod Release Repo B Audit Release Job Repo Release Repo Repo C C "Determine what packages "Promote release" and versions are available" 2 "Check -in" Souce Repo Hudson Prod Release Repo Release Package Manifest 5 Deploy Job "yum install" Release app code Repo A Release Rundeck services Repo 3 Validate Release OS B Release Chef Repo RightScale C "Check for conflicts and Sandbox Prod run validation scripts"
  • 54. Release Release Repo Release A Release Repo Repo A 1 Repo B 4 Promote Prod Release Repo B Audit Release Job Repo Release Repo Repo C C "Determine what packages "Promote release" and versions are available" 2 "Check -in" Souce Repo Hudson Prod Release Repo ease Package Manifest 5 Deploy Job "yum install" Release app code Repo A Release Rundeck services Repo 3 Validate Release OS B Release Chef Repo RightScale C "Check for conflicts and Sandbox Prod run validation scripts"