Our Blog

The official Motribe blog, written by the founders

September 13

It has been exactly a year today since Motribe went live to the public and let me tell you, it has felt like a carnival ride that alternates between overwhelming joy and paralyzing terror. Here are the reasons why.

Breaking up with Cassandra

While the platform was being built it seemed like a good ideal to use an alpha version of Cassandra, the massively distributed key-value store which falls right in the middle of the NoSQL range of data storage solutions.  The appealing thing about Cassandra is that your data-center could take a nuke and keep on working, more or less.  Servers get set up in “rings” and if you want to grow your storage capacity then you just add a new server to the ring.

But, much like Frodo and his mates, we woke up one day and couldn’t find the ring.  The ring had disappeared and it hadn’t sent us any forwarding address.   With the benefit of hindsight we took one look at this situation and decided that instead of trekking to Mordor we’ll just install Mongo DB.

Mongo DB and humongous data

In the 9 months since we started using Mongo DB I have realized a few things about the server and the psychological impact working with it has had on me. Mongo DB is like heroin for developers.  It is so easy to use and the joy of seeing it work without the usual side-effects is just awesome.  But then one day you realize that Mongo DB has destroyed your perspective on life and what you think is perfectly normal (like massive volumes of concurrent writes at about 12ms each) is actually an illusion that will get you killed one day.

That said, Mongo DB is still awesome and we all seem to love it here.  The main thing that has kept us happy is the continuous high-speed performance and the way it perfectly fits our cowboy behavior.  We still use MySQL for stuff that requires transactions and an extra degree of persistence but now most of our data is in Mongo.

The cloud

Motribe was built using Amazon EC2 for virtual servers, RDS for MySQL and S3 for storage.  There is nothing fancy about this setup but over the months we have got really good at using this platform efficiently and the cost-savings have been phenomenal.

During the 12 months since launch we have survived an elastic block store (EBS, the platform Amazon uses to create persistent virtual disks) melt-down in the data center where most of our stuff is located.  We have seen several price reductions over this same time, we have seen several new product launches and we have also lost only two virtual servers and both times it was our fault. So far, touch wood, the cloud has been good to us.

Come back, come back

One of the biggest and most complex challenges we were going to face by launching niche mobile communities into Africa is getting users to come back after they sign up.  There are some strong external conditions that affect user behavior in this market: the cost of data, the capabilities of the mobile device, fluctuating connection speeds, personal wealth and airtime spend, etc.  For us the challenge is always going to be finding creative ways to work around these problems and the danger is that our active user-base never grows because users can’t find their way back to the site they joined.  This is the aspect of the business that I spend most of my time thinking about.

As with most problems that involve admitting that reality is far more complex than an abstract model in a business plan, increasing user retention across thousands of niche communities is not achievable within the scope of one single strategy.  Every day we make small advances and the composite of many small things has finally changed the direction of one of our main graphs – 30 day returning registered users.

Checking the milestones

I get impatient almost every day.  It is both a weakness and strength: nothing happens fast enough for me and I often feel like I am treading water waiting for something to happen.  Features need to be developed faster, time needs to move faster, graphs need to rise faster.

Every now and then I need to zoom out and look at what we were supposed to be doing over the first 12 months: use some seed money to prove we can get some users and customers and, hopefully, solve some of the barriers to scalability along the way.  We’ve done that.

 

2 Responses to 12 months in the wild: some perspective from the server room (sort of)

  1. Jan says:

    Congratulations on your 12 month work.

    Thank you for sharing your stories of the technology behind the Motribe system.

    My question is why Motribes are using Pmailer for mass e-mails to users. Amazon web services offers email services which you can use. The AWS email servers are cheeper and more critical safer to your users because spammers can’t get the e-mail addresses from Amazon like they do from PMailer.

    Why not use Amazon for everything?

  2. Vincent Maher says:

    Hi Jan, great question. When Amazon launched their email system they had a limit on the volume you can send and the documentation was sketchy about how this limit is managed so we decided against using this for our mail.

    That said, we do use a SMTP server on EC2 that Amazon actively whitelists for us for transactional mail (login resets, friend requests etc).

    For batch mail tasks like sending newsletters the tools and analytics around the sending service are more important.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>