哪些问题困扰着我们?DevOps 使用建议
【编者按】随着 DevOps 被欲来越多机构采用,一些共性的问题也暴露出来。近日,Joe Yankel在「Devops Q&A: Frequently Asked Questions」一文中总结了近段时间参与各种活动中经常遇见的几个问题。本文系 OneAPM 工程师编译整理:
从11月至今,在维护 DevOps 博客、参加网络研讨会与各种会议的过程中,笔者遇见了很多有关 DevOps 的各方面问题,包括变更管理、安全性与具体方法。本文将就几个频繁被问及的问题进行回答。
1. 变更与发布管理与 DevOps 如何集成?
首先,变更一直是 DevOps 文化之一。[Gene Kim] (https://en.wikipedia.org/wiki/Gene_Kim)在 “The Three Ways”中描述了支撑 DevOps 的3个原则,他表示,DevOps 的一个核心原则(第2条)就是增强 feedback loop(反馈环)。通过持续反复的反馈回路,开发者能够快速响应客户需求。feedback loop 是变更管理发挥作用的环节。一般来讲,在情况脱离预期时就会对变更管理,或者由客户(内部或者外部客户)决定变更应当进行,以增强商业价值。事实上,这种类型的变更是良性的,开发者应当促成这种变更。
在没有 DevOps 并缺少持续集成(CI)与持续交付(CD)激励的情况下,正式发布之前,没人会对变更提出要求。但随着 CI 与 CD 到位,release 会更快速更频繁。从而,客户有机会提前发现是否需要变更。快速提交能让他们更迅速地评估产品与自身需求,从而反过来促成需求的变更。事实上,没什么比能亲眼看到、亲手使用更加清晰产品需要变更的方向。
2. 在这样一个迭代环境/流程中,如何确保一直兼顾安全性需求?在 DevOps 环节中是否需要专门的安全人员?
安全性在整个 DevOps 环节中的优先级一直是最高的。下图是用来描述 DevOps 典型的文氏图(Venn diagram):
实际上,人们经常忽视安全性,甚至没有画出这一环节。在描述安全的 DevOps 时,SEI's CERT Division中推荐使用的图表如下:
必须时刻考虑到安全性问题,同时整个 DevOps 环节都应当有安全专家的参与。不能指望开发或支持团队在项目中作出安全决策。如果对公司来说,安全性举足轻重(并且近期一直如此),那么专门的安全/隐私专家就非常必要。专业的开发或运营人员应当精通以下方面:
- 数据隐私性
- 入侵侦测
- 入侵载体
- 通用漏洞列表(CVEs)
- 安全性封装
- 身份验证
- 授权
- 安全标准合规性
微软 SDL(安全开发周期)列出了在一个项目周期中引入安全性的方式。在整个项目周期中,至少应当有一名专业的安全人员与 DevOps 团队紧密合作,他会考虑其他人不会考虑到的安全性相关问题,结果显然喜闻乐见。
3. DevOps 是否只能用于敏捷开发中,还是适用于任何种类的开发周期?
DevOps 的确是敏捷开发的延伸,但它更多是一种文化或理念(请参看第一个问题中提到的「The Three Ways」)。无需采用敏捷开发便可使用 DevOps,因为很明显使用 DevOps 会比普通的SDLC(软件开发生命周期)更为高效,但单独使用 DevOps 可能困难度更高一些。敏捷开发当然比其他的 SDLC(例如瀑布开发)对 DevOps 帮助更大。不使用敏捷开发仍能达成目的,但使用后效果更佳。
原文链接:Devops Q&A: Frequently Asked Questions
本文系 OneAPM 工程师编译整理。想阅读更多技术文章,请访问 OneAPM 官方博客。
哪些问题困扰着我们?DevOps 使用建议的更多相关文章
- 打通 DevOps 任督二脉 ,CODING 2.0 制品库全新上线
CODING 在近期的 KubeCon 2019 大会上发布了 CODING 2.0,同时发布了最新功能--制品库.CODING 不断完善 DevOps 工具链,旨在持续提升研发组织软件交付的速度与质 ...
- 成熟度模型:企业规模化推广敏捷和DevOps利器
摘要: 本文介绍了成熟度模型在软件开发行业的应用,重点阐述了成熟度模型对于敏捷和DevOps在企业中进行规模化推广的价值,探讨了成熟度模型的设计原则,并对于如何明智使用成熟度模型给出了建议. 导言 在 ...
- 一文读懂云上DevOps能力体系
简介: 阿里云ECS自动化运维套件架构师,深度拆解云上运维能力体系建设:自动化运维等级金字塔.自动化运维的进阶模式.DevOps的基础核心.云上标准化部署三大能力-- 序言 云计算行业已经有十多年的发 ...
- 懂说话,让冲突、尴尬时刻都bye-bye
回忆一下自己从小到大的成长历程,你容不容易交到新朋友?在不熟悉的社交场合中,你是否也曾面临坐立难安.不知从何聊起的窘境?事实上,无论身处学校或社会,担任职务是基础或高阶,终其一生都会派上用场的能力,就 ...
- Yapi学习笔记
. 下载源码:https://github.com/YMFE/yapi 2. 安装MongoDB数据库,下载地址:链接:https://pan.baidu.com/s/1bZKlcy 密码:ah3n ...
- Spring框架的核心概念是什么?需要掌握的知识点都有哪些?
Spring其主要精髓 就是IOC和AOP.掌握好了这两点对于理解Spring的思想颇有意义. IOC(英文 Inversion of Control)就是控制反转的意思.就是把新建对象(new Ob ...
- [转载]逐步建设企业DevOps能力
当软件行业进入互联网时代,市场对软件产品和服务的交付提出了更高的要求:不仅要快速实现需求,而且要快速发布上线,并且必须保证业务可靠.高效运行.为了满足这些要求,IT组织需要强有力的流程.技术和人员作为 ...
- 架构设计哲学【三种方式:支持DevOps的原则】
三种方式:支持DevOps的原则 2012年8月22日作者Gene Kim 45条评论 这篇文章是杨波老师分享的一篇文章:这几年对他架构影响最深的一篇文章.主要描述是关于DevOps的,但对系统架构同 ...
- DevOps团队交付了什么?
一.简介 "你在团队里是做什么的?" "DevOps." "DevOps是什么呢?" "DevOps是一种文化.一种实践,目标是加 ...
随机推荐
- Effective C# 学习笔记(原则二:为你的常量选择readonly而不是const)
原则二.为你的常量选择readonly而不是const Prefer readonly to const 对于常量,C#里面有两个不同的版本:运行时常量(readonly)和编译时常量(co ...
- Node.js中的模块化
每天一篇文章来记录记录自己的成长吧.大二,该静心了.加油~ 好了,废话不多说,今天说说nodejs中的模块化.(注:此文为自己对书nodejs实战的总结) nodejs一个重要的特性就是模块化,模块就 ...
- Xhprof安装笔记(PHP性能监控)
由facebook开源出来的一个PHP性能监控工具,占用资源很少,甚至能够在生产环境中进行部署.它可以结合graphviz使用,能够以图片的形式很直观的展示代码执行耗时 wget http://pec ...
- JVM学习总结一——内存模型
JVM是java知识体系的基石之一,任何一个java程序的运行,都要借助于他.或许对于我这种初级程序员而言,工作中很少有必要刻意去关注JVM,然而如果能对这块知识有所了解,就能够更清晰的明白程序的运行 ...
- iOS 进阶 第二十一天(0531)
0531 - Autolayout 不仅可以做屏幕适配还可以做系统适配 uidynamic 做物理动画.能做的效果如下图: Autolayout Autolayout 是一种“自动布局”技术,专门用来 ...
- ajax 例子
引用 function initCsvModel(year,cityId){ var args = new Object(); args.url= "listUpload!initCsvMo ...
- 文件读写 swift
// // ViewController.swift // 文件读写 // // Created by mac on 15/7/12. // Copyright (c) 2015年 fangyuhao ...
- c++中的virtual函数,即虚函数
c++中的虚函数主要是用来实现多态的,虽然都同时指向父类的实例.但调用的确实子类的函数,这个有点像java的接口和实现的关系了.一个接口有多种实现,一个接口对象调用的是哪个实现的方法,这个就是多态了 ...
- “我爱淘”冲刺阶段Scrum站立会议3
完成任务: 将搜索框的界面已经实现以及部署到整个框架中. 计划任务: 实现搜索功能,通过数据库的链接,实现用户可以查到自己需要的书籍的信息. 遇到问题: 1.数据库的操作,怎么实现查询功能: 2.Ac ...
- 项目结队开发---NABC分析(成员)
一.简介 项目名称:校园导航 特点:手机app,简便易用,适合对铁大地形不了解.路痴者使用. 二.NABC分析 N(need):对于新生报到,学生家长参观校园等想要了解校园路线者,本app软件将带给你 ...