容器与devops

有人可能会说容器和DevOps是彼此兼容的。 当然,在设计选择和开发容器技术的团队使用DevOps的过程中,DevOps实践的迅猛普及将使容器生态系统受益。 由于这种并行发展,在生产中使用容器可以教会团队DevOps的基本知识及其三大Struts: 三种方式 。

流动原理

集装箱流量

现实世界中的流程

本课程也可以应用于在筒仓中运作的团队。 从构思到实现的每个过程(无论是代码发布,基础架构创建,甚至是Spacely Sprockets的制造)都遵循一条线性路径。 在技​​术上,这一进步从开发到测试再到运营再到发布。 如果一个团队独自工作成为瓶颈或引入问题,那么整个过程都会感受到这种影响。 生产线上的缺陷破坏了下游的生产率。 尽管在团队本身范围内破裂的过程似乎是完全正确的,但它对整个环境有负面影响。

DevOps和流程

DevOps的第一种方法, 即流程原则 ,是将流程作为一个整体,努力理解系统如何协同工作,并理解问题对整个流程的影响。 为了提高流程效率,可以识别并消除痛点和浪费。 这是一个持续的过程; 团队必须不断努力提高对过程的可见性,并发现并修复问题点和浪费。

“将“第一方法”付诸实践的结果包括:永远不会将已知的缺陷传递给下游工作中心;永远不会允许局部优化造成整体性能下降;总是试图增加流程;总是试图对系统进行深刻理解(根据戴明)。”

– Gene Kim, 《三种方式:DevOps的基础》 ,IT革命,2017年4月25日

反馈原则

容器反馈

除了限制容器以防止在其他地方受到影响之外,还创建了许多产品来监视和趋势化容器指标,以了解它们在做什么并在出现异常时通知它们。 普罗米修斯 ,例如,是所有的愤怒用于收集从容器和簇指标。 容器非常擅长分离应用程序,并提供了一种随代码一起运送环境的方法,有时会以不透明为代价,因此做了很多工作来尝试提供快速反馈,以便可以在筒仓内Swift解决问题。

真实世界的反馈

系统流程也必须如此。 从开始到实现,一个高效的过程会Swift提供相关反馈,以识别何时出现问题。 这里的关键词是“快速”和“相关”。 在成千上万不相关的通知中埋葬团队使得很难或什至不可能注意到需要立即采取行动的重要事件,并且太晚接收相关信息也可能使小的,容易解决的问题向下游发展,成为更大的问题。 想象一下, 如果露西和埃塞尔立即提供了反馈,表明传送带太快了–巧克力生产就不会有问题(尽管那不会很有趣)。

DevOps和反馈

DevOps的第二种方式, 即反馈原则 ,是关于快速获取相关信息的。 有了即时,有用的反馈,就可以在开发过程中的其他地方感受到影响之前识别并解决问题。 DevOps团队致力于“针对下游进行优化”,并立即着手解决可能影响到其后其他团队的问题。 与流程一样,反馈是一个连续的过程,用于确定快速获取重要数据并在出现问题时采取措施的方法。

“创建快速反馈对于实现技术价值流中的质量,可靠性和安全性至关重要。”

– Gene Kim等人, 《 DevOps手册:如何在技术组织中创建世界级的敏捷性,可靠性和安全性》 ,IT革命出版社,2016年

持续实验与学习的原则

容器持续实验与学习

将操作学习应用于DevOps的第三种方式要更具挑战性: 持续进行实验和学习 。 试图挽救我们能理解的隐喻最边缘的内容,容器使开发变得容易,从而使开发人员和运营团队能够在生产环境之外本地安全地测试新代码或配置,并将发现的收益以难以实现的方式整合到生产环境中。过去。 变更可以是激进的,并且仍可进行版本控制,记录和快速轻松地共享。

真实世界的持续实验和学习

例如,考虑一下我自己的经历:几年前,作为一个年轻的,没有经验的系统管理员(工作仅三个星期),我被要求对运行中央IT部门网站的Apache虚拟主机进行更改。大学。 在没有易于使用的测试环境的情况下,我对生产站点进行了配置更改,认为可以完成该任务并将其推出。 几分钟后,我在下一个立方体中听到了同事的话:

“等等,网站关闭了吗?”

“嗯,是的,看起来像这样。 有没有搞错?”

涉及到很多麻烦。

饱受摧残(真是太可惜了,伙计们),我沉没到了位子上,疯狂地试图退回我所做的更改。 当天下午晚些时候,部门负责人(我老板的老板的老板)出现在我的立方体中,谈论发生了什么。 “别担心,”她告诉我。 “我们没有生你的气。 这是一个错误,现在您已经了解了。”

在容器的世界中,可以很容易地在我自己的笔记本电脑上进行更改和测试,而更熟练的团队成员会在很早就将其投入生产之前就确定这种损坏的配置。

DevOps持续实验和学习

真正的实验文化可以提高个人发现过程中的变更可能有益的地方的能力,并且可以测试该假设,而不必担心会因失败而遭到报复。 对于DevOps团队而言,失败成为一种教育工具,它可以增加个人和组织的知识,而不必担心或惩罚。 DevOps团队中的每个人都致力于不断学习,当知识共享时,这反过来对团队和更广泛的组织有利。

随着隐喻的彻底瓦解,需要将重点放在一个特定的点上:乍一看,可能会出现另外两个原则,以完全专注于过程,但是持续学习是一项人工任务,对项目的未来,个人,团队和组织。 它对过程有影响,但对个人和其他人也有影响。

“实验和冒险精神使我们能够不懈地改善工作系统,这常常要求我们做事的方式与数十年来的方式截然不同。”

–Gene Kim等人, 《凤凰计划:有关IT,DevOps和帮助您的企业获胜的新小说》 ,IT革命出版社,2013年

容器可以教我们DevOps

学会有效地与容器一起工作可以帮助教授DevOps和三种方式:流程原理,反馈原理以及持续实验和学习的原理。 从整体上看应用程序和基础结构,而不是对容器外部的所有内容视而不见,这使我们掌握了系统的所有部分并了解它们的上游和下游影响,突破了孤岛,并为提高全球性能和深度而团队合作对整个系统的了解。 提供及时,准确的反馈的工作教会了我们如何在组织内创建有效的反馈模式,以便在问题产生影响之前就先发现问题。 最后,提供一个安全的环境来尝试新思想并向他们学习可以教会我们创建一种文化,在这种文化中,失败是对我们知识的积极补充,并且能够通过有根据的猜测来大胆尝试,可以为复杂的问题提供新颖而优雅的解决方案。

接下来要读什么

翻译自: https://opensource.com/article/18/9/containers-can-teach-us-devops

容器与devops

容器与devops_什么容器可以教我们有关DevOps的知识相关推荐

  1. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别

    Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  2. java中组件与容器_java中的容器组件和非容器组件

    1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...

  3. Docker网络——实现容器间通信、容器与外网通信以及容器的跨主机访问

    前言 自定义网络 建议使用自定义的网桥来控制哪些容器可以相互通信,还可以自动DNS解析容器名称到IP地址.Docker提供了创建这些网络的默认网络驱动程序,你可以创建一个新的Bridge网络,Over ...

  4. docker 嵌套技术 docker outside of docker 可用于一个容器内调用另一个容器内程序 跨容器调用 docker容器内获取自身容器信息

    环境:centos7  docker升级为最新版, docker升级方法参考:<centos7 docker升级到最新稳定版本>centos7 docker升级到最新稳定版本_whatda ...

  5. css居父容器下,整理:子容器垂直居中于父容器的方案

    本文在evernote里有备份.如果evernote的阅读区域嫌窄了,那么可以把这个链接拖入书签并点击javascript:jQuery("#container").width(9 ...

  6. 多个容器一起打包_容器快速入门完全指南

    介 绍 容器,以及Docker和Kubernetes之类的容器技术已经日益成为许多开发人员工具包中常见的工具.容器化的核心目标是提供一种更好的方式,以可预测和便于管理的方式在不同的环境中创建.打包以及 ...

  7. 容器大小_C++ 顺序容器基础知识总结

    阅读目录 0.前言 1.容器概论 2.std::array 2.1.底层数据结构 2.2.内存分配策略 2.3.array的优势在哪 3.forward_list 3.1.底层数据结构 3.2.for ...

  8. 第十一篇:(顺序)容器的好伴侣 --- 容器适配器

    前言 vector容器的数据结构原型是顺序表,它很好的实现了顺序表的功能,大大方便了编程.好了,现在假设有天我又想用栈,那么有没有栈对应的容器呢?很遗憾,木有.但基于"栈"可以由顺 ...

  9. docker和java容器_使用Docker容器和Java EE进行持续交付

    docker和java容器 组织需要一种使应用程序交付快速,可预测和安全的方法,而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标. 对于Java EE应用程序,这可以在容器中打 ...

最新文章

  1. icps -lm 命令与 shmmax 的关系
  2. SSM整合(2): spring 与 mybatis 整合
  3. python基础--4 元祖
  4. Linux目录结构与文件权限
  5. 阿里巴巴Java 程序员常用的 10 款开源工具!用好了,事半功倍!
  6. oracle 64位使用plsql,64位操作系统使用plsql
  7. 如何理解图像的概率分布?为什么N(0,1)的向量可以Gen图片?
  8. [易飞]指定日期结存
  9. java实现简单学生信息管理系统
  10. C#Directory常用方法
  11. 厦大计算机推免复试,统考生没戏!厦大该专业3个系招生,推免占比最高100%!...
  12. github首次使用提交项目
  13. (14)[驱动开发]配置环境 VS2019 + WDK10 写 xp驱动
  14. 2022年危险化学品经营单位主要负责人特种作业证考试题库及答案
  15. 计算机桌面怎么自定义,电脑怎么换壁纸自定义
  16. 数据的抽取的非正态性处理
  17. 小米最新系统android 10,小米MIUI 12再更新,基于Android 10的系统也来了,5项改变...
  18. 爱思服务器显示磁盘空间不足,iPhone 11 有储存空间,但仍会提示“空间不足”怎么办?...
  19. 第四次作业:《财务决策与分析》——财务报表的逻辑架构(慕课组)
  20. 三步读懂对象存储-访问方式

热门文章

  1. Levenberg–Marquardt算法学习
  2. 网络安全–21世纪的挑战
  3. openoffice的odt文件转化为word文件的问题
  4. 欧姆龙PLC与fanuc发那科机器人进行Ethrenet ip通信测试
  5. 潘凯:C++对象布局及多态实现的探索(七)
  6. Request failed with status code 404
  7. 计算机网络实验之三层交换机实现VLAN间通信
  8. 计算机网络实验室申请报告,实验室经费申请书范文
  9. 操作系统第一章课后题
  10. 宿舍小助手NABCD