Wikispaces Birthday Week: Servers

This is part one of a week-long series of posts celebrating
Wikispaces’ Fourth Birthday. Check back tomorrow for part two!

server4-small.jpgOver the four years we’ve been running Wikispaces, we’ve fielded a steady stream of questions about the infrastructure that powers the site. Questions such as:

  • “Do you use dedicated servers?”
  • “Do you keep regular backups?”
  • “How much bandwidth do you have?”
  • “If the site breaks, does someone get notified?”

Our customers want to know that we’re taking good care of their data, and that we’ve built a site that can grow with them — whether they’re a high school math class or one of our Fortune 20 customers. Today I’ll walk you through the state of our servers and network as of March 2009 and answer the above questions and more.

Finding Wikispaces

Let’s imagine that you’ve just typed “www.wikispaces.com” into your web browser. The first thing that happens is that your computer makes a Domain Name System (DNS) request to find out the Internet address that corresponds to “www.wikispaces.com”. DNS is one of the unseen heros of the Internet, a massive and highly reliable service that operates much like a phone book. Where a phone book tells you a street address based on someone’s name, DNS tells you an IP address (“75.126.104.177”) based on a domain name (“www.wikispaces.com”).

We both run our own DNS servers and use a 3rd party service to make sure you can always get to Wikispaces. In combination there are more than a dozen servers in cities around the world handling this very important service for our site.

Our Servers

Now that your browser knows our address on the Internet, you can reach our servers. Most of them are in Dallas, Texas; some are in Chicago, Illinois and Washington, DC. We have 20+ servers used solely for Wikispaces that handle well over 10 million dynamic requests a day, including the millions of pages that our visitors see daily. (More on those numbers later this week in our fourth birthday stats post.)

Not all of our servers have the same role, though. Like a football team, we put servers in different positions depending on what they’re good at:

  • web servers: building and sending content to your web browser
  • databases: storing little bits of data
  • file storage: storing big chunks of data

There are some more specialized roles too — proxies, caches, email, DNS, search — but these are the big three. Your request comes first to our web servers, where the Wikispaces application combines bits of data pulled from our database and file storage servers to build the web page you’re looking at. It’s at this stage that the software that powers Wikispaces is put to work. Our webservers handle hundreds of requests per second day in and day out, and build most of the pages you look at in under two tenths of a second!

Fail!

In a perfect world, we’d have just enough servers to handle the traffic coming to Wikispaces every day. But the unfortunate reality is that servers fail all the time (though most often just as I’ve settled into deep sleep). Hard drives break, CPUs overheat, circuit breakers trip. So to meet our reliability goals, any of our servers can fail at any time and Wikispaces will keep on running. And when a server does fail, our monitoring systems both let us know and pull the server out of active use so Wikispaces isn’t affected.

You might be wondering: “what happens to my data when a server fails?” First, every bit of data in your wiki — pages, files, history, messages — is stored on three or more separate servers and hard drives in our data center. If one of those three copies is lost, say if a hard drive fails, we automatically put a copy on another hard drive to maintain the three-copy minimum. In aggregate, we’ve got tens of millions of files stored this way on many terabytes of storage.

Many people would sleep comfortably knowing their data is on three servers. We don’t. In addition to the three copies in our data center, we also encrypt and back up all of our data using Amazon’s S3 service. This backup happens seconds after you’ve saved a page. Amazon’s service puts those files in at least two more data centers, meaning your data is kept safe in at least three locations throughout the United States on five or more servers.

Network

Now that we’ve gotten your request and constructed the web page you’re looking at, we need to send its contents back to you. The datacenter we use in Dallas, Texas has 80 Gbps of bandwidth available to it across eight different providers. That’s the equivalent of 20,000 high speed cable connections all going full-speed! Wikispaces uses a small fraction of this capacity, topping out at about 100 Mbps, but the capacity and variety of our network providers means we can respond to your request very quickly. (Some visitors to Wikispaces also use our global Content Delivery Network, or CDN, but that’s a story for another blog post…)

Monitoring

When something does go wrong with Wikispaces, we have two 3rd party monitoring services and our own internal monitoring systems to tell us. Day or night, we get paged on the first sign of trouble so that we can immediately respond and keep Wikispaces up and running. And we keep a full log of when things do fail at our status page, http://status.wikispaces.com. We’re proud to have a track record of well over 99.9% reliability.

Thanks for Reading!

We put a lot of time and effort into the infrastructure we’ve just described to meet our goals of security, reliability, and speed. We hope this (not-so-)brief look behind the scenes at the Wikispaces server and network infrastructure gives you an idea of what makes the site tick. And as always, drop us a note at help@wikispaces.com if we can answer more of your questions.

But Wait, There’s More

For the curious reader who’s gotten this far, we should note that like countless other sites, Wikispaces would not be possible without a wide variety of open source software including: Linux, PHP, MySQL, memcached, mogilefs, nginx, lighttpd, lucene, postfix, puppet, monit, python, perl, tinydns, collectd, git, subversion, and trac.

This entry was posted in Company and tagged , , , , . Bookmark the permalink. Both comments and trackbacks are currently closed.

One Comment

  1. Posted March 25, 2009 at 6:35 am | Permalink

    Thanks for doing all of this to protect my data. (ok, and that of a few other people.) I’m not a techie, but I enjoyed reading about what you do behind the scenes.

    Jim

One Trackback

  • Wikispaces Private Label

    Our flexible, scalable wiki environments deliver unlimited wikis, simple editing tools, and powerful central administration for organizations of all sizes.
    Find out more.
    Start your free, 30-day trial.

  • About Us

    Welcome to our blog! This is where we share updates about events and new releases, tips and tricks for using wikis, profiles of a few of our favorite wikis, and more. We're proud to serve a large community of educators, as well as individuals, groups, and organizations of all stripes and sizes.

    Contact us.
    Call us: 415-863-8919
    Site status · We're hiring!

  • Join Us for a Webinar

    Our monthly webinars are a great way to check out examples, learn from experts, and get real-time answers to your questions. Our webinars are always fun, and always free.
    Sign up today.

  • Wikispaces for Educators

    If your wiki is used exclusively for education, you might be eligible for a free upgrade to one of our K–12 plan or Higher Education plan wikis.
    Learn more about our K–12 plan.
    Learn more about our Higher Education plan.