Zanopia – Stateless application, database & storage architecture

Objects and the cloud.

Do not design in a vacuum..

leave a comment »

I came upon this picture a few days ago:

OpenOffice Mouse

What happens when you design in a vacuum

Yes, that’s the Open Office Mouse!

Look at the ridiculous number of buttons on this thing, and what about that stick on the left side? I am pretty sure the designer isn’t a lefty as this looks like it can only work with a right hand…

Here’s an excerpt from their marketing materials:

The OOMouse is one of the first computer mice to incorporate an analog joystick and the first to permit the use of the joystick as a keyboard. In the three joystick-as-keyboard modes, the user can assign up to sixteen different keys or macros to the joystick, which provides for easy movement regardless of whether the user is flying through the cells of a large spreadsheet in Microsoft Excel or on the back of an epic flying mount in World of Warcraft.

A mouse that’s good at both Excel and World of Warcraft game! Way to choose your market! By the way why not talk about Open Office since it’s an “Open Office” mouse?

At least, one thing is clear, this wasn’t designed by Apple who created and follows the drive towards simplicity, maybe pushing it too far with the one button mouse in 2005:

apple one button mouse.jpg

Maybe 2005 was too early but this one didn’t sell well either. Since then, Apple has embraced the two buttons + scroll wheel design and even goes further with a multi touch trackpad now.
I am pretty sure that one button mouse was also designed in a vacuum, full of “simple is better” like minded people, looking upon us, the proverbial lemmings end user.

Learning from experience

Actually, I did fall into the same trap in 2008, we were rolling out a new version of our massively scalable email gateway that promised to deliver cutting edge new way to stop spam as early as possible, without even getting down to establishing a TCP connection.

Well, guess what, as technically advanced as this was, it came along with countless issues that prevented any of our customer from deploying it, some of the most important ones:
* Legal issues: rejecting email without sending an error message with a support link for example, was a big NO
* False positives: real legitimate email senders could get blocked by mistake and it would have been a nightmare for them to debug what was actually happening
* Lots of spammers would actually try even harder because they didn’t handle this error case as a permanent failure
* Our product was able to handle thousands of TCP sessions on the same server so it really didn’t matter that much to close a session early

But that didn’t stop us from coding and delivering it as the technical prowess sounded too good to our engineer ears and we didn’t care to listen…

That Henry Ford’s quote

If I had asked people what they wanted, they would have said a faster horse. Henry Ford

This quote is pretty popular and is usually used as a tool to support the idea that customers do not know what they want and are the last person to listen to for vision. Heck, even Steve Jobs uses it!

“It comes down to the very real fact that most customers don’t know what they want in a new product.” Apple customers should be glad Jobs doesn’t do focus groups. If he had, they may never have enjoyed iPods, iTunes, the iPhone, the iPad, or Apple Stores. Jobs doesn’t need focus groups because he understands his customers really, really well. Yes, sometimes better than they know themselves!… Sure, “listen” to your customers and ask them for feedback. Apple does that all the time. But when it comes to breakthrough success at Apple, Steve Jobs and his team are the company’s best focus group. Asked why Apple doesn’t do focus groups, Jobs responded: “We figure out what we want. You can’t go out and ask people ‘what’s the next big thing?’ There’s a great quote by Henry Ford. He said, “If I’d have asked my customers what they wanted, they would have told me ‘A faster horse.’”” Steve jobs

Well it sounds like Apple still listen to their customers and ask them for feedback so I guess it’s more about what kind of question you ask.

Stupid questions of course always get stupid answers back…
The quality of your answers comes from the questions you asked.

In your wildest dream, what should a storage platform look like?

This is the question we asked our customers in 2008, all very very large MSO, cable TV networks and internet service providers.

The answer was clearly the opposite of what they could buy at the time, centralized, monolithic, expensive SAN systems…

We allowed them to dream about the best platform, without worrying about any legacy support or backwards thinking.

It wasn’t easy to get the juices going but after many carefully spaced out meetings, we came down to this list of requirements:

Problem Requirement
« Sharding of database » creates a hard association between application server and user A stateless system. Automatic index load distribution.
Single point of failure : when a SAN / NAS / FC switch reboots, service is down for minutes or hours No component should ever cause a service loss
COST : At 1USD/mail/year just for storage cannot compete. Beyond 300 TB, cost/TB increases. Be able to compete with Google, below 2 USD/Mailbox/year. Leverage decreasing price of generic hardware.
Managing multiple SAN, volumes, tiering is complex, error prone and costly. Ease of management : autonomic, policy based, self-healing system.
Competitive agains Google, Yahoo, etc… Enabling new services : text search, photo recognition, transcoding.

This is the list of requirements we’ve based our Scality Ring platform on, mind you this was before cloud even became a buzzword….

Here’s the architecture:
Scality Ring Architecture v1.3.png

You can learn more about our technology by visiting our website.

Today it’s live, in production taking traffic from millions of users, we could’t have done it without without working with and getting feedback from our customers!

Lesson learned, do not design in a vacuum…

Comments welcomed of course.

Advertisements

Written by Giorgio Regni

October 15, 2010 at 4:28 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: