Dreadnot软件部署解决方案
Rackspace公司近日开源了他们的一个用于软件部署的解决方案——Dreadnot,该方案可以实现软件的自动化以及多区域部署功能,项目代码已托管于GitHub。
据Rackspace介绍,Dreadnot是个由Node.js编写的“一键”部署工具,它受Etsy的Deployinator的灵感启发,基于Web框架Express和Twitter的Bootstrap JS与CSS工具构建。
Dreadnot的目标是帮助实现“持续部署”。Rackspace的工程师Paul Querna写到:
引用
与少部署而多进行手动测试不同,我们认为应更加频繁一些进行部署,这有赖于测试驱动开发(TDD)、代码复查(code review)以及质量保证文化的养成,以便尽早发现bug并减少服务中断的次数。我们的格言是,新来的工程师也能够在工作第一天将代码带入生产中。
对敏捷开发和DevOps而言,持续部署理念极为重要。它使得开发团队能够更加快速引入新特性,修复bug,减少管理多个版本及开发分支的复杂性与差异性。
对Rackspace来说,他们最初使用的是Deployinator工具,不过之后他们认为Deployinator并不能完全满足需 求:“Deployinator是设计用于单区域部署,走了一些捷径,但基本思路还是正确的。我们在Rackspace内部的诸多产品中对 Deployinator进行了研究,每个团队都面临着对Deloyinator进行定制以便能够适应我们的模型的问题。”鉴于上述原 因,Rackspace开发出了Dreadnot。
Rackspace表示,Dreadnot的设计旨在帮助实现多区域部署,这通过对部署过程实现高度自动化以及跨区域的冗余来实现。此外它提供了 一个控制机制以及易于访问的视图用于部署过程中。如果期间中出现任何失败,Dreadnot将暂停其操作,并等待开发人员解决。对于复杂或是出现致命错误 (fetal error)的部署,开发人员也可以在不受Dreadnot干扰的情况下手动完成。
评论