Visible Ops
Link:http://www.wikisummaries.org/Visible_Ops
Contents[hide] |
What is ITIL?
- ITIL = Information Technology Infrastructure Library
- A "drastically different approach to IT" (p79)
- A "maturity path for IT that is not based on technology" (p79)
- A "collection of best practices codified in seven books by the Office of Government Commerce in the U.K." (p85)
- A collection "without prioritization or any prescriptive structure" (p18)
- Used by Visible Ops authors as a framework "to normalize terminology" and categorize traits shared across studied high performing organizations (p18-20)
Introduction
(p10-24)
What is Visible Ops?
- Highest ROI best practices divided into four prioritized and incremental Phases
- All ideas are mapped to ITIL terminology
- Intended to be an "on-ramp" to ITIL
Key premises to the Visible Ops rational
- 80% of unplanned outages are due to ill-planned changes made by administrators ("operations staff") or developers
- 80% of Mean Time To Repair (MTTR) is spent determining what changed
- With the right processes in place, it is easier, better, and more predictable to rebuild infrastructure than to repair it
- Concentrating staff time on pre-production efforts is more efficient and less expensive due to the high cost of repairing defects while in production
- Without process controls, pieces of infrastructure often become like unique snowflakes or irreplaceable works of art ... only understood by the "rocket scientist" creator who's time is tied to maintaining it (p41)
- "You can not manage what you can not measure" (p59)
Phase One: Stabilize the Patient
(p25-40)
Goals
- Identify most critical IT systems generating the most unplanned work
- Stabilize infrastructure (prioritizing the most fragile components)
- Create a "culture of causality" where all changes are viewed as key risks that need to managed by facts rather than by beliefs
- Reduce unplanned work to 25% or less (high performers achieve lower than 5%)
- Maximize change success rates (high performers hit 98%)
- Minimize Mean Time to Repair (MTTR)
- Ensure security specialists become part of the decision process
- Shift staff time from "perpetual firefighting to more proactive work that addresses the root causes of problems"
- Minimize the IT failures that cause stress and damage IT's reputation
- Increase the overall level of confidence in IT
- Collect data to affirm the new processes and foster an understanding that any previous perceptions of nimbleness and speed were not factoring in time spent troubleshooting and doing unplanned work
Recommended key steps (to be implemented on most fragile systems first)
- Reduce or eliminate change privileges to fragile infrastructure
- Why? Every time a change is made you risk breaking functionality
- Create scheduled maintenance windows where all changes are made
- Why? Scheduled changes are more visible, and are more likely to be planned and tested before going into production
- Automate daily scans to detect and report changes
- Why? To automatically verify and log that all scheduled changes were made ... and that no other changes were made
- Warning: Due to their collected data, the authors strongly recommend that even the most trusted administrators still work under automated detections
- Disclosure: One of the authors is the CTO at Tripwire, Inc, the manufacturer of the recommended software for these automated scans....
- When troubleshooting incidents, first analyze the recent changes (approved and detected) to isolate likely causes before recommending additional changes
- Schedule a weekly Change Advisory Board (CAB) made up of representatives from operations, networking, security and the service desk
- Why? To ensure key stakeholders collectively inform and influence change decisions
- Create a Change Advisory Board - Emergency Committee (CAB/EC) who can assemble quickly to review emergency change requests
- Why? "Emergency changes are the most critical to scrutinize"
- Create a Change Request Tracking System to document and track requests for changes (RFCs) through authorization, verification, and implementation processes
- Why? To facilitate the change approval process and to generate reports with metrics
Phase Two: Catch & Release and Find Fragile Artifacts
(p41-46)
Goals
- Prioritize IT's most critical services
- Identify critical pieces of production infrastructure (hardware and software)
- Identify interdependencies between components of production infrastructure
- Foster organizational learning
- Identify the high-risk "fragile artifacts"
Recommended key steps
- Create a prioritized service catalog that documents the most critical services
- Create a Configuration Management Database (CMDB) that illustrates mappings between services and infrastructure, and shows the interdependencies between all configuration items (CI)
- Freeze all related configurations for an agreed upon change-free window
- Why? To ensure an accurate inter-related configuration inventory (see below)
- Inventory all equipment and software in the data center, recording the whos, whats, interdependencies and history for each item
- Why? To facilitate faster problem management and to inform change decisions
- Note: This inventory should be implemented by the most senior staff to ensure the most knowledgeable capturing of configuration details and histories
- Identify the "fragile artifacts" that have the worst historical change success rates and/or the least technical mastery by the supporting technicians, and prioritize them by the criticality of the services they provide
- Why? To create a prioritized list of servers to rebuild in Phase Three
- To the extent possible, place fragile artifacts under a permanent configuration freeze until they can be replaced by complete rebuilds in Phase Three
Phase Three: Establish Repeatable Build Library
(p47-58)
Goals
- Remove processes that encourage heroics in rewarding vigilant firefighters
- Increase team-level technical mastery of production infrastructure
- Shift senior staff from firefighting to fire prevention
- Ensure that critical infrastructure can be easily rebuilt
- Enable a new troubleshooting process with a short, predictable Mean Time To Repair (MTTR)
- Ensure perfect configuration synchronization between pre-production and production servers
- Ensure all configurations and build processes are completely documented
Recommended key steps (to be implemented on most fragile systems first)
- Create and maintain a versioned, Definitive Software Library (DSL) for all acquired and custom developed software and patches
- Note: additions must be approved by the Change Approval Board (CAB)
- Exception: at the time of initial creation, all currently used production software will be accepted into the DSL under a one year grace period
- Create a team of release management engineers from your most senior operations staff. Only more junior staff will be on the production operations team.
- Prevent developers and the release management engineers (previously the senior operations staff) from accessing production infrastructure
- Reason 1: Policy encourages recommended changes to be error free with bullet-proof installation and back-out processes in place
- Reason 2: Process verifies completeness and accuracy of documentation for installation and operations procedures
- Release management engineers create automated, consolidated, integrated, patched, tested, security scanned, layer-able build packages which will then be provisioned onto production infrastructure by the more junior, production operations staff
- Reason 1: Consolidates the number of unique configuration counts (and thus increases team mastery of those fewer configurations)
- Reason 2: Ensures fully integrated quality assurance tests and security verifications
- Updates and even non-emergency patches are then rolled into a new a "golden build" which is then applied to production hardware as a new build
- Reason 1: Eliminates the risk of "patch and pray"
- Reason 2: Otherwise, over time, break/fix cycles tend to encourage configuration variance between production and pre-production servers ... and between similar servers that should be identical
- Reason 3: Applying new builds allows for highly accurate predictions of downtime, reduces chances of human error, and is typically faster than applying numerous individual patches and updates
- As a general rule, installed build packages will be preceded by erasing the production hard drive (or partition) ... the book calls this a "bare-metal build"
- Why? This process ensure that production servers do not contain any hidden dependencies, and guarantees that the "golden builds" accurately reflect production systems, enabling perfect synchronization with pre-production servers
Phase Four: Enable Continuous Improvement
(p59-64)
Goals
- Continuous increase in technical mastery of production infrastructure by reducing configuration variance
- Continuous improvement of change success rates
- Continuous increases in effective rate of change
- Continuous monitoring to avoid slips in performance
Recommended key steps
- Use recommended metrics to hone efforts from the first three Phases. A few selected examples:
- Percent of systems that match known good builds (higher is better)
- Time to provision known good builds (lower is better)
- Percent of builds that have security sign off (higher is better)
- Number of authorized changes per week (higher is better)
- Change success rate (higher is better)
- Strive to implement additional recommended improvement points. A few selected examples:
- Segregate the development, test, and production systems to safeguard against any possible unintentional crossovers or hidden dependencies
- Enforce a standard build across all similar devices
- Define bullet-proof back out processes to recover from failed or unauthorized changes
- Internalize the fundamental relationship between Mean Time to Repair (MTTR) and availability. By improving MTTR you also improve overall availability.
- Track repeat offenders who circumvent change management policies.
Visible Ops的更多相关文章
- 关于DevOps你必须知道的11件事
转自:http://www.infoq.com/cn/articles/11devops 关于作者 Gene Kim在多个角色上屡获殊荣:CTO.研究者和作家.他曾是Tripwire的创始人并担任了1 ...
- hdu2848 Visible Trees (容斥原理)
题意: 给n*m个点(1 ≤ m, n ≤ 1e5),左下角的点为(1,1),右上角的点(n,m),一个人站在(0,0)看这些点.在一条直线上,只能看到最前面的一个点,后面的被档住看不到,求这个人能看 ...
- display:none与visible:hidden的区别 slideDown与
display:none与visible:hidden的区别 display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被 ...
- toArray(),toJson(),hidden([ ]),visible([ ])
toArray() 转换为数组,hidden()不输出的字段 public function index(){ $user = model('User'); $data = $user::)-> ...
- 窗体Showmedol 遇到的奇怪异常: cannot make a visible window model
//窗体Showmedol 遇到的奇怪异常: cannot make a visible window model //背景:ShowModal A窗体,A窗体再ShowModal B窗体:A是透明背 ...
- display:none与visible:hidden的区别
display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失,通俗来说就 ...
- 关于Delphi错误:Cannot make a visible window modal
Delphi的fsMDIChild类型的窗体是不能使用ShowModal的,否则会弹出"Cannot make a visible window modal"异常, 但是把fsMD ...
- Android笔记——Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为"visible "."invisible"."gone&quo ...
- Textbox.Visible=False隐藏方式导致的问题
今天公司的正式环境有个功能不好使,但是测试环境没有问题,经过和同事的研讨,发现应该是我在写代码的时候把Textbox的visible属性设置为false导致的. 当时的需求是需要在发邮件的时候加上“相 ...
随机推荐
- LAMP 3.0 mysql配置讲解
mysql 安装好后,我们是从安装包的 support-files 里面复制过来一个模板配置文件,默认 mysql 配置文件是在/etc/my.cnf 下,其实这个路径或者文件名字我们是可以修改的,在 ...
- pl/sql使用部分整理
在工作中使用pl/sql工具,总结一下常用操作,以便以后复习,也希望帮助朋友们熟悉pl/sql操作! 1.pl/sql记住登录密码PL/SQL Developer->tools->Pref ...
- CentOS6.5 增加交换空间
在CentOS 6.5安装Oracle 11g的时候,提示交换空间不足,百度来下,找到来增加交换空间的方法,特此记录一下 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap ...
- springmvc 路径问题
web项目中的相对路径可以分为二类: 1.以斜杠开头:以斜杠开头的又分为二类(分类依据是斜杠出现的位置):如果出现在java代码或者配置文件(xml,properties等),这个路径叫做后台路径. ...
- Linux下修改Mysql最大并发连接数
输入的命令如下: /usr/local/mysql/bin/mysqladmin -uroot -pyyyyyy variables |grep max_connections nano /etc/m ...
- CSS代码重构与优化之路(转)
CSS代码重构与优化之路 阅读目录 CSS代码重构的目的 CSS代码重构的基本方法 CSS方法论 我自己总结的方法 写CSS的同学们往往会体会到,随着项目规模的增加,项目中的CSS代码也会越来越多 ...
- 面试题:struts 值栈 有用
一. 核心部分 1. [核心试题]完成当天课堂练习 2. [多选题] 阅读如下代码中,下列哪种方式可以在页面正确迭代获取集合中的数据 (ABC) public String add(){ ValueS ...
- 10.model/view实例(3)
任务:3x2的表格,第一个单元格显示当前时间 思考: 1.data函数里面QTime::currentTime()显示当前时间 2.但是这个事件是一个固定的时间,不会变动 3.需要时间变动,View就 ...
- 精美3D中国象棋
本人2013年的巅峰之作,现在已经完全免费放送.象棋界面的史诗革命.当前下载版本仅支持Windows 平台. 操作: 方向键的 上,下,左,右 控制棋盘翻转.Home 键回到初始状态,End按键回到平 ...
- Website开发前页面设计 Mockup的一些工具
这里介绍的Website开发前,页面设计的一些工具 1. Balsamiq (我们公司用的) https://balsamiq.com/download/ 2. Figma https://ww ...