4,381 karma · joined January 14, 2011
steve at snewman dot net
https://amistrongeryet.substack.com/ – AI blog https://climateer.substack.com/ – climate blog
I've built half a dozen startups, including Writely (aka Google Docs), and I can honestly say that Scalyr is my favorite by far. We are the blazing fast log management platform built for the DevOps front line. We built our technology stack from the ground up, optimizing it for speed and scalability. With over 180 customers, real revenue and only 32 employees, the time to join is now!
DevOps Engineer: Join the core engineering team to help us scale our growing infrastructure, ingesting tens of TBs of logs every day.
Backend Engineer: We've built a NoSQL data engine from scratch that searches test at 1TB/second. How'd you like to help us scale and optimize to multiple TB/second?
Sound interesting? apply now: https://www.scalyr.com/jobs
Kix is a drastically different architecture than Writely, so many lessons would not have been applicable. Writely was built on a contentEditable DIV, so the data model was literally whatever junky HTML the browser's contentEditable implementation would create, and synchronization was implemented by performing three-way diffs on the HTML code. It was very much a dancing bear, in the sense of "the amazing thing is not how well it dances, but that it dances at all". ...but I digress. My point is that the mechanisms and challenges of that approach are entirely different than the Kix approach. I think the important lessons would have been product-level rather than code-level.
I don't know whether Trix originally used OT specifically, or the Kix team borrowed that idea from Wave. But the basic idea of clients performing small, tidy logical operations and then synchronizing them in realtime through a server was part of both Trix and Kix. Writely used a very different (and more primitive) approach.
I don't know anything about the origin of the comments feature, but my guess is that there was no connection to Wave, except (again) possibly a bit of inspiration. The Wave team was very separate, both geographically and organizationally, and the tech stack they built was very disconnected from anything that was going on with Trix, Kix, or Writely.
Source: I am one of the original authors of Writely, did not work on Kix but I was still at Google when it was being written, had a minor role in reviewing the design.
For complex multithreaded code, it can become difficult to achieve consistent execution, but a fixed seed is at least a good start.
This sort of testing gap is so hard to avoid. Any complex system has an inexhaustible number of potential feature interactions. It's very difficult at best to guess which combinations need to be tested, and often difficult to even write a test which exercises a particular combination.
What techniques do people use to ensure test coverage of complex cross-feature interactions like this? Two things I emphasize:
* Emphasize integration tests, and try to use multiple features in each test. This can help drive out interaction problems; the downside is that these tests are harder to write and (especially) maintain. It can also be difficult to exercise specific code paths.
* Write randomized tests, that exercise as many features as possible. The challenge here is identifying failures. "The program didn't assert or crash" is often a good start. A gold standard is to run a simple reference implementation alongside your real implementation, and compare the output... but that's not always possible.
https://www.scalyr.com/jobs/senior-software-engineer-fronten...
https://www.scalyr.com/jobs/software-engineer-backend?gh_jid...
I've built half a dozen startups, including Writely (aka Google Docs), and I can honestly say that Scalyr is my favorite so far. We're building an amazing team, users rave about our product, and things are taking off – we're closing seven-figure contracts and revenue grew 5x last year. And we're doing it on a sane, 40-hour, daily-team-hike, Fridays-at-home schedule. We're pre-series-A, but in many ways playing like a series B company, so this is a chance to get the best of both worlds -- early-stage equity and impact, with later-stage compensation and stability; plus a very strong team for peering or mentorship.
Backend Engineer: We've built a NoSQL data engine from scratch that searches text at 750 GB/second. How'd you like to help us scale and optimize to multiple TB/second?
Frontend Engineer: "The fastest blog in the world" (https://jacquesmattheij.com/the-fastest-blog-in-the-world) loads in under 100 ms. Help us push our data visualization tools toward that goal.
https://www.scalyr.com/jobs/senior-software-engineer-fronten....
https://www.scalyr.com/jobs/software-engineer-backend?gh_jid....
I've built half a dozen startups, including Writely (aka Google Docs), and I can honestly say that Scalyr is my favorite so far. We're building an amazing team, users rave about our product, and things are taking off – we're closing seven-figure contracts and revenue grew 5x last year. And we're doing it on a sane, 40-hour, daily-team-hike, Fridays-at-home schedule. We're pre-series-A, but in many ways playing like a series B company, so this is a chance to get the best of both worlds -- early-stage equity and impact, with later-stage compensation and stability; plus a very strong team for peering or mentorship.
Backend Engineer: We've built a NoSQL data engine from scratch that searches text at 750 GB/second. How'd you like to help us scale and optimize to multiple TB/second?
Frontend Engineer: "The fastest blog in the world" (https://jacquesmattheij.com/the-fastest-blog-in-the-world) loads in under 100 ms. Help us push our data visualization tools toward that goal.
https://www.scalyr.com/jobs/senior-software-engineer-fronten...
https://www.scalyr.com/jobs/software-engineer-backend?gh_jid...
Historical note: live three way merging of HTML files, being produced by content-editable div implementations in different browsers, which like to rewrite each other's coding decisions in arbitrary ways (suddenly all your BRs become Ps, whee!) is "fun" in a way that I don't really ever need to revisit.
I've built half a dozen startups, including Writely (aka Google Docs), and I can honestly say that Scalyr is my favorite so far. We're building an amazing team, users rave about our product, and things are taking off – we're closing seven-figure contracts and revenue grew 5x last year. And we're doing it on a sane, 40-hour, daily-team-hike, Fridays-at-home schedule. We're pre-series-A, but in many ways playing like a series B company, so this is a chance to get the best of both worlds -- early-stage equity and impact, with later-stage compensation and stability; plus a very strong team for peering or mentorship.
Backend Engineer: We've built a NoSQL data engine from scratch that searches text at 750 GB/second. How'd you like to help us scale and optimize to multiple TB/second?
Frontend Engineer: "The fastest blog in the world" (https://jacquesmattheij.com/the-fastest-blog-in-the-world) loads in under 100 ms. Help us push our data visualization tools toward that goal.
https://www.scalyr.com/jobs/software-engineer-frontend?gh_ji...
https://www.scalyr.com/jobs/software-engineer-backend?gh_jid...
I've built half a dozen startups, including Writely (aka Google Docs), and I can honestly say that Scalyr is my favorite so far. We're building an amazing team, users rave about our product, and things are taking off – we're closing seven-figure contracts and revenue grew 5x last year. And we're doing it on a sane, 40-hour, daily-team-hike, Fridays-at-home schedule. We're pre-series-A, but in many ways playing like a series B company, so this is a chance to get the best of both worlds -- early-stage equity and impact, with later-stage compensation and stability; plus a very strong team for peering or mentorship.
Backend Engineer: We've built a NoSQL data engine from scratch that searches text at 750 GB/second. How'd you like to help us scale and optimize to multiple TB/second?
Frontend Engineer: "The fastest blog in the world" (https://jacquesmattheij.com/the-fastest-blog-in-the-world) loads in under 100 ms. Help us push our data visualization tools toward that goal.
Customer Success Engineer: our customers are engineers. We're looking for someone with lightweight ops experience and good communication skills to help them get the most out of Scalyr. A great opportunity to join a high-powered team and work your way up the engineering ladder.
https://www.scalyr.com/jobs/software-engineer-frontend?gh_ji...
https://www.scalyr.com/jobs/software-engineer-backend?gh_jid...
https://www.scalyr.com/jobs/customer-success-engineer?gh_jid...
During this time period, we were also unable to access the console (500 errors).
Backend Engineer: We've built a NoSQL data engine from scratch that searches text at 750 GB/second. How'd you like to help us scale and optimize to multiple TB/second?
Agent Engineer: you'll own our lean, mean data collection agent. If you enjoy constantly getting to play with new tools, come help us connect to... everything. You'll get to play with packages from Apache to Zookeeper, APIs from AWS to, er, Azure, while tackling challenges such as monitoring 100,000+ simultaneous log files using minimal CPU.
Customer Success Engineer: our customers are engineers. We're looking for someone with lightweight ops experience and good communication skills to help them get the most out of Scalyr. A great opportunity to join the team and work your way up the engineering ladder.
https://www.scalyr.com/company/jobs/back-end-engineer
https://www.scalyr.com/company/jobs/agent-engineer
https://www.scalyr.com/company/jobs/customer-success-enginee...
[edit: fixed link – thanks vnchr]
I've built half a dozen startups, including Writely (aka Google Docs), and I can honestly say that Scalyr is my favorite so far. We're building an amazing team, users rave about our product, and things are taking off – we're closing seven-figure contracts and revenue grew 5x last year. And we're doing it on a sane, 40-hour, daily-team-hike, Fridays-at-home schedule. We're pre-series-A, but in many ways playing like a series B company, so this is a chance to get the best of both worlds -- early-stage equity and impact, with later-stage compensation and stability; plus a very strong team for peering or mentorship.
Backend Engineer: We've built a NoSQL data engine from scratch that searches text at 750 GB/second. How'd you like to help us scale and optimize to multiple TB/second?
Agent Engineer: you'll own our lean, mean data collection agent. If you enjoy constantly getting to play with new tools, come help us connect to... everything. You'll get to play with packages from Apache to Zookeeper, APIs from AWS to, er, Azure, while tackling challenges such as monitoring 100,000+ simultaneous log files using minimal CPU.
Customer Success Engineer: our customers are engineers. We're looking for someone with lightweight ops experience and good communication skills to help them get the most out of Scalyr. A great opportunity to join the team and work your way up the engineering ladder.
https://www.scalyr.com/company/jobs/back-end-engineer
https://www.scalyr.com/company/jobs/agent-engineer
https://www.scalyr.com/company/jobs/customer-success-enginee...
I've built half a dozen startups, including Writely (aka Google Docs), and I can honestly say that Scalyr is my favorite so far. We're building an amazing team, users rave about our product, and things are taking off – we're closing seven-figure contracts and revenue grew 5x last year. And we're doing it on a sane, 40-hour, daily-team-hike, Fridays-at-home schedule. We're pre-series-A, but in many ways playing like a series B company, so this is a chance to get the best of both worlds -- early-stage equity and impact, with later-stage compensation and stability; plus a very strong team for peering or mentorship.
Backend Engineer: We've built a NoSQL data engine from scratch that searches text at 750 GB/second. How'd you like to help us scale and optimize to multiple TB/second?
Frontend Engineer: "The fastest blog in the world" (https://jacquesmattheij.com/the-fastest-blog-in-the-world) loads in under 100 ms. Help us push our data visualization tools toward that goal.
Devops Engineer: We run hundreds of servers, process 750 GB/second, maintain 99.99% uptime, and almost never get paged (http://blog.scalyr.com/2014/08/99-99-uptime-9-5-schedule/). But we're still not satisfied. How'd you like to take our operations to the next level as we go through our next 10x of growth?
Customer Success Engineer: our customers are engineers. We're looking for someone with lightweight ops experience and good communication skills to help them get the most out of Scalyr. A great opportunity to join the team and work your way up the engineering ladder.
https://www.scalyr.com/company/jobs/back-end-engineer
https://www.scalyr.com/company/jobs/front-end-engineer
https://www.scalyr.com/company/jobs/devops-engineer
https://www.scalyr.com/company/jobs/customer-success-enginee...
The service may have been working within SLA. Based on the data in this article, it was not working the way it works most of the time. I think most people would interpret "normally" to refer to the latter.
Or, let's drop the word "normally" and take a step back. A good dashboard should be designed to inform. Amazon's dashboard was not providing the information that Ably or their customers needed. And this isn't an isolated complaint; if I had a nickel for every time someone had complained about the green mockery of the AWS health dashboard, I'd have... well, several dollars, anyway.
(Nit: this incident affected a region, not a zone. us-east-1 is a region, which is divided into zones us-east-1a, us-east-1b, etc. S3 operates on regions.)
Exactly. It seems likely that Amazon tests the restart operation, but it would be hard to test it at full us-east-1 scale. Running a full S3 test cluster at that scale would likely be a prohibitive expense. Perhaps the "index subsystem" and "placement subsystem" are small enough for full-scale tests to be tractable, but certainly not cheap, and how often do you run it? Also, hindsight is 20/20, but before this incident it might have been hard to identify "full-scale restart of the index subsystem" as rising to the top of the list of things to test.
One approach is to try to extrapolate from smaller-scale tests. It would be interesting to know what kinds of disaster testing Amazon does do, and at what scale, and whether a careful reading could have predicted this outcome.