网络应用程序经常会更新。如果更新计划得当,维护会及时公布,访问者会知道会发生什么以及停机的原因。
但是,我无法理解其中一些维护窗口的长度。我维护过中型 Web 应用程序。由于更新是在临时环境中预先测试的,因此更新应用程序仅涉及将新代码推送到服务器、执行数据迁移以及重新加载/重新启动服务器配置,维护更新最多需要 15 分钟,但通常只需几秒钟。
大型公司的维护更新往往需要更长的时间。我见过一些组织需要 3 个小时才能推出小更新;政府系统的更新可能需要八到九个小时,或者如果你运气不好,甚至需要整个周末。我不清楚他们的流程是怎样的。我知道他们可能有大型集群和数据库需要处理,但我无法想象什么可能需要这么多时间。他们在这些时间里做了什么?这是他们的低效率和灾难规划,还是我完全错过了什么?
(这里我忽略了硬件维护或主要版本的推出。)
答案1
原因有很多,例如:
- 它们拥有更大、更相互依赖的系统。
- 他们花时间再次验证每个步骤在现场环境中。
- 休息期间可能还会进行一些其他维护任务,即使对外沟通时没有提及。例如更换服务器、重新布线硬件、实现与其他软件的耦合。
- 有些系统升级起来非常困难,需要进行大量的手动工作
- 该过程中可能还涉及许多后端,并且重新启动它们可能需要特定的顺序以确保正确的行为,因为并非所有企业系统集成都像人们希望的那样具有容错能力。
等等...
此外,维护窗口的大小是悲观的,这意味着中断可能会被宣布(有时也通过关闭接口来强制执行)比实际工作所需的时间更长,只是为了确保宣布的窗口足够长(以防发生不可预见的事情)。