> For the complete documentation index, see [llms.txt](https://newptone.gitbook.io/deployopenstackwithpuppet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://newptone.gitbook.io/deployopenstackwithpuppet/deployment_tool/custom_tool.md).

# 编写一个定制化部署工具

## 需求和定制

在前面的篇幅中，我们介绍了各种部署工具和其使用的简单介绍。当你在使用它们来自动化地搭建企业的云平台时，会发现其实没有哪个工具可以完美地解决企业/用户的需求:

* 用户使用了一种新SDN技术，现有工具无法支持
* 云平台的架构比较特殊，现有工具无法支持
* 内部的认证/计费/报警系统也需要通过同一套部署工具进行整合，开源工具显然无法满足

那么在这种情况下，我们建议读者开始使用考虑编写一个定制化的部署工具，可以在现有工具的基础上进行二次开发，或者全新开发。
