Netuality

Taming the big bad websites

Links of the week: moving away from the Oracles

leave a comment

Siddharth Annand from LinkedIn explains in an interview how to move away from the Oracles to the wonderful world of open-source and NoSQL. Now I’m waiting for them to opensource Databus and Espresso. And “Oracle is not web scale” – sorry but I had to quote this.

It seems that HAProxy has restarted development with a nice frequency, no less than one release each 10 days recently. I love this software, used it and will use it again. And to quote the author “Users should really upgrade, as I don’t want to waste time trying to spot stupid bugs in configs that are notoriously broken.“. Amen, bro! Always Be Upgrading.

Not related to scalability or anything, news of the week it’s about the Flame “Middle Eastern” malware:

These are the real pros at work. One can only wonder how many pieces of software like Flame are harbored by our innocent laptops.

In order to avoid ending on such a nasty note, here’s an autotune clip which I’m sure you’ll greatly enjoy:
YouTube Preview Image

Written by Adrian

June 8th, 2012 at 10:17 pm

Posted in Linkdump

Joke of the day: Amazon Cloud Drive app …

leave a comment

… which according to VentureBeat and various media outlets is a Dropbox competitor that “allows you to seamlessly drag and drop files from your computer to the cloud with little work“. Not!

Guess what, it’s about file synchronization. File. Synchronization. Fully-fledged both-ways file syncing from all my laptops and devices to the cloud and back, not just “uploading a file to the cloud with little work“.

I guess the new SkyDrive and Google Drive tools are putting a lot of pressure, but if this app is the answer then it’s a bad one. Come on, Amazon, you can do better!

 

Written by Adrian

May 5th, 2012 at 11:24 pm

Posted in Tools

Tagged with , ,

Linkdump: nodevincing the boss, and probabilistic data structures

leave a comment

Great pragmatic considerations in Felix Geisendörfer’s Node.js: convincing the boss guide:

  • Not for CPU-heavy apps
  • There’s no Django for it (yet?) so don’t expect mindblowing productivity
  • Don’t do it for the nerdy buzzword bingo …
  • … do it for single-page js apps that feed with JSON from the server
  • Do it if real-time is important for your app
Oh, and the convincing part? Just build a cool prototype and find a local community from where you could hire smart developers. I can say this about any other technology, and bosses seem to be rather predictable in their reasoning…
Read the rest of this entry »

Written by Adrian

May 4th, 2012 at 10:23 pm

Posted in Linkdump

Tagged with ,

Cloudy with a chance of MongoDb

3 comments

An interesting – and anonymous – article popped up this weekend on Hackernews about why you shouldn’t use MongoDb (copied over at MyNoSQL for posterity). There’s a nasty tone in that letter which must be stemming from some painful first-hand experience with the thingie. One can understand why they want to be anonymous – to draw attention on Mongo’s issues and not on their project or team. The rebuttals that came up right away are pretty funny though, especially this one containing interesting advice: Read the rest of this entry »

Written by Adrian

November 7th, 2011 at 4:48 pm

Posted in scalability

Tagged with ,

Comic strips and contextual advertising

one comment

As seen today on Google Reader. A strip is a strip is a strip is a strip:

Written by Adrian

June 13th, 2010 at 10:44 am

Posted in AndEverythingElse

Tagged with ,

What to do when the meteor strikes

leave a comment

There’s nothing quite like a good Single Point of Failure (SPOF) during a holiday dinner.

says John Farmer on his blog, and I couldn’t agree more. Start with a meteor strike scenario for a change, just imagine a giant rock crushing your measly SPOF-ridden infrastructure in one unlucky data center. Waiting for the black swan to appear learn to keep calm and react normally using the tips from a triple post about incidents, outages and systems maintenance:

Simple problems can easily become large complicated problems after a few bad decisions made in haste. Take a breath before continuing. This is especially important with a page at 3AM or if a panicky client is in your office. Tell the client you’ll handle the problem and run through your normal procedure.

[...]

Remember the prime directive – your job is to restore service as quickly as possible. You are not there to debug interesting problems with your service.

Recommended reading!

Written by Adrian

May 11th, 2010 at 6:23 pm

Posted in Datacenter

Tagged with , , ,

Linkdump: leaner meaner MySQL, gulping from the data buffet and lessons learned at Reddit

leave a comment

The Percona guys are pleading for a MySQL strongly optimized for a single type of storage engine:

We could save a lot of CPU cycles by having storage format same as processing format. We could tune Optimizer to handle Innodb specifics well. We could get rid of SQL level table locks and using Innodb internal data dictionary instead of Innodb files. We would use Innodb transactional log for replication (which could be extended a bit for this purpose). Finally backup can be done in truly hot way without nasty “FLUSH TABLE WITH READLOCK” and hoping nobody is touching “mysql” database any more. Single Storage Engine server would be also a lot easier to test and operate.

This also would not mean one has to give up flexibility completely, for example one can imagine having Innodb tables which do not log the changes, hence being faster for update operations.

Looks like Twitter data buffet is back in business. Some of the data is free. Enjoy it with moderation: too much data can make you slow.

Reddit‘s Steve Huffman gives a talk at Web Apps Miami 2010. Self-healing, separation of services, be stateless and cache like crazy, redundancy and yes, a little bit of Hadoop (Amazon’s Hadoop is Elastic Map Reduce). Read the full transcript on Carsonified:

We’ve actually been using Hadoop, Amazon’s Hadoop implementation to compute awards. If we need to do a complicated query like that, we store the data, we dump our database, or at the right time we store it in a way that will make those joins possible down the road. That being said; we’ve tried to avoid doing joins as much as possible, and when the data comes in we store it in the way we’re going to need it. That’s worked much better than trying to do it at run time.

Written by Adrian

May 10th, 2010 at 8:58 pm

Posted in Linkdump

Tagged with , ,

And now for something a little different: graphviz candy

leave a comment

No self-respecting geek can resist either of these incredible temptations:

  • Correct something wrong on “the internets”
  • Produce a little bit of graphviz candy (what a fantastic tool)

Read the rest of this entry »

Written by Adrian

May 6th, 2010 at 4:37 pm

Posted in Presentations

Tagged with , ,

Linkdump: Coop, HBase performance and a bit of Warcraft

one comment

Riptano is to Cassandra what Cloudera is to Hadoop or Percona to MySQL. Mmmkey?

A great, insightful post from Pingdom (as usual) allows us to take a peek behind the doors at largest web sites in the world, just by reading selected stuff from their respective developer blogs.

Yahoo decreased data-center cooling costs compared to power costs from 50 cents/dollar to only one cent/dollar. This is obtained on their most recent Yahoo Computing Coop data-center built in Lockport, New York.

The data center operates with no chillers, and will require water for only a handful of days each year. Yahoo projects that the new facility will operate at a Power Usage Effectiveness (PUE) of 1.1, placing it among the most efficient in the industry. [...]

If it looks like a chicken coop, it’s because some of the design principles were adapted from …. well, chicken coops. “Tyson Foods has done research involving facilities with the heat source in the center of the facility, looking at how to evacuate the hot air,” said Noteboom. “We applied a lot of similar thought to our data center.”

The Lockport site is ideal for fresh air cooling, with a climate that allows Yahoo to operate for nearly the entire year without using air conditioning for its servers.

High Scalability blog dissects a paper describing Dapper, Google’s tracing system used to instrument all the components of a software system in order to understand its behavior. Immensely interesting:

As you might expect Google has produced and elegant and well thought out tracing system. In many ways it is similar to other tracing systems, but it has that unique Google twist. A tree structure, probabilistically unique keys, sampling, emphasising common infrastructure insertion points, technically minded data exploration tools, a global system perspective, MapReduce integration, sensitivity to index size, enforcement of system wide invariants, an open API—all seem very Googlish.

On my favorite blog :) HStack.org Andrei wrote a great post about real-life performance testing of HBase:

The numbers are the tip of the iceberg; things become really interesting once we start looking under the hood, and interpreting the results.

When investigating performance issues you have to assume that “everybody lies”. It is crucial that you don’t stop at a simple capacity or latency result; you need to investigate every layer: the performance tool, your code, their code, third-party libraries, the OS and the hardware. Here’s how we went about it:

The first potential liar is your test, then your test tool – they could both have bugs so you need to double-check.

But the most interesting distributed system of the week is World of Warcraft. Ars Technica describes a tour of the Blizzard campus and here’s a peek at the best NOC screen ever:

For the hooorde!

Written by Adrian

April 27th, 2010 at 10:35 pm

Posted in Linkdump

Tagged with , , , ,

Linkdump: Twitter, Twitter, CAP and … iPad

leave a comment

Well, not all Twitter runs on Cassandra :) Alex Payne explains how they build Hawkwind, a distributed search system written in Scala. Take a look at the slide 18, where you can clearly see that they use HBase as backend:



Also from the great guys at Twitter: gizzard. Interesting and appropriate name for a database sharding framework. Gizzard uses range-based partitioning and replication tree and knows to rely on a large range of data stores: RDBMSes, Lucene or Redis – you name it. But I wonder about the operational overhead when you have a really large gizzard cluster.

Michael Stonebraker has a short essay on CAP published in the ACM blogs. He identifies a series of use cases where the CAP theorem simply does not apply and cannot be appealed to for guidance:

Obviously, one should write software that can deal with load spikes without failing; for example, by shedding load or operating in a degraded mode. Also, good monitoring software will help identify such problems early, since the real solution is to add more capacity. Lastly, self-reconfiguring software that can absorb additional resources quickly is obviously a good idea.

In summary, one should not throw out the C so quickly, since there are real error scenarios where CAP does not apply and it seems like a bad tradeoff in many of the other situations.

Great nosqlEu coverage on Alex Popescu’s blog MyNoSQL. Read it to get all the presentations, tons of links and Twitter quotes.

Because every self-respecting blog should mention some info about the newly released iPad, here’s mine. According to the O’Reilly Radar, iPad is not ready for the cloud integration:

I am hoping for a future where all I need to supply a device with is my identity, and everything else falls into place. This doesn’t even have to be me trusting in a third-party cloud: there’s no reason similar mechanisms couldn’t be used privately in a home network setting.

I think the iPad is an amazing piece of hardware, and the most pleasant web browsing experience available. It is still very much a 1.0 device though, and its best days certainly lie ahead of it. I hope part of that improvement is a simple story for synchronization and cloud access.

Guess I’ll be waiting for the release of iPad Pro:

Written by Adrian

April 21st, 2010 at 11:24 pm

Posted in Linkdump

Tagged with , , ,