发布我自己的应用程序或与团队合作,帮助他们发布他们的应用程序。我意识到投入生产通常是一片混乱。你的应用程序有多大并不重要:这个应用程序是由不同的35个团队开发的,还是只由一个成熟的团队开发的。这只是一个熵的问题:-)。
有很多书籍描述了实现后续生产支持的最佳实践。但你不会在去生产和活动之前读完所有这些书,如果你读了它们,在推出的过程中,你可能会忘记你读到的一些东西。当然,我读过很多书,也有自己的经历。在上线之前,我通常会开始回忆我所知道的一切,并试图将其应用于当前的案件。我在想如何更好地组织信息,并想出一个众所周知的旧核对表的想法。
[很高兴有]应用部署到至少2个不同的位置(可以在不同位置之间配置vPC对等)。
至少为基本指标配置警报,以便CPU、内存、IOPS、磁盘空间。
部署数据库时,应至少具有所需的最低节点数量,并具有可帮助您尽快恢复的复制因子。
我需要一份烟雾测试列表(如果它们是自动化的就好了),它可以显示生产已经启动并在运行。
第三方服务运行状况检查应该由应用程序服务本身进行检查,或者让他的运行状况检查端点进行检查,或者需要制作一些脚本来检查第三方服务的运行状况。
根据您使用的GIT-FLOW需要分配标签来准备快速修复的分支,等等。
确保了解系统中每个组件所需的资源数量。
请确保为服务配置所有限制。为了避免因为一个服务中的内存泄漏而杀死周围的所有服务的情况。
需要有负责生产部署的人员,并签字确认生产已准备就绪。
需要有不同级别细节和ETA的灾难恢复计划,例如:如何恢复一项服务、如何恢复数据库、如何恢复整个群集、如何恢复整个区域。
请不要犹豫,请在上线前把你通常检查的东西发给我,我会更新这个清单的。当然,如果您在应用程序体系结构/DevOps进程/BigData处理方面需要帮助,请联系我。