App Engine 发布核对清单

简介

Google App Engine 是一款“平台即服务”(PaaS) 产品,让您可以在 Google Cloud Platform 上构建和运行应用。App Engine 应用易于构建、便于维护,并可以根据您的流量和数据存储需求变化轻松扩缩。许多公司都已成功在 Google App Engine 上发布应用。

此“App Engine 发布核对清单”重点讲解了在 Google App Engine 上发布商业应用的最佳做法,专门针对熟悉 App Engine 的企业开发者。这些说明不会教您如何使用 App Engine,刚开始使用 App Engine 的新用户应该从 App Engine 使用入门教程开始学习。

此“App Engine 发布核对清单”分为四个部分:

  • 架构设计和开发
  • Alpha 版测试
  • 小范围发布
  • 最终发布

这些部分的顺序与我们建议您在准备发布应用时采取的步骤顺序相同。例如,您应该从“架构设计和开发核对清单”开始,其中包含我们建议您在应用开发生命周期的早期阶段进行的活动。同样,“小范围发布核对清单”包含我们建议您在即将发布应用时进行的活动。但是,核对清单活动的确切时间以及这些活动所需的时间取决于您的应用开发时间安排。

此“App Engine 发布核对清单”旨在帮助确保产品顺利发布,并为您的应用用户提供绝佳的体验。我们建议您对在 Google App Engine 上运行的现有应用和新应用使用这些核对清单。

架构设计和开发核对清单

我们建议您在应用开发的早期阶段使用此核对清单。此核对清单中的活动分为四组:

  • 软件架构工作
  • 确定您与 Google 的联系方式
  • 正在预配
  • 制定发布计划并预估流量

您可以同时进行各组核对清单活动;但是,我们建议您尽早开始与软件架构相关的活动,因为它们更耗时。

软件架构工作

活动
❑  
阅读可伸缩设计最佳做法文档。其中枚举了在负载繁重时可能会导致问题的 App Engine API 反面用例。
❑  
编写架构摘要,包括整体架构图、流程汇总以及对服务交互点的详细说明。列出并说明每种 Google Cloud Platform 服务的使用方式,包括任何实验性 Google API、非 Cloud Platform Google API 和第三方 API 的使用。
❑  
记录您的构建和发布流程、配置流程以及安全管理流程。
❑  
记录日常备份、定期维护和灾难恢复流程。用真实数据测试您的恢复流程。确定完全恢复所需的时间,并在灾难恢复流程中反映这一点。
❑  
记录您的 DevOps 流程,特别是在您需要让自己的支持系统与 Google 的支持系统相集成时。记录并定义您的系统监控流程和提醒流程。确保 DevOps 人员熟悉 Google Cloud Console 并参与测试。 监控 Cloud 状态信息中心。订阅 App Engine Downtime Notify(停机通知)群组

确定您与 Google 的联系方式

活动
❑  
确定您与 Google 的紧急联系方式并进行测试。
❑  
让您的团队熟悉 Google Cloud 支持中心 (GCSC)。
  • 配置网页联系选项和电子邮件联系选项,并根据购买的服务级别配置电话支持流程。
  • 在周末进行测试。在深夜进行测试。
  • 确保您的团队知道如何与 Google 联系。

预配

活动
❑  
为每种开发环境(例如 Dev、Test、Prod)预配 Google Cloud Platform 项目。
❑  
启用 Google Cloud Platform 结算功能并为您的费用建模。如需了解详细信息,请参阅价格计算器
❑  
预配网域和证书。使用 G Suite 管理控制台安装证书。如需了解详细信息,请参阅用于自定义网域的 SSL
❑  
预配所需的其他 Google 服务和第三方服务。这些服务应纳入此发布流程所述的活动中。

制定发布计划并预估流量

活动
❑  
计算整个解决方案及其所有子组件的流量估算值。
❑  
制定发布计划并确保它是与发布相关的信息的最可靠来源。它应该引用所有其他必需的流程和文档。
❑  
制定测试计划。 计划中始终要有包括向生产服务部署代码和针对生产服务部署代码的测试。反复测试。进行多次测试以尽可能贴近实际情况,并纳入尽可能多的人员和流程。
❑  
制定负载测试计划。做好每次都要“重置”Google Cloud Platform 项目(例如,删除 Cloud Datastore 实体)的准备,并在国际范围内进行测试(如果要国际发布)。如果用户需要注册才能使用该产品,请务必对新用户注册流程进行负载测试。
❑  
完成配额分析。了解配额,监控配额详情,以及通过 GCSC 提交支持服务工单以申请调整配额。
❑  
使用 AppStats (Java | Python) 增强对应用的 (RPC) 性能剖析。提供根据需要开启或关闭此功能的选项。

Alpha 版测试核对清单

当您即将完成代码并希望获得关于您的应用的初始指标时,请使用“Alpha 版测试核对清单”。

活动
❑  
密切关注 App Engine SDK 版本和版本说明。当前的 App Engine 版本显示在 Developer Console App Engine 信息中心中。
❑  
修改流量估算值。
❑  
根据当前应用日志修改发布计划。
❑  
根据流量估算值修改配额分析结果并提交支持服务工单以申请调整配额。
❑  
至少再执行一轮负载测试,因为您的解决方案和 Google Cloud Platform 都在不断完善和发展。
❑  
创建分步部署脚本并进行测试。目标是为构建流程和发布流程制定可审核、可重复且全面的文档化指南。
❑  
验证您的系统监控和提醒机制是否充分、有效。
❑  
模拟重大的服务中断并测试您的灾难恢复流程。对尽可能多的人员和流程进行测试。
❑  
模拟数据中心故障、服务故障、数据损坏和其他不太可能发生的事件。准备好应对大规模的意外事件。
❑  
模拟构建和发布失败的情况。您能够有效地回滚吗?该流程是否记录在案?
❑  
模拟配置管理失败的情况。为什么会出现这些失败?如何除掉漏洞?如何缩短识别和解决这些漏洞的时间?
❑  
多次测试所有内容。考虑记录测试中涉及的人员和机器,以确定发生故障的位置以及未记录的活动的发生地点。

小范围发布核对清单

在商业性发布应用之前,我们建议您使用“小范围发布核对清单”活动来测试您的发布准备情况。

活动
❑  
运行您的全部部署脚本。更正出现的错误和遗漏。记录所有必要的部署步骤。测试 AppStat (Java | Python) 标志。
❑  
进行 1.5 倍至 2.0 倍于预估流量的负载测试。
❑  
对出现的问题进行分类和解决。根据实际费用审核您的费用模型。确保运营费用在您的支出限额内。根据需要修改您的费用模型。
❑  
确定并验证减少费用的方法。

最终发布核对清单

在即将发布前、发布期间以及发布后立刻使用“最终发布核对清单”。

活动
❑  
运行您的全部部署脚本。记录和解决出现的问题。
❑  
确保您的所有团队成员都可以根据需要对出现的问题进行分类和解决。
❑  
请注意不要设置过于保守的 App Engine 支出限额。如果您的应用超出了支出限额,它将被暂停。如需了解详情,请参阅支出限额
❑  
发布后,吸取经验教训并更新所有相关文档和程序。请务必专注于持续改进。