编写您的第一个 OpenStack 应用程序

编写你的第一个 OpenStack 应用

问题描述

目前,OpenStack 缺少类似于其他 Python 项目的文档,该文档向新用户介绍 API。Python 社区一个著名的“第一个应用”教程是 Django Web 框架的 教程

提议的变更

应用生态系统 WG 的成员编写了一个指南,介绍了 OpenStack API,使用一个非平凡的 Python 应用作为教学工具——类似于 Django 教程中的投票应用。

备选方案

实现

本书是为希望将应用程序部署到 OpenStack 云的软件开发人员编写的。

我们假设读者是一位经验丰富的程序员,但他们不一定为通用云或特别是 OpenStack 创建过应用程序。

除了学习在 OpenStack 上部署应用程序外,读者还将学习一些云应用程序开发的最佳实践。

本教程实际上涉及两个应用程序;第一个,一个分形生成器,只是使用数学公式生成图像。然而,实际上,这只是一个借口;真正的应用程序是使读者能够使用 OpenStack 运行它的代码。该应用程序(因此本指南)包括

  • 创建和销毁计算资源。
  • 与云相关的架构决策,例如微服务和模块化
  • 缩放和缩小以自定义可用资源的数量。
  • 对象和块存储,用于持久化文件和数据库。
  • 编排服务,以自动适应环境。
  • 网络定制,以提高性能和隔离性。
  • 一些其他我们认为普通人不想做的事情;)。

该指南的编写优先考虑最常用的 API 调用,因此它可以在广泛的 OpenStack 版本上工作。此外,作者特别注意前 3 个章节几乎无论 OpenStack 云配置如何都可以工作(基本上 Nova、Keystone 和 Glance 是唯一的必需条件,但如果安装了 neutron 将使用它)。

仓库位置

此内容应发布到 developer.openstack.org。

冲刺期间创建的内容应与应用程序分离。

冲刺期间创建的内容记录了如何使用 OpenStack API 和几个 OpenStack SDK,而应用程序只是一个示例用例。从理论上讲,使用的应用程序(目前是 Faafo)将来可以被替换(或者我们可能希望添加第二个用例)由其他应用程序。此外,放置在应用程序仓库内的文档的重点与冲刺期间创建的内容的重点不同。应用程序仓库内的文档描述了如何使用应用程序本身(如何创建开发环境、示例输出等),而不是如何使用 OpenStack SDK 和 OpenStack API。

因此,内容将位于 openstack/api-site 仓库中,就像发布到 https://developer.openstack.org 的其他文档一样。因此,评审团队将是该仓库的标准文档评审人员。

多 SDK 支持

该指南的编写方式使其对多个 SDK 的支持成为其发布的核心部分。已经为 libcloud 编写了初始章节,并且 section1 也适用于 fog。设计理念是可以重复使用相同的散文,只需交换代码示例即可。

负责人

工作项

  • 冲刺期间编写内容
  • 添加标准构建任务
  • 标准内容审查
  • 在 developer.openstack.org 上显著链接内容

依赖项

测试

该指南的编写方式是,所有示例都可以由读者运行,并且已经采取措施验证所有内容是否有效。

到目前为止,libcloud 的第 1-3 章节至少由 7 个人在作者了解的 7 个不同的云上进行了测试,其余带有示例的章节至少在 3 个不同的云上进行了测试。

Fog 在 section1 中只有在一个云上进行了测试,在 section 1-3 完成作为最低要求并进行额外测试之前,不应发布。

本指南的测试过程类似于安装指南。测试人员应扮演“天真”读者的角色,完全按照指南的说明进行操作,不偏离。任何无法正常工作或难以遵循的说明都应记录为错误并修复。

Creative Commons Attribution 3.0 License

除非另有说明,本文档根据 知识共享署名 3.0 许可协议 授权。请参阅所有 OpenStack 法律文件

docs-specs