惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
The Cloudflare Blog
博客园 - 聂微东
博客园 - 司徒正美
量子位
博客园 - 三生石上(FineUI控件)
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
Y
Y Combinator Blog
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
A
About on SuperTechFans

Deno

Deno 2.8 | Deno Claw Patrol: an open-source security firewall for agents | Deno Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno Deno 2.7: Temporal API, Windows ARM, and npm overrides | Deno Build a dinosaur runner game with Deno, pt. 6 | Deno Build a dinosaur runner game with Deno, pt. 5 | Deno Deno Deploy is Generally Available | Deno Introducing Deno Sandbox | Deno Build a dinosaur runner game with Deno, pt. 4 | Deno Build a dinosaur runner game with Deno, pt. 3 | Deno Build a dinosaur runner game with Deno, pt. 2 | Deno React / Next.js Denial-of-Service Vulnerability: Deno Deploy users protected | Deno Deno 2.6: dx is the new npx | Deno Build a dinosaur runner game with Deno, pt. 1 | Deno React Server Functions / Next.js Vulnerability: Deno Deploy users protected | Deno My highlights from the new Deno Deploy | Deno Deno's Other Open Source Projects | Deno How Deno protects against npm exploits | Deno Help Us Raise $200k to Free JavaScript from Oracle | Deno Deno 2.5: Permissions in the config file | Deno Fresh 2.0 Graduates to Beta, Adds Vite Support | Deno Deno 2.4: deno bundle is back | Deno JavaScript™ Trademark Update | Deno What's coming to JavaScript | Deno A brief history of JavaScript | Deno Reports of Deno's Demise Have Been Greatly Exaggerated | Deno An Update on Fresh | Deno How Plaid migrated 100 services to a new database platform 5x faster with Deno | Deno Deno 2.3: Improved deno compile, local npm packages, and more | Deno Add JSR packages with pnpm and Yarn | Deno
2022-07-18 incident update | Deno
2022-07-18 · via Deno

Starting on July 18th at 01:20 UTC all Deno Deploy services (including subhosting) experienced an service disruption until approximately 02:25 UTC (65 minutes). During this period users could not access projects hosted on Deno Deploy, access Deno web properties such as deno.com, or download modules hosted on deno.land. Additionally, subhosting customers were not able to run workloads on Deno Deploy during this time.

We have concluded that this outage was caused by a failure of the service discovery system used by Deno Deploy. This post details what exactly happened, and what we are doing to prevent this in the future.

All services are now operating normally again. No data was lost. We take outages like these seriously and sincerely apologize for the disruption.

Impact

For a period of 65 minutes, users were unable to access most Deno web properties and deployments on Deno Deploy, which included deno.com and deno.land. All Deno Deploy subhosted deployments were inaccessible.

Timeline of events

On July 18th at around 00:51 UTC our etcd cluster started to log issues that it was out of space for its database. This service is used for service discovery for Deploy, allowing services to coordinate and discover each other.

At about 01:20 UTC we received internal alerts that Deploy based deployments and web properties were unavailable.

At about 01:25 UTC, the outage was confirmed by the on-call engineer and a high priority incident was raised. By 01:30 UTC, we had several people investigating and had identified that the outage was caused by the etcd cluster. Soon it was confirmed that the etcd cluster was offline because of its inability to grow its internal database storage. Rebuilding the cluster was identified as the best option to restore service.

At about 02:00 UTC an attempt was made to rebuild the cluster, during which several challenges encountered. The cluster was successfully rebuilt and services start to come back online at about 02:25 UTC.

Root cause

The root cause was that the etcd instances hit their storage quota limit. The VMs they ran on had ample disk space available - the problem was that etcd has a 2GB default storage quota limit.

Etcd is used by Deploy for service discovery. After a period of time without etcd being available, internal Deploy load balancers do not how to where they can send requests for isolate execution.

What’s next?

This incident, coupled with other recent incidents have highlighted that our service discovery system is both critical infrastructure, and prone to failure. We have already begun work on a more robust service discovery solution to replace the current system.

We encountered several hurdles in the restoration of service, including secrets management and co-dependency of services that should not be co-dependent. We will be addressing these problems in the coming days.

We also have been maturing our operational procedures and run books as well as adopting better internal tooling for managing incidents. This incident highlighted some gaps in those procedures and documentation which would have made escalating and resolution of the incident better.

We take outages like this very seriously - this is why Deno Deploy is still in beta. We hope to announce General Availability in the coming months, dependent in part on fixing these critical gaps.