Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps 是什么不是什么

bin liu
April 23, 2017

DevOps 是什么不是什么

DevOps 从入门到精通。。。

bin liu

April 23, 2017
Tweet

More Decks by bin liu

Other Decks in Technology

Transcript

  1. DevOps is about minimizing the challenges of shipping, rapidly iterating,

    and securing software applications. -- HashiCorp “ “ 8
  2. DevOps is an enterprise capability for continuous (software) service delivery

    that enables clients to seize market opportunities and reduce time to customer feedback. -- IBM “ “ 9
  3. DevOps is a methodology that combines what used to be

    the separate and sequential processes of development and operations into a continuous process of understanding a market need, re ning an application or service to meet that need, and testing and deploying the solution. -- CA “ “ 10
  4. DevOps is an approach to bridge the gap between agile

    software development and operations. -- agileweboperations.com “ “ 11
  5. DevOps is a term used to refer to a set

    of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably. -- Wikipedia “ “ 12
  6. Devops is not a methodology or framework, but is a

    set of principles to break down silos “ “ 13
  7. DevOps 是? rapidly 、frequently 、reliably continuous service delivery methodology 、practices

    business (customer 、market ) break down silos(collaboration 、communication) automating culture 15
  8. Ops ? System engineers System administrators Operations staff Release engineers

    DBAs Network engineers Security professionals IT 17
  9. 鸿沟 理论/ 方法学 Mission 考核指标 工具/ 流程 自动 vs 手动

    合作 vs 甩锅 Function-driven vs Interrupt-driven 21
  10. DevOps 的出现 Agile Infrastructure & Operations , agile 2008, Patrick

    Debois 10+ Deploys per Day: Dev and Ops Cooperation at Flickr , Velocity 2009, Flickr DevOpsDays, 2009 #devops 23
  11. 推进 DevOps 的目的 Dev 和 Ops 的合作 47% 并行跨平台部署 41%

    进入新市场或者满足客户需求的TTM 41% 提高用户体验 39% 在云中开发、部署应用 31% 混合云的复杂化 28% 降低IT 成本 16% - What Smart Businesses Know About DevOps 26
  12. DevOps 收益(实际效果) 提高部署频率 53% 加强部门间的协作 48% 降低开发和运维的成本 46% 提高部署的应用的质量 42%

    提高用户数 35% 降低TTM 35% 降低投入人员数量 38% 实现跨平台 45% 增加收入 28% 27
  13. DevOps 所需技能 对商业优先级、战略和度量的知识 47% 了解当前商业流程 42% 沟通技巧 36% 流程重构技巧 33%

    项目管理技巧 30% 个人技能 30% 编程能力 24% 质量保证和测试技能 19% 28
  14. XP 的 13 个核心实践 完整团队(Whole Team ) 计划游戏(The Planning Game

    ) 结对编程(Pair programming ) 测试驱动开发 (Testing-Driven Development ) 重构(Refactoring ) 简单设计(Simple Design ) 代码集体所有权(Collective Code Ownership ) 36
  15. XP 的 13 个核心实践 持续集成 (Continuous Integration ) 客户测试(Customer Tests

    ) 小型发布 (Small Release ) 每周40 小时工作制(40-hour Week ) 编码规范(Code Standards ) 系统隐喻(System Metaphor ) 37
  16. 康威定律 先解决沟通的问题 扁平化 自治( 小而美 ) 2 个披萨 A system’s

    design is a copy of the organization’s communication structure. -- Melvin Conway, 1967 “ “ 40
  17. 生产 软件 浪费示例 库存 未完成工作 未 review 的设计、未测试的代码 加工 和进度、质量无关

    申请、签字 动作 不产生附加价值、不合理、效率不高:手工 过度制造 用户不需要的功能、不会执行的代码 搬运 交付无关 任务切换、本职工作以外;人员变动 待工 等待依赖 硬件到位、UI 设计完成、人员到位 不合格品 Bug Bug 45
  18. DevOps 要素 IT 自动化 52% 敏捷开发 47% 开发和运维之个人之间的团队合作 45% 服务虚拟化

    42% 加速的应用程序测试 32% 持续发布 32% 一致的开发运维流程 25% from: TechInsights Report: What Smart Businesses Know About DevOps 49
  19. The Three Ways Gene Kim - 《凤凰项目》作者 System Thinking (系统思考、强调全局优化,缩短

    Lead Time ) Amplify Feedback Loops (放大、及时的反馈回路) Culture of Continual Experimentation And Learning (持续实验、学 习和改善)。 51
  20. CALMS Jez Humble - 《持续交付》作者 Culture - People / Process

    Automation Lean Metrics Sharing - Collaboration/Feedback 52
  21. values and behaviours that contribute to the unique social and

    psychological environment of an organisation. “ “ Culture is basically a re ection of how and why people go about their jobs “ “ 53
  22. Metrics-driven development The use of real-time metrics to drive rapid,

    precise, and granular software iterations. “ “ 55
  23. Continuous Integration Continuous Integration is a software development practice where

    members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is veri ed by an automated build (including test) to detect integration errors as quickly as possible – Martin Fowler “ “ 57
  24. Continuous Delivery Continuous delivery is a software engineering approach in

    which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. from Wikipedia “Continuous delivery” “ “ 58
  25. Continuous Delivery Also Provisioning & Con guration TDD Code Review

    CI 打包、部署 集成测试(功能、性能)自动化 持续改进 59
  26. SRE LCE: Launch Coordination Engineering PRR (Production Readiness Review )

    架构、依赖 性能、预测 高可用、备份恢复、监控、安全 Error Budget Postmortem ICS (Incident Command System ,危机管理) 72
  27. DevOps 对应用架构的影响 Container 、Microservice 、Function Cloud Native Application Feature ags

    Blue/green deployment Canary release Immutable infrastructure Golden Image 74
  28. 实施 DevOps 的障碍 组织结构太复杂,太多人、部门和依赖 35% Dev 和 Ops 之间的角色、责任不一致 38%

    安全或监察顾虑 35% 对整个开发生命周期认识不足 24% from: TechInsights Report: What Smart Businesses Know About DevOps 75
  29. DevOps geeks James Turnbull Website: https://jamesturnbull.net Puppet Labs 、Docker Inc

    Terraform/Consul/Docker/Monitoring/Puppet/Nagios/Logstash/Lin ux 94