Simple Release and Deploy
                Tool chain in Action




                        Alex Honor




Friday, June 25,...
For DevOps need a way to let...

      Developers             Operations
 specify packages they   perform release and
  ne...
Need: Developers specify
  needed package versions...

                        Application Code
                        Ap...
Need: Release manager* controls
    the release...

     Issue tracking status
     QA approval
     Change control schedu...
Need: Ops run deployment...

         Assess scheduling conflicts

         Decide how to batch updates

         Deploys ...
Need: Managers want...

           Responsibility and boundaries

           Enforce process through authorization

      ...
Need: Self service for everyone...
     Each role works independently

     Tools provide the self service interfaces




...
Need: Keep it simple...

         Use freely available tools

         Reflect roles and process

         Is easy to unde...
Tool: The “Meta” Package...

       Represents a coupled set of packages

       Based on RPM dependencies

       Spec ju...
Tool: Yum Repository...


          Central storage and index

          Resolve and install package
          dependancie...
Tool: Sources in SCM...

               RPM specification

               RPM build procedure

               Related file...
Tool: CI job...

    Monitor .spec file checkins

    Run rpmbuild for the “meta package”

    Identify artifacts (RPMs)

...
Tool: Runbook Jobs...
    Promote
    Release Manager moves
    artifacts to Yum                                  Promote
...
Process: Specify package needs...


                                           name: acme-rockets
                        ...
Process: CI Build
                                   checkin




                               App                     sp...
Process: Promote



                                       REST query                       create repo




              ...
Process: Deploy




                                      yum install
                        Control
                    ...
Audit: Management traceability


                SCM revision to package version

                “Meta package” to requir...
Audit: Audit compliance

           SCM change log:
           Only devs can commit

           ControlCenter event log:
 ...
Discuss ideas like this...

                        DevOps Tool chain Project




                http://google.com/group/...
Upcoming SlideShare
Loading in …5
×

Alex Honor - Devops Toolchain

2,158 views

Published on

Alex Honor's lightning talk at devopsdays USA 2010, held 25th June 2010 in Mountain View, CA

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,158
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Alex Honor - Devops Toolchain

  1. 1. Simple Release and Deploy Tool chain in Action Alex Honor Friday, June 25, 2010 1
  2. 2. For DevOps need a way to let... Developers Operations specify packages they perform release and need in operations deployment Friday, June 25, 2010 2
  3. 3. Need: Developers specify needed package versions... Application Code Application Configuration Third Party Packages Friday, June 25, 2010 3
  4. 4. Need: Release manager* controls the release... Issue tracking status QA approval Change control scheduling Promotes the artifacts (*Person or Role) Friday, June 25, 2010 4
  5. 5. Need: Ops run deployment... Assess scheduling conflicts Decide how to batch updates Deploys packages Friday, June 25, 2010 5
  6. 6. Need: Managers want... Responsibility and boundaries Enforce process through authorization Audit and trace changes Friday, June 25, 2010 6
  7. 7. Need: Self service for everyone... Each role works independently Tools provide the self service interfaces Friday, June 25, 2010 7
  8. 8. Need: Keep it simple... Use freely available tools Reflect roles and process Is easy to understand at any level copy/ check create out repo yum install http / query Control Hudson Center Console App hosts Friday, June 25, 2010 8
  9. 9. Tool: The “Meta” Package... Represents a coupled set of packages Based on RPM dependencies Spec just “Requires” statements Requires Friday, June 25, 2010 9
  10. 10. Tool: Yum Repository... Central storage and index Resolve and install package dependancies Allocate a repository to each application team app host Friday, June 25, 2010 10
  11. 11. Tool: Sources in SCM... RPM specification RPM build procedure Related files needed by release process Developers have commit access Friday, June 25, 2010 11
  12. 12. Tool: CI job... Monitor .spec file checkins Run rpmbuild for the “meta package” Identify artifacts (RPMs) Devs modify / run job when desired Friday, June 25, 2010 12
  13. 13. Tool: Runbook Jobs... Promote Release Manager moves artifacts to Yum Promote Deploy Control Center Jobs Deploy Ops Admin deploys Distributed packages to hosts command dispatch Yum repo host App hosts Friday, June 25, 2010 13
  14. 14. Process: Specify package needs... name: acme-rockets version: 1.0 release: 0 summary: The Acme Rockets app package set group: acme/rockets license: proprietary requires: php >= 5.3.2 requires: php < 5.3.0 requires: acme-rockets = 1.2.3 requires: memcached = 1.4.5 checkout/ checkin %description The Acme Rockets app package dependencies. edit %files # NONE App %changelog * Mon Jun 14 2010 Wiley Cayote <wc@acme.com> 1.0-0 Developer - Initial spec file. Friday, June 25, 2010 14
  15. 15. Process: CI Build checkin App spec Developer Detects and builds meta package rpms Hudson Console Artifacts REST call Query artifact list Friday, June 25, 2010 15
  16. 16. Process: Promote REST query create repo Control Hudson Center Console Detects and Promote builds metapackages run job Release manager Friday, June 25, 2010 16
  17. 17. Process: Deploy yum install Control Center Deploy app host run job Ops admin Friday, June 25, 2010 17
  18. 18. Audit: Management traceability SCM revision to package version “Meta package” to required packages Package to host Friday, June 25, 2010 18
  19. 19. Audit: Audit compliance SCM change log: Only devs can commit ControlCenter event log: Only releaser role can run Promote Only ops can run Deploy Yum: Only packages specified by devs should be in their team’s repository Friday, June 25, 2010 19
  20. 20. Discuss ideas like this... DevOps Tool chain Project http://google.com/group/devops-toolchain Friday, June 25, 2010 20

×