作为开发人员,我如何帮助系统管理员改进 Webfarm 部署和 Web 应用程序的稳定性?

Rih*_*eij 2 deployment web-farm

问题:

部署和管理此站点已成为一场噩梦。部署,从开发到 QA,再到预生产,需要几天时间。我们有很多错误,它涉及大量的体力劳动。我们经常有更新或错误更改的配置文件,然后该 Web 服务器上的整个站点都失败了。

环境:


  • 大量的 Web 前端服务器(windows 2003、IIS6)
  • 大量 MemCached 服务器 (Linux)
  • 多个数据库服务器 (SQL 2005)
  • 每月大约 500 万个独立用户

更多详情:

我是负责开发系统的开发人员之一。目前零自动化、零自动化测试,部署过程包括登录服务器、使用终端服务器、手动更改 IIS 设置、更新配置文件等。灾难恢复文档还有很多不足之处。

我想让处理服务器操作的团队能够成功部署和维护我正在处理的应用程序。所以出于部分非常自私的原因,我希望他们成功。

我想要一些方向;关于我可以问他们哪些具体问题,或者我可以提出哪些建议,以及作为开发人员,我们可以如何创造事物来帮助他们取得更大的成功。

目前有一些混乱正在进行,我认为真正解决这个问题的唯一方法是忽略混乱,并专注于问题。目前的问题是维护、排除故障和部署站点非常耗费人力。

谢谢 Rihan

Dom*_*nin 5

  • 编写代码来检查它得到的任何配置的健全性,并直接向执行配置的人员和在日志中报告问题。

  • 明确区分特定于环境的配置值和那些应该在开发、测试、验收、生产 (DTAP) 街道上保持不变的配置值。

  • 使用版本管理软件(例如 subversion)来跟踪所有环境中的配置更改。

  • 像自大狂一样管理 DTAP 环境的配置。

  • 在您发布一个版本之后,在您再次开始编码之前,安排将生产环境复制到包括开发在内的所有其他环境中。当您将这一点传达给其他开发人员时,请查看他们中的哪些变白了,并询问他们无法从源代码控制中随意替换哪些资产。

  • 最重要的是!!!你可能在读这个想法,这个白痴是谁?这不可能!我们做不到这一切。没错——当然你不能——现在不行。(如果你还没有遇到麻烦,你就不会问这个问题)。因此,将愿景与实施分开。与其他利益相关者分享这一愿景。一起决定你应该拥有哪些能力,并制定一个开始让你达到目标的计划。每个周期或发布或其他任何内容,请确保您更接近愿景。设定现实的目标,并实现它们。(当然,您可以在进行过程中根据经验改变您的愿景。)