The DevOps Handbook
Myth—DevOps is Just “Infrastructure as Code” or Automation: g. Myth—DevOps is Only for Open Source Software: 2. Foreword xix 3. Imagine a World Where Dev and Ops Become DevOps: a. THE CORE, CHRONIC CONFLICT and poor quality 3. Consider when we have an annual schedule for software releases, where an entire year’s worth of code that Development has worked on is released to production deployment. Like in manufacturing STREAM 1. In the book Implementing Lean Software Development: From Concept to Cash, Mary and Tom Poppendieck describe waste and hardship in the software development stream as anything that causes delay0 码力 | 8 页 | 22.57 KB | 5 月前3A Seat at the Table - IT Leadership in the Age of Agility
and when we realize that the costs and risks of custom development have been radically reduced, the economics often now favor custom development. Governance and Oversight: Governance has traditionally uncertainty by planning and analysis. Agile teams tend to drive out uncertainty by developing working software in small increments and then adjusting. Waterfall plans are made at the moment of greatest uncertainty—the Cross-functional and team-based: It used to be natural for ops specialists to do ops, developers to do development, and testers to do testing. Now, crossover skills are increasingly important. On a delivery team0 码力 | 7 页 | 387.48 KB | 5 月前3DoD CIO Enterprise DevSecOps Reference Design - Summary
DevSecOps – Defined by DoD CIO DevSecOps is an organizational software engineering culture and practice that aims at unifying software development (Dev), security (Sec) and operations (Ops). The main characteristic characteristic of DevSecOps is to automate, monitor, and apply security at all phases of the software lifecycle: plan, develop, build, test, release, deliver, deploy, operate, and monitor. In DevSecOps, built simultaneously. Key Measures Mean-time to production: the average time it takes from when new software features are required until they are running in production. Average lead-time: how long it takes0 码力 | 8 页 | 3.38 MB | 5 月前3A Seat at the Table - IT Leadership in the Age of Agility
Brining Lean Principles to Software Development: Kanban is David Anderson’s approach to bringing Lean principles into software development while driving fear out of the transformation with desired outcomes as requirements is Gojko Adzic’s Impact Mapping: Making a Big Impact with Software Products and Projects. The age of IT organizations hiding behind requirements—“just tell me what lies, I believe, in our distinction between the development of a system and its operation and maintenance. Dividing our IT spending into development and maintenance buckets leads to some ineffective 0 码力 | 4 页 | 379.23 KB | 5 月前3The DevOps Handbook
critical areas. ii. Michael Nygard, author of Release It! Design and Deploy Production-Ready Software, “If you do not design your failure modes, then you will get whatever unpredictable—and usually ii. Public knowledge versus private knowledge from emails b. AUTOMATE STANDARDIZED PROCESSES IN SOFTWARE FOR RE-USE i. Don’t store standards and processes in Word or non-actionable documents; leads to NFRs. Codify these into the tests and pipeline f. BUILD REUSABLE OPERATIONS USER STORIES INTO DEVELOPMENT i. Goal – make recurring work as repeatable and deterministic as possible; standardize and automate0 码力 | 9 页 | 25.13 KB | 5 月前3The DevOps Handbook
production instances v. Keep developers’ environments most current e. MODIFY OUR DEFINITION OF DEVELOPMENT “DONE” TO INCLUDE RUNNNING IN PRODUCTION-LIKE ENVIRONMENTS i. In general, the longer the interval consistent and repeatable wayiii. Building a deployment pipeline 1. Commit stage – build & package software, runs automated unit tests, and code quality (static analysis, coverage, style, etc.) 2. Package frequently as possible i. WRITE OUR AUTOMATED TESTS BEFORE WE WRITE THE CODE (“TEST DRIVEN DEVELOPMENT”) i. TDD – Kent Beck as part of Extreme Programming 1. Ensure the tests fail – “Write a test0 码力 | 8 页 | 23.08 KB | 5 月前3DevOps Meetup
feasible. History – How I Got Here? Contentious relationship existed between development and operations. Left development because I was frustrated that it took so much time to get my products into production team wasn’t the same as the game time team. Segregated technical and business functions Development Operations (Operational Waterfall) Infrastructure Ops Product Ops Product Management related to product configuration and deployment Built a strong relationship with development (built empathy) Development began to see operational issues, and usability problems The relationship is0 码力 | 2 页 | 246.04 KB | 5 月前3The DevOps Handbook
INFRASTRUCTURE i. Remove the silos of information – Developers don’t just log what’s interesting to development. Operations don’t just monitor what’s up or down. ii. Modern Monitoring architecture 1. Data AND FILL ANY TELEMETRY GAPS i. Expand metrics from business, application, infrastructure, client software, and deployment pipeline levels 1. With every production incident identify missing telemetry that iii. More exotic - Fast Fourier Transforms or Kolmogorov-Smirnov 4. Ch. 16 – Enable Feedback So Development and Operation Can Safely Deploy Code a. USE TELEMETRY TO MAKE DEPLOYMENTS SAFER i. Actively monitor0 码力 | 8 页 | 24.02 KB | 5 月前3A Seat at the Table: IT Leadership in the Age of Agility - Part 2
contractor-control model. But it doesn’t. Requirements: Requirements are a way of controlling the development team by constraining their creativity. Instead of requirements, we want to charge the team—the changes to the whole ball of EA. It has a robust, automated regression test suite, so that new development does not cause expensive break-fix activity. It has good monitoring tools in place. It is build it. This obvious fact is neat, plausible, and in most cases, wrong. The economics of software development have changed: Changed in a way that now favors “building” over “buying.” There are now ways0 码力 | 7 页 | 387.61 KB | 5 月前3Open Discussion on Project Planning
architecture is in place, systems engineers continue to refine it as they learn more from the development sprints and releases. Cost Estimation Cost estimation in an Agile environment is challenging releases it can manage in a given year and the totality of delivered requirements within the entire development period of performance. During the program execution phase, a high-level program estimate undergoes estimates as requirements become better defined. The fidelity of the cost estimate increases once a development team is established to help estimate the level of work for each requirement (i.e., as translated0 码力 | 2 页 | 49.30 KB | 5 月前3
共 14 条
- 1
- 2