Posts tagged as:

social

Note: This is Part 1 of  5 of a series of post where I document, step by step, the building of a social application using cloud computing approach. Read the introduction here.

1. Why build it on the cloud?

The first thing I wanted to do was choose an application to build. I didn’t want it to be a very complex application with  lots of logic and overhead. Plus we’re doing a major relaunch at work, so free time is not abundant these days. I’ve always been a David Letterman fan and one of the most famous sections of the show is the Top Ten List. Basically they pick a theme from current news and make a funny list around it, sorting the ones that are the most funny on the top. Here’s a video  example of one of these Top Ten lists.

I thought that this would be a great social tool to build: a crowdsourcing tool for Top Ten lists. But having people create ten items sounded like too much, so I decided to pare it down to five.

Thus I had my application: The Top5.

Let me illustrate how this application would be built using the regular approach (physical servers/databases/controllers).

The boss calls a meeting. He tells the developer, “We’ve decided to help Letterman with his Top Ten List, so I need an application that lets people create Top Ten lists online. Now, don’t forget to make it scalable, not like that slow application you built last month.”

The developer goes, “Pff. That’s easy. I just provision one of our web servers with Linux, Apache, Mysql and PHP, create a database with a user table, a list table and some CSS and launch it. Give me three weeks.”

Five weeks later (there was a lot of back and forth with Letterman) the application is launched. The site is responding pretty fast with traffic levels around 25,000 users visiting per week.

But then, one of the lists gets to the homepage of digg. The site starts to suffer as thousands of users come to check out the list.

The developer immediately responds calmly, “we just need more servers”.

Three days later, the application is divided into two webservers and two database servers (one is the master, which is in charge of inserting data to the database, and the other is a slave, which is to retrieve data only).

The site gets better for a couple of weeks, until another list gets viral in Facebook.

The developer’s response? “More servers”.

Now bear in mind that each server needs to be purchased, installed in a datacenter, and replaced if things go wrong. Once you buy the servers and the traffic goes down, you are stuck with more servers than what you need.

The logic also will need to be tuned, as more and more people input data and all that data can’t fit in one database server. So now you need to partition the data in clusters.

The list goes on and on.

Take a break and get some coffee. I’ll tell you now what happens when you build thinking in cloud terms.

In the development firm next door there’s another boss and another developer. They are tasked with the same project: building an application to allow people to create Top Ten lists. But this time the developer replies, “Sure. Let me create an instance on Amazon Elastic Computing Cloud.”

This developer then builds the application using Linux, Apache and PHP. But for the database, he uses Amazon’s SimpleDB, which is essentially an infinitely scalable database server.

Six weeks later (it does take a little more time to build apps for the cloud) they release the application live.

The difference with the other application is clear. When the digg spike happens, the developer simply “clones” the first server six times in a matter of minutes. Once the traffic goes down, the developer simply “destroys” any unused servers and pays only for the hours the extra servers were live. There’s no infrastructure, datacenters or hardware to deal with.

As the site grows more popular, he adds more cloud servers, concentrated in making the application better, not in trying to scale it better.

The Top5 is such an application. Should it ever become very popular, I just have to “copy and paste” instances of the application to scale it. I might have to split the database across domains if I get too much information, but the process shouldn’t be that hard (I could use the  djb2 hash algorithm used by Adaptive Blue’s Glue app).

Knowing that I built an application that’s highly scalable just makes me breathe (and sleep) easier.

In the next part I’ll share with you how to start by deploying instances in the Amazon EC2 cloud.

{ 0 comments }

Building A Social Application on the Cloud

April 10, 2009
Thumbnail image for Building A Social Application on the Cloud

As I do more and more research about the Cloud Area Network, I’ve also found that people (technical and non-technical) still don’t get a clear grasp of how and why we should build applications that run on the cloud.

I thought the best way to explain the concept was by building a simple application that would use infrastructure as well as logic that would demonstrate the approach and the benefits of a cloud app.

Read the full article →

Twitter’s Value Goes Down as More People Use It

February 20, 2009
Thumbnail image for Twitter’s Value Goes Down as More People Use It

This might be something that @ev or @jack aren’t expecting. But I think it could potentially transform what users get out of Twitter, and ultimately, the future of Twitter itself.

And in some ways it might be exactly the opposite of what happens with other web businesses.

I’m starting to think that as more people use Twitter, the less valuable it becomes.

Read the full article →

Eavesdropping Great Minds

February 16, 2009

Some people are trying to explain what Twitter is.

This is my shot at it.

Imagine being able to sneak in to a room where the most brilliant scientists, marketers, newsmakers are talking to each other.

This is what Twitter allows you to do. You’re not breaking and entering, and it’s free.

Just make sure you follow people that are smarter than you. Do not follow everyone that follows you.

A lot of these people are spammers and noisemakers. What they don’t get is that Twitter is not a marketing tool. It’s not a broadcast tool.

Twitter is the ultimate smoking room without the smoking.

Read the full article →

Each Social Platform has its own Use

February 10, 2009
Thumbnail image for Each Social Platform has its own Use

Last week I did a major reorganization of my social sites. I had started to add people randomly to all my networks — Facebook, Twitter, FriendFeed — and lately I was getting a lot of noise and little return on each one of them.

I decided I had to set some rules.

Read the full article →

When Will Google Understand They’re Not a Social Platform

February 5, 2009

They’ve tried to get some social applications going.

The problem is that Google is not a social platform. It’s just a set of tools.

I can’t picture myself without Gmail, Reader or Docs at this point. They’re world-class tools. They are reliable. They even work when I’m offline, writing on the subway.

But the contacts I have on my Google account have nothing to do with the contacts I have on Twitter or Facebook or FriendFeed.

Read the full article →

(Yet Another) Social Backlash on GoDaddy

February 2, 2009
Thumbnail image for (Yet Another) Social Backlash on GoDaddy

Yesterday’s Superbowl was full of great ads. Some of them very creative with very limited budgets, like Dorito’s “Crystal Ball”.

But it seems GoDaddy.com’s commercials (there were two of them) have started a backlash of users who are angry at the way that the site markets itself using women in a sleazy way.

Read the full article →

The Importance of Social Networking for Shy People

December 17, 2008

I read Thomas J. Watson Junior’s book, Father, Son, and Co.: My Life at IBM and Beyond in the early 90′s. The book tells the story of IBM from their early age as a provider of electromechanical punch card systems and the relationship between him and his father.

But the most profound learning I got from the book was about the importance of building relationships, something that has been a struggle for me since I was very young.

I don’t know if it has to do with the fact that my familiy moved around a lot (I studied in 8 different schools and 7 different cities before I got into college) or because of some other personal issues. But I struggle when trying to socialize or meeting new people.

Social networking has allowed me to overcome this issue.

Read the full article →

Popego Tries to Impress, but the Makeup Gets in the Way

December 10, 2008
Thumbnail image for Popego Tries to Impress, but the Makeup Gets in the Way

Yesterday, Robert Scoble commented about a web service that “looks at your Twitter and other social networking behavior and tells you stuff about it.”

I was very excited about the idea of an intelligent service that would recommend content tailored to my interests. We are officially entering an era of Newsfeed overdose, and any technology that allows me to filter stuff is a God send.

The service is called Popego, and it promises the user to “Enjoy a more meaningful web”. Unfortunately the service falls short in its promise.

Read the full article →

Why Facebook Connect is the Winner Against Google Friend Connect

December 8, 2008
Thumbnail image for Why Facebook Connect is the Winner Against Google Friend Connect

The blogosphere is buzzing with discussions about the release of both Google Friend Connect and Facebook Connect frameworks. But in my initial reading of both, I don’t think there was ever a contest: Facebook Connect is a clear winner for me, and has made me rethink of how important this feature is for the survival of Mark Zuckerbeg’s social website.

Read the full article →