Jira 等云产品宕机多日,这场 Atlassian 有史以来的最长停机发生了什么?

简介: 近几日,我们在 Reddit 和 Hacker News 上随处可见关于 Atlassian 的 Cloud 版本宕机的讨论,这导致近 400 家公司,5 万至 40 万名用户无法访问 Jira、Confluence 在内的至少 7 款产品,这场宕机事故从 4 月 4 日开始持续至今。Atlassian 估计许多受影响的客户在两周内无法访问他们的服务,目前至少有 53% 的公司已经恢复了访问权限。

发生了什么?

4 月 4 日,JIRA、Confluence、OpsGenie 和其他 Atlassian 服务在某些公司停止工作。

4 月 5 日,Atlassian 注意到该事件并开始在其状态页面上对其进行跟踪。他们今天发布了几个更新,确认他们正在修复。他们在当天结束时说“我们将在解决问题的过程中提供更多细节”。

image.png

部分客户开始抱怨本次宕机,比如:

image.png

4 月 6 日,Atlassian 每隔几个小时发布一次相同的更新,但不分享任何相关信息。更新内容如下:

“我们正在对部分实例进行验证阶段的工作。重新启用后,支持人员将通过打开的事件单更新账户。恢复客户站点仍然是我们的首要任务,我们正在与全球团队进行协调,以确保工作 24/7 持续进行,直到所有实例都恢复。”

image.png

4 月 7 日,Atlassian 通过 Twitter 账户承认了这个问题并提供了一些简单的细节。

image.png

接下来几天,Atlassian 方面关于本次宕机事件没有做太多细节说明。与此同时,这一消息已经在 Hacker News 上引起了广泛的讨论,有自称是该公司前员工的网友评论说该公司内部的工程实践低于标准。

“This does not suprise me at all. (…) at Atlassian, their incident process and monitoring is a joke. More than half of the incidents are customer detected.

“这一点都不让我吃惊。(…) 在 Atlassian,他们的事件流程和监控是个笑话。超过一半的事件是客户检测到的。

虽然 Atlassian 方面表示在和客户做沟通,但客户们似乎并不满意。Atlassian 首席技术官 Sri Viswanath 发布了一篇关于此事件的博客:

4 月 4 日,约 400 位 Atlassian Cloud 客户经历了服务产品全面宕机。我们正在努力恢复网站,目前已经为约 53% 的客户恢复了正常服务(这一比例截至 4 月 14 日,可以在 Statuspage 页面中查看最新进度)。预计在未来两周内,其余客户的服务也将逐步回归正常。

这里首先澄清一点:此次事件并非网络攻击,也不属于任何系统扩展故障。此外,大部分已经恢复的客户没有出现数据丢失,仅有少部分客户报告称事件发生前 5 分钟内的数据无法找回。

必须承认,此次事件与我们的响应时间及运营标准相违背,我谨代表 Atlassian 向您诚挚道歉。我们知道,Atlassian 产品对您的团队至关重要;而一旦服务可用性受限,您的业务也将受到影响。我们正在夜以继日工作,着力帮助客户业务尽早恢复正常运行。

什么情况?

我们在 Jira Service Management 以及 Jira Software 等产品中广泛使用到一款独立应用,名为“Insight-Asset Management”。这款应用以原生功能的形式全面集成到 Atlassian 产品之内。因此,我们需要在已经安装过这款旧版应用的客户站点上将其停用。我们的工程团队原计划使用现有脚本停用该独立应用实例,但却意外引发两个重大问题:

沟通不畅。首先,请求停用的团队与执行停用的团队间未能顺畅沟通,导致前者没能提供正确的预期停用应用 ID,反而把整个云站点上所有应用程序的 ID 交给了执行团队。

脚本错误。第二,我们使用的脚本既提供用于日常操作(需要保障可恢复性)的“删除标记”功能,也提供出于合规性要求而永久删除数据的“永久删除”功能。此次事件,就源自该脚本以错误的执行模式对错误的 ID 列表进行操作,最终导致约 400 名客户的站点被意外删除。

为了实现事件恢复,我们的全球工程团队专门建立起系统性流程,帮助受影响客户重回正轨。

恢复方案

Atlassian Data Management(https://www.atlassian.com/trust/security/data-management)详细描述了我们的数据管理流程。

为了保障高可用性,我们在多个 AWS 可用区(AZ)中预置并维护有一套同步备用副本。可用区具备自动故障转移功能,一般每隔 60 到 120 秒保存一次;我们会定期处置数据中心宕机及其他常见的服务中断情况,并保证不对客户造成可感知的影响。

我们还维护着多个不可变备份,用以抵御数据损坏事件、借此随时恢复至之前的特定时间点。备份数据会保留 30 天,Atlassian 还会持续测试并审计这些用于支持恢复需求的存储备份。

利用这些备份,特准会定期回滚个别客户、或者少部分意外删除了自己数据的客户。如果有必要,我们还可以立即将所有客户恢复至另一个全新环境当中。

但我们的自动化体系仍有缺失,就是无法在不影响其他客户的前提下、将大量客户自动恢复至现有(且当前正在使用的)环境当中。

在我们的云环境当中,每份数据存储都包含来自多家客户的数据。由于此次事件中被删除的数据并非独立存在,其所在数据存储中还承载着其他客户仍在使用的信息,所以我们只能从备份当中手动提取并恢复各部分。因此,各个客户站点的恢复成了漫长而复杂的过程,还要求我们在恢复期间不断进行内部验证与客户验证。具体步骤我们的初步客户站点恢复方案只能做到半自动化,其中仍涉及一系列耗时费力的复杂步骤,原因就是之前提到的需要手动验证已恢复站点中的客户数据。

现在,我们希望转向自动化程度更高的新流程,具体如下:

在集中编排系统内重新启用已删除站点的元数据。

恢复从备份中提取到的客户数据,包括用户、权限等。

重新启用生态系统应用、计费数据以及其他与客户所生成数据没有直接关联的数据。

因为每个站点都需要进行对应的数据存储提取与恢复,所以我们不断测试站点并与各家客户密切合作,共同确保恢复结果的准确性。

目前我们正在分批恢复客户,一轮最多可涵盖 60 个租户。自始至终,整个网站恢复过程大概需要 4 到 5 天。我们的团队已经开发并开始使用新的多批次恢复功能,相信这有助于缩短我们的整体恢复周期。

第一要务:恢复客户业务

我们知道,此类事件会削弱我们在客户心中的可信度。我们未能达成自我设定的运营高标准,也没能做好全面的客户沟通工作——截至目前,我们的沟通对象仍然仅限于受到事件直接影响的客户群体。

此次事件已经得到工程团队乃至整个 Atlassian 公司的高度关注。我们将继续夜以继日工作,直至成功恢复每一位客户的网站。

下面,我们向大家汇报接下来的工作安排:

恢复客户站点。我们将继续与受影响客户直接合作,帮助各位恢复站点、通过支持工单与客户支持团队一对一沟通。请您相信,我们正在尽快解决此次事件。

每日更新。我们将随时通过受影响客户的工单及每日状态页面更新,向受到影响的客户发布最新恢复动态。

事后审查。我们也会组织事后审查,并及时公布调查结果与后续计划。相关报告整理完成后将全面公开。

最后,感谢各位客户:谢谢您的合作,也感激您与我们共同走过的每一步。我们知道您需要为组织内的利益相关方陈述事件,也知道此次故障已经给正常业务带来重大干扰。我和我的团队将尽一切努力为每位客户尽快恢复业务,也将尽我们所能消除事件影响。

从这次中断中吸取的教训

任何工程团队都可以从这次中断学到很多东西。

事件处理:

  • 拥有灾难恢复和黑天鹅事件的运行手册。对于可能的意外事件提前计划如何回应、评估和沟通。遵循灾难恢复手册。Atlassian 有自己的 Confluence 灾难恢复手册,但可能没有完全遵循该手册。他们的操作手册指出,任何操作手册都有沟通和升级指南。
  • 直接和透明地沟通。一旦发生类似事件,一定要及时与客户沟通,缺乏沟通会导致信任缺乏,不仅在受影响的客户之间,而且在任何意识到中断的人之间。虽然 Atlassian 可能认为什么都不说是安全的,但这可能不是最好的选择。这一点可以参考 GitLab 或 Cloudflare 发生中断后的做法。
  • 说客户的语言。Atlassian 状态更新含糊不清,缺乏技术细节,这对于购买了 Atlassian 产品的 IT 主管和 CTO 可能是不够的。
  • 避免什么都不说的状态更新。事件页面上的大多数状态更新都是复制粘贴相同的内容,这样做显然是为了每隔几个小时提供一次更新……但这些不是更新,他们增加了无法控制住宕机的感觉。
  • 避免沉默。直到第 9 天,Atlassian 一直处于静默状态。不惜一切代价避免这种方法。

避免事件:

  • 为所有迁移和弃用制定回滚计划。
  • 进行迁移和弃用的试运行。
  • 不要从生产中删除数据。
  • 相反,标记要删除的数据或使用租约来避免数据丢失。
目录
相关文章
|
2月前
|
SQL 安全 Devops
一个简单的代码拼写错误导致17个生产数据库被删!微软Azure DevOps宕机10小时始末
一个简单的代码拼写错误导致17个生产数据库被删!微软Azure DevOps宕机10小时始末
21 0
|
7月前
|
安全 关系型数据库 应用服务中间件
服务被挖矿了?凌晨三点还在升级GitLab
gitlab漏洞导致服务器被植入挖矿程序,凌晨三点还在升级。
276 0
|
分布式计算 Hadoop API
Apache Ambari 项目或将被“雪藏”:只因没人愿意参与开发 | 提议已获“全票通过”
Apache Ambari 项目或将被“雪藏”:只因没人愿意参与开发 | 提议已获“全票通过”
133 0
Apache Ambari 项目或将被“雪藏”:只因没人愿意参与开发 | 提议已获“全票通过”
|
缓存 运维 监控
撤出云平台六年后,我们做了一次“断网测试”
把时间线拨到 2021 年 11 月 18 日星期四,Dropbox 服务一切如常。用户没有感觉到任何异样,就如同无数个岁月静好的日子。但真是这样吗?当然不是,那天下午五点,一群 Dropbox 员工在 Zoom 频道里吵作一团,因为大家突然接到命令,要求把圣何塞数据中心跟 Dropbox 网络直接断开。
165 0
撤出云平台六年后,我们做了一次“断网测试”
|
存储 运维 大数据
Facebook运维内幕曝光:一人管理2万台服务器
Facebook 数据中心运维主管 Delfina Eberly 目前,Facebook 已经凭借它在网络基础建设上的可扩展能力成为了行业的领军者。Facebook 数据中心运维主管 Delfina Eberly(上图人物) 在“7x24 Exchange 2013 秋季会议”上的演讲中为我们透露了 Facebook 部分内部运维数据,下面我们来具体了解下。
274 0
Facebook运维内幕曝光:一人管理2万台服务器
金山毒霸大型义卖活动启动 ‘512’爱心版正式上线
2009年5月12日,金山宣布金山毒霸大型义卖活动已经正式启动,最新推出的512爱心版已开始预售,这也是金山毒霸向日葵金色希望之旅公益活动的再延续。据了解,只要用户购买一套金山毒霸512爱心版,金山公司就向希望小学捐助10元钱。
1103 0
|
安全
微软紧急发布10个IE补丁 用户应火速升级
3月30日,微软紧急发布MS10-018安全更新,此安全更新可消除9个秘密报告的漏洞以及一个公开披露的漏洞,其中多个漏洞被评级为“危急”。金山卫士安全中心已经在第一时间升级了漏洞特征库,为用户提供相应的漏洞修复服务。
752 0
|
安全
谷歌把整个互联网拉进黑名单 故障持续近40分钟
昨天夜间,谷歌网页搜索功能发生故障,用户搜索任何关键词,谷歌均提示搜索结果含有恶意软件。   该故障持续了将近40分钟。谷歌称,这是因为人为失误导致的,目前已经修复。 据了解,从北京时间10时30分到11时25分左右,谷歌的所有搜索结果都显示相同的警告信息:“该网站可能含有恶意软件,有可能会危害您的电脑。
702 0
|
Web App开发 安全 Windows
微软下周将发布10个安全补丁 严重漏洞超过半数
6月5日消息,微软将在下周的补丁星期二发布10个安全补丁,其中包括修复Windows、IE浏览器、Word、Office和Excel等软件中严重安全漏洞的补丁。 据微软周四发布的安全公告称,有6个严重等级的安全漏洞能够让攻击者在用户计算机上远程执行代码。
797 0
上海惠诚:公司网站“上线又下线”一波三折
五叶草秉承着“用心服务每一位用户” 提供专业的一站式建站服务,标准化的建站服务流程,满足全行业的定制需求