Archive for the ‘Infrastructure’ Category

FathomDB: Database as a service, in the cloud

A lot of people are into the whole cloud computing scenario these days. However, no one has talked about offering DBA-like services in the cloud, all automated, so that startups don’t have to get their own DBAs.

Enter FathomDB. They are poised to offer databases as a service (maybe they’ll charge per database – so you can in theory run both WordPress and Mediawiki, if you prefix wp_ and mw_ in your table creation, for example). They are using MySQL. They’ve also taken the worry of running a database out – they will backup, they will setup (so you don’t have to issue GRANT commands :P), and they will also monitor your databases for you.

But what really takes the cake? The fact that they will also offer performance advisors. This totally reminds me of the MySQL Enterprise Monitor (aka Merlin), offered in the cloud, with advisors.

No word if they’re actually running Merlin, or what kind of MySQL builds they’re running. They have a FAQ that I suggest you read, pricing has not been released, but I think this stuff is totally cool and has a future. I mean, you can run your database using their services and EC2, and if you need to do load balancing (Proxy, anyone?), or replication, they’ll set it up for you.

Its going to be real useful for startups, that are already embracing the cloud and going the EC2 way. This is just yet another service, they’ll probably pay for. Because scaling your database, sometimes, isn’t the easiest thing to do.

Can’t wait for a beta invite. If I get one, I’ll give it a twirl and tell you how it went.

Note: This is a Y Combinator company, I first read about this in TechCrunch, and apparently, there was some mention of this during their cloud event last week, where Lew Tucker, Sun’s VP and CTO of Sun’s cloud computing initiative was at. I however don’t know anymore than what I’ve seen online, and lack any other insider knowledge.

Posterous and FriendFeed talk infrastructure

A couple interesting things coming out of startup land.

For one, Posterous has a little writeup on Building and Scaling a Startup on Rails: 12 Things We Learned the Hard Way. Good things to take away include using Sphinx/Solr for search, but the real important takeaway for the MySQL crowd is Storage engine matters, and you should probably use InnoDB. If you’re writing an application, know your storage engines. There are also bits to tell you how to use query_viewer and New Relic to help you fix database bottlenecks, use memcached later, and more. Its a great read.

Next up, there’s How FriendFeed uses MySQL to store schema-less data. I hope Bret from FriendFeed writes more on their infrastructure over time. Its interesting to see that they thought of going the CouchDB route, but never saw it as “proven” technology (in comparison to MySQL).

On Ma.gnolia, and data recovery

There’s a good podcast from Chris Messina and Larry Halff, about what really happened at Ma.gnolia. If you’re at all interested in what happened (i.e. how did they lose all their bookmark data), don’t hesitate to watch the video. I took some quick notes:

  • half a terabyte database file got corrupted
  • a mysql 5 database
  • everything was running even though there was corruption, and eventually, the site went down
  • backup system also failed, as it didn’t backup the data from mysql
  • backup was just backing up corrupted data (file sync over a firewire network was the backup mechanism)
  • a Rails application, he now recommends clouds over running your own infrastructure for startups
  • a couple of xserves (for database, etc.) and four intel mac minis as front end web servers
  • the site didn’t actually make any money

So I don’t know if Baron can rescue Ma.gnolia, per se, but I think the problem was largely:

Doing a file sync over the Firewire network, as the backup mechanism

You can’t safely backup MySQL that way. I don’t know what mechanism was used, but it sounds like rsync, and as much as I love rsync, I wouldn’t use it to backup a live running MySQL database that way.

With two servers, there should have been MySQL replication.

I’m curious if the data recovery Baron talks about is that of using the utility ddrescue? After all, ddrescue gets the raw data off the block device, without even trying to mount it. After that, you can attempt to recover the MySQL data off disk. In fact, I was surprised that the Ubuntu folk have a very nice Data Recovery page – no information about extracting MySQL databases, but its nothing a little hackery won’t get you.

I tried to ping Larry on Twitter, to ask what engine they were using… No response, per se. Good luck, and I hope the users get their data back, in time!

DRBD Management Console

Wow, check out what just came out from Linbit: The DRBD Management Console. Written in Java (so it runs anywhere), completely open source (GPLv3), and allows you to manage DRBD and Heartbeat based clusters. You can install, configure, see your systems graphically, and a lot more. I’m interested to try the beta out, as soon as I get back to my lab (sitting in the airport now). If you know how to use DRBD/Heartbeat, and use it in production for your MySQL setup, it might be a good application to test out, and improve if need be.

From the screenshots, I’m surprised this isn’t a value added extra that Linbit would like to charge for. Kudos, Linbit, for keeping it GPLv3!

EveryDNS

I have always recommended the use of OpenDNS, and of late, I’ve decided to stop having to dabble with DNS (in general), and use EveryDNS. For the uninitiated, they both have David Ulevitch in common.

There’s a web interface, its not as simple as tinydns, but it gets the job done. For free, you can host 20 domains, and 200 records (CNAME, MX, etc.). I don’t think I’ll be exceeding that limit anytime soon, but I think its time to make a donation.

Nothing but satisfaction, in the last few weeks of use. One service less to maintain. Anyone else use EveryDNS and is really happy with their service?

maybank2u slow for the masses

When I blogged about maybank2u 2.0, I also mentioned that loading the site was an issue.

before after % increase
148KB 196KB 32%
41 HTTP requests 61 HTTP requests 49%
5.47s 10.68s 95%

It seems they launched the site, and its now slow as.


Maybank2u.com slowarse
Our service is currently unavailable.
Please try again later

More HTTP requests… longer load times… its almost impossible to login. And when you do, you see the above.

Its a better design. The UI rocks. But you got to scale the site, dear. With all that increases, you got to increase capacity. Lets hope these teething problems disappear (I don’t know when the site got launched, been away these past few days).

Funnily enough, I was awakened by my dad, who’s pretty tech-savvy, to tell me that the website had changed, and he couldn’t find the login button. I wonder how many people were so used to the old UI, which said “login” on the left hand side-bar, that now they’ve got to look at the top-right hand spot. Little UI changes… can potentially cause big panics!

Update: Classic Maybank2u is still available in the meantime. Its still Web 1.0-ish, but its familiar. Good luck to the M2U team in scaling M2U 2.0!


i