题 敏捷系统管理员和devops - 如何实现? [关闭]


如今,敏捷系统管理和devops是有关系统管理和操作的最热门话题。这两个概念主要集中在 弥合运营/系统管理员与项目之间的差距 (开发商,企业等)。即使你从未听说过devops概念,我也相信这个话题也是你关心的问题。

那么,您使用什么工具和技术来完成公司的开发?我对变更管理,持续集成和自动化等主题特别感兴趣,但不仅仅是在这些主题中。请分享你的想法。我很期待看到你的答案/意见:)


18
2018-05-17 19:11




“桥接”开发和运营(系统管理)的部分问题是不同的首要任务。系统管理员的#1优先级是 保持 工作的东西,虽然各种常见的重复性任务。发展的第一优先事项是 创建 新功能。这些任务可以大大重叠,但在那里 会来的 当他们在竞争时。正是在这个争论时刻,您的DevOp将不得不选择成为运营商或开发商。某些设置可以容忍失效,但大多数人不会享受财务报告。 - Chris S
另外,我最近听说有人在讨论管理员,他们也知道如何编程。能力不能确定优先事项或主要责任。现代管理员必须懒惰;为此,他们必须在他们所做的一切事情上保持高效。脚本,创建维护实用程序和理解代码现在只是一项基本技能。没有发布这些技能的SA正在被降级到容忍这种低效率的小型和昏昏欲睡的商业模式(例如制造业)。不断变化的知识库并不能保证可恶的术语合并。 - Chris S


答案:


  • svn / git - 很明显是版本控制。

  • trac / redmine / jira - 票务。

  • cobbler - 用于基本操作系统服务器配置。 Cobbler是一款专注于redhat家庭的产品,但我确信debian / ubuntu有类似之处。同样,大多数像RightScale这样的“云控制面板”公司都会为您提供此类服务。这里的口号是“JEOS”或“恰到好处的操作系统”。我的路线是在我的kickstart中使用“%packages --nobase”行,然后通过...构建我的特定堆栈

  • puppet / chef - 用于配置管理和一致性实施。这里还有其他选择,更重要的是你使用的比这更重要。我发现一个特别重要的技巧是将配置存储在开发人员使用的相同版本控制系统中。这有助于将两个团队的工作流程结合在一起,并使彼此可见。

  • func(或capistrano或cluster-ssh) - 用于跨群集运行部署脚本。这里的诀窍是让高级开发人员能够自己运行以推动新事物并推动不可避免的修复。
    这实际上是devops的核心,使开发人员能够破坏和修复环境。许多系统管理员太过于无法放弃这样的权力,或者他们的管理人员仍然认为系统管理员应该监管开发人员的错误观念(好像我们甚至可以阅读他们正在做的事情的一半)。

  • cacti / ganglia / collectd / munin - graph是soooooo key。它具有简单视觉效果的人类价值的指标的商业价值。将代码推送的时间戳与图表中的更改时间戳相关联,对于排除性能回归和查看有关性能决策的真实事实非常有价值。这里有一个关键点,开发人员需要易于查看和使用这些图表,以及他们的管理需求。

  • nagios / zabbix / smokeping / etc - 监控服务器内容和“基页”类型的性能指标。图表也是关键。这些更适合团队的操作方。

  • gomez / keynote / browsermob - 考虑第三方服务,CDN和渲染时间问题,对浏览器的完整性能进行外部监控。这些更适合团队的开发方。

这是工具和技术的混合,专注于技术。特别是从“管理员”到“操作”的devops的“系统管理员”方面的思维方式的变化。它关于启用开发人员。使他们能够做某事,使他们能够解决问题,使他们能够看到他们所做事情的真实事实/指标/图表。相反,开发人员需要接受他们已经启用并实际执行观察性能趋势,调试问题,不仅考虑功能,还考虑如何推出它们以及它们将如何影响整个系统/环境的健康状况的工作。


30
2018-05-17 21:08



+1“devops的核心,使开发人员能够打破和修复环境” - Ryan Gibbons
这与提供可靠服务直接争论,以及为什么devops有时可能是开发人员在不理解的情况下进行操作。技能是在允许自由开发和环保变更之间找到适当的平衡,以便在分段,冗余等之后隐藏用户的休息时间。 - JamesRyan


我们正在努力在National Instruments做这件事。您可以阅读更多关于我们正在做的事情 http://dev2ops.org/blog/2010/4/27/qa-ernest-mueller-on-bringing-agile-to-operations.html

这里提到的各种工具组合基本上都是我们在这里移动的方向。


4
2018-05-17 22:10





最好的方法是了解您工作的环境。首先与开发人员和经理交谈。尝试让他们加入并从他们身上反弹。他们很可能会很好地了解事情是如何运作的,以及你引入devops的想法是否会引起任何问题。

从那里开始查看应用程序并一次引入一个来解决问题。


2
2018-05-18 00:52



introduce them one at a time to solve problems.+1 - Banjer


虽然工具和技术很重要,但关键路径是整个组织的协作。这些天IT运营  商业运营。 Etsy显示其仪表板上的收入变化,每个人都可以看到。


0
2017-08-04 23:44