Start Here

This page is here to help you get started using High Scalability. Here are a few useful topics to get you going...

  1. Why does the High Scalability site exist?
  2. Good things to read.
  3. Participate by adding your own links to interesting sites and articles.
  4. Participate by signing up for the RSS feed.
  5. Consider the many benefits of registering as a user.
  6. How do I get notification of content and comment changes?
  7. Contact High Scalability.
  8. About.

Why does the High Scalability site exist?

To help you build successful scalable websites.

This site tries to bring together all the lore, art, science, practice, and experience of building scalable websites into one place so you can learn how to build your website with confidence.

When it becomes clear you must grow your website or die, most people have no idea where to start. It's not a skill you learn in school or pick up from a magazine article on a plane flight home. No, building scalable systems is a body of knowledge slowly built up over time from hard won experience and many failed battles. Hopefully this site will move you further and faster along the learning  curve of success.

Makers of popular web sites eventually run into this all important question: How do I scale? Every builder of successful web sites must answer and that question and put their answers into practice.

You might wonder:

  • How do I handle being digged or slashdotted?
  • What can I accomplish on my budget?
  • How do I add more and more users?
  • What software should I use? LAMP, WAMP, or .Net?
  • Should I use managed or unmanaged systems? Dedicated, co-located, VPS, hosting, or something else?
  • Which machine and OS should I use?
  • How do I recover from a disaster?
  • How do I measure and improve performance?
  • Where do I get people to help me?
  • Which data center should I use?
  • Which ISP should I use?
  • How can I structure my software to scale?
  • How do we setup caching?
  • What should my database schema look like?
  • Which database should I use?
  • Which language and framework should I use?
  • How do I ensure my data is always available and never lost?
  • How do I monitor all my software and machines?
  • How do I train my programmers to build this type of software?
  • How do I failover my web servers, databases, etc?
  • How do I expand to multiple geographical locations?
  • How should I handle session data?
  • How do I handle support and upgrades and feature rollouts?

You probably have 1000s of questions like these. Where do you find the answers? The answers are out there. How to build a scalable website is not a secret, the information is just spread out. And it's still more art than science. Every problem is different. Your site may have specific requirements that make it just different enough that you could use some advice.

And that's what this site is all about. Bringing like-minded people together to help each learn everything we can about creating the best websites we can.

Good things to read.

If you are interested in this site then you probably want to build your own monster website.  There's no better way to learn than learning from the best Real Life Architectures out there. Real Life Architectures is a continuing series of posts on how real successful websites like eBay, Flickr, MySpace,LiveJournal, and Amazon build their websites.

Learn from those who have already done it and add your own personal twist to make it your own.

One of the incredible free to the user rewards for registering as a user of High Scalability is that you can post articles to the front page. The amount of materials on High Scalability topics is vast and ever evolving, so if people share what they find that will help everyone keep up on what's new.

To post your own articles all you have to do is:

  • Register as a user.
  • Login.
  • Select the post new entry link at the top of the page.
  • Fill out the form and click on submit. And you're done!

Participate by signing up for the RSS feed.

If you would like to participate in this web site by reading RSS postings then just paste the following URL into your favorite RSS reader: http://feeds.feedburner.com/HighScalability. For the comment feed subscribe to http://highscalability.squarespace.com/blog/rss-comments.xml.

Consider the many benefits of registering as a user.

OK, to be honest, there aren't that many benefits of registering as a user. We hate sites that make you register before you can do anything useful. We've made it so you can do most everything interesting without registering. But if you do register you can post an article and subscribe to article changes via email. That's about it. Hopefully we'll have some nice door prizes later.

How do I get notification of content and comment changes?

  1. RSS is probably the easiest way. Please see the RSS section a little earlier on the page.
  2. Registered users can login and select Subscribe to Page Updates in the upper right hand corner of the page.

Posting Rules

I really want to let people post whatever they find interesting, but this is the Internet. So, please:

  1. Do not post announcements for new product versions, classes, etc. Soon the site would become nothing but announcements, people would stop reading, and that would be bad. Please send me your announcement and I can fold it into to my weekly hot links post.

About

Some people have asked who I am. Good question. I am still working on that :-) My name, however, is Todd Hoff and my personal website is at http://toddhoff.com. I have a lot of experience in large scale distributed systems and a long standing interest in the subject. I finally decided since I'm reading this stuff all the time I might as well start a site about it!

I hope you find this site useful in your day-to-day work in the trenches.

Mini FAQ

  1. Why do some of your pages look horrible? During the move from Drupal to Squarespace, I had to export the content and try to automatically reformat it to look presentable on Squarespace. Regrettably that process didn't always work. I made a lot of hand edits to fix whatever I could, but there's a lot of content on this site and I missed a lot. So I'm trying to slowly improve it. If there's a page you think needs attention please let me know.