Monday, June 22, 2015

Continuous Delivery


Got my hands on 'Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation'... hoping to do a few posts in the upcoming week(s) about it.

  1. The problem of Delivering Software
    1. common release antipatterns
    2. how to achieve our goal?
    3. benefits
    4. release candidate
    5. principles of software delivery
  2. Configuration Management
    1. version control
    2. managing deps
    3. managing software config
    4. managing enviros
  3. Continuous Integration
    1. implementing CI
    2. prereqs for CI
    3. using CI software
    4. essential practices
    5. suggested practices
    6. distributed teams
    7. distributed VCS
  4. Implementing a Testing Strategy
    1. types of tests
    2. real-life situations & strategies
    3. process
  5.  Anatomy of the Deployment Pipeline
    1. what is a DP?
    2. DP practices
    3. Commit Stage (see ch7)
    4. automated acceptance test (see ch8)
    5. subsequent test stages
    6. preparing to release
    7. implementing a DP
    8. metrics
  6. Build & Deployment Scripting
    1. overview of build tools
    2. principles & practices of B&D Scripting
    3. project structure
    4. deployment scripting
    5. tips & tricks
  7. Commit Stage
    1. principles & practices
    2. results
    3. commit test suite principles & practices
  8. Automated Acceptance Testing 
    1. why is AAT essential?
    2. creating ATs
    3. application driver layer
    4. implementing ATs
    5. AT stage
    6. AT performance
  9. Testing NonFunctional Reqs
    1. managing NF reqs
    2. programming for capacity
    3. measuring capacity
    4. capacity testing (CT) enviro
    5. automatic CT
    6. adding CTs to DP
    7. benefits of CT system
  10. Deploy & Release Apps
    1. creating a release strategy
    2. deploying and promoting your app
    3. rolling back and ZDT releases
    4. emergency fixes
    5. continuous delivery
    6. tips & tricks
  11. Managing Infra & Enviro
    1. understand the needs of the operations team
    2. modeling & managing infra
    3. managing server provisioning & config
    4. managing config of middleware
    5. managing infra services
    6. virtualization
    7. cloud computing
    8. monitoring infra & apps
  12. Managing Data
    1. database scripting
    2. incremental change
    3. rolling back DBs and ZDT releases
    4. managing test data
    5. data management and the DP
  13. Managing Components & Deps
    1. keeping your app releasable
    2. dependencies
    3. components
    4. managing dep graphs
    5. managing binaries
    6. managing deps with Maven
  14. Advanced Version Control
    1. history of revision control
    2. branching and merging
    3. distributed VCS
    4. stream-based VCS
    5. develop on mainline
    6. branch for release
    7. branch by future
    8. branch by team
  15. Managing Continuous Delivery
    1. maturity model for config & release management
    2. project lifecycle
    3. risk management process
    4. common delivery problems
    5. compliance and auditing

No comments:

Post a Comment