敏捷 sysadmin 和 devops - 如何完成?

Mar*_*mos 18 untagged

如今,敏捷系统管理和 DevOps 是有关系统管理和运营的一些最热门的话题。这两个概念主要侧重于弥合运营/系统管理员与项目(开发人员、业务等)之间的差距。即使您从未听说过 devops 概念,我相信这个话题也是您所关心的。

那么,您使用哪些工具和技术来完成贵公司的 DevOps?我对变更管理、持续集成和自动化等主题特别感兴趣,但不仅限于这些主题。请分享您的想法。我期待着阅读您的回答/意见:)

cag*_*nut 30

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

  • trac/redmine/jira - 票务。

  • cobbler - 用于基本操作系统服务器配置。Cobbler 是一款专注于 redhat 系列的产品,但我确信 debian/ubuntu 也有类似的产品。同样,大多数“云控制面板”公司(如 RightScale)都会为您提供此功能。这里的口号是“JEOS”或“刚好够用的操作系统”。我的路线是在我的 kickstarts 中使用 "%packages --nobase" 行,然后通过...

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

  • func(或 capistrano 或 cluster-ssh) - 用于跨集群运行部署脚本。这里的诀窍是让它成为高级开发人员可以自己运行的东西,既可以推动新事物的发展,又可以推动不可避免的修复。
    这确实是 DevOps 的核心,使开发人员能够打破和修复环境。许多系统管理员太耗电而无法像这样放手,或者他们的管理层仍然错误地认为系统管理员应该监督开发人员(好像我们甚至可以阅读他们正在做的事情的一半)。

  • cacti/ganglia/collectd/munin - 图表是非常关键的。它具有指标的商业价值和简单视觉效果的人类价值。将代码推送的时间戳与图表中更改的时间戳相关联,对于解决性能回归问题和查看有关性能决策的真实情况非常有价值。这里有一个关键点,即图表需要易于开发人员查看和使用,并且他们的管理层需要对他们有所期待。

  • nagios/zabbix/smokeping/etc - 监控服务器内容和“基本页面”类型的性能指标。再次,图表是关键。这些更多是针对团队的运营方。

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

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

  • +1“devops 的核心,使开发人员能够打破和修复环境” (2认同)