Monday, September 21, 2009

Building a Scalable Website

SecondTeacher is a website which will have very definate peaks in loads that are easy to predict. This is a great advantage in building the website but it also poses some challenges.
First we want to run the site efficently and on a budget that doesn't comprimise quality and user experience. We know the site will be busiest between 3pm and 9pm when the majority of students do their homework. In planning for peak load of say 20,000 concurrent users we can evaluate how much each machine can comfortably manage, imagine it's 1,000. We will then need 20 machines load balanced to operate the site. Correct ....?
Well no, we can do alot better than that and we also have a few concerns in relation to bandwidth usage. 20,000 people watching a 500kps video concurrently will need a hell of a lot of bandwidth if our 1,000 users per machine are all watching video then we would be pushing 500mps. Most hosters will only give you a 100mps burst capable pipe at a reasonable price so suddenly at best our machine can only handle 200 users meaning we now need 100 machines to cope....this is getting expensive.
Well our solution was up in the clouds.
First off we pushed all images and video to Amazon cloudfront which allows us to put all these objects on the edge locations close to the customer and also they are served from there meaning they do now clog up our bandwidth. This means we are now only in effect serving html and the silverlight controls now bandwidth is no longer a limiting factor. Now we're back to 1,000 per machine if anyone is keeping count.
Next we implemented our servers in the Amazon EC2 cloud meaning we could using there elastic computing model expand and contract our resources as we wanted to and only pay for the resources we use. This means that at 4pm on a school day we can run 20 machines but at 2am we only need run 1 machine to keep the service available for the desperate or slow students doing they're homework at this time. Our peak hours are only 30 hours per week the rest of the time 1 machine is enough. This reduces our resource costs to an average of just over 3 machines compared to the 20 we'd need to run if we went the traditional route.
But this is not all about cost, there are big advantages too in using the the Amazon cloud 1) Amazon engineers working 24/7 to keep the cloud up 2) Multiple Redundant storage and backup built in 3) No more concerns about hardware issues, if a machine goes down just start a new one. 4) Fully scalable e.g. if all our Christmases come at once and 100,000 try to access SecondTeacher in the morning instead of a technical disaster I can just fire up another 100 instances and the user experience is the same as ever.
I'm banking on the cloud to become the way of the future and I'm not alone.
Check out Amazon webservices for yourself Amazon Web Sevices

63 comments:

  1. Hello,

    first of all, GREAT JOB...

    I would like to build an infrastructure similar to yours using ASP.Net, SimpleDB and i would like to make it scalable like yours, but i have a question. I have read a lot about the latency of SimpleDB, my question is: If a user registers in your web site how you solve the latency problem? I understood that you store the sessions in Simple DB, but if some reasons there is some latency how you manage it?

    Thanks

    --silvano

    October 16, 2009 7:46 AM

    ReplyDelete
    Replies
    1. Thanks but I think its not a modern way to build website. Try to search on youtube some videos about it, and you will understand what i am talking about. By the way remember, that if you want to quickly boost the number of your channel subscribers, you can simply use the help of https://viplikes.net/ to quickly cope with this task.

      Delete
  2. Hi Silvano
    Thanks for the nice comments. Nearly all the interaction on SimpleDB is from our Web servers which are on EC2 so this has no real latency issues as they exist on the same network. We also cache all the main SimpleDB request on the server so SimpleDB is not even hit in these scenarios.
    Our Session state is held on SimpleDB too but again the interaction is between webserver and SimpleDB so again no problem.
    We use webservices to supply data to Silverlight controls on the client but we have no more latency issues then if we were running the DB server in a traditional way and of course we using caching extensively here too.
    On a side note I have used simpleDB for awhile now and I find it rock solid reliable and latency is not really an issue for me yet anyway.
    Thanks
    Robert

    ReplyDelete
  3. I have been evaluating EC2 for a while now. The question I have is in regards to run away costs. We build and maintain a content management system for websites. We have a few hundred customers. Some with very high traffic websites, others with small websites with minimal visitors. Quite a few with Videos that are streamed. What I'm concerned with is cost. Porting our system over only to find out that because of our usage, we are worse than we were before cost wise. In a month, if you were to consider your high usage periods when you have 20 servers provisioned, how much does that run you cost wise? Or how does that compare to the low usage periods?

    My problem is I just don't know enough about EC2. Even though I can read all of the white papers and pricing charts, I just don't know how to apply that to our situation and resource needs.

    When I saw your report, I got excited because now I've found a real person that has experience going through what we will need to go through and can help me understand the costs and how you performed your evaluation of need. I appreciate any help or insight you can provide.

    ReplyDelete
  4. Hi Robert,

    thank you very much for your explanation! You have been really very nice.

    Any idea of expanding in Italy? My father is a Math Professor at University of Engineering?

    Thanks Again

    --silvano

    ReplyDelete
  5. Hi Bilal
    First thing I'd say is EC2 is not a cheaper option. I have used The Planet (http://www.theplanet.com) to hire dedicated boxes for another project and they work brilliantly well.We have been running 4 boxes in the Planet for the last 3 years without a single issue. They are also very cheap so I would never complain about the service we get.
    Saying all that we are in the process of moving them to EC2 why? because of two main reasons 1) Peace of Mind. If a box on the planet goes pop we have a stessful time to rebuild and test etc to get it back up. In EC2 if a box goes pop we just launch it again. 2) Scalability, If we need to expand our resouces in the Planet it's a big undertaking that takes management and time, in EC2 we just launch up another instance and attached to the Load Balancer (which is great in AWS). Cost wise it's probably cheaper to go the Planet to tell you the truth.
    But we also push all our assets to CloudFront in AWS so I find it's much more reliable and quicker for our customers too. Why don't you try parts of AWS first like ther CloudFront and S3 to see how you get on.
    Hope this helps?

    ReplyDelete
  6. Hi Silvano
    Thanks for your comments. Italy is a way off I think my Italian is not good ;-)
    Ciao

    ReplyDelete
  7. Online home work help is a guide about working at home using the internet. Here you can find information, advice and help on online home work, work from home.


    http://www.homeworkhelponline.org/

    Akshay

    ReplyDelete
  8. Can you begin with a free trial - search for no less than a 30 day website trial before you begin so you can test the administrations completely. just click the following document

    ReplyDelete
  9. All things considered, there is nothing more regrettable than having a website however messaging your customers from a Gmail or Yahoo record to catch up on deals enquiries, for more information

    ReplyDelete
  10. It is significant for you to contract great and rumored website engineers who realize how to draw in the general population webdesign gurgaon to your website with fantastic formats and cause them to experience your substance instead of simply observe the designs that your site page contains.

    ReplyDelete
  11. It's the Ecommerce website design in USA that really can facilitate you to make the most of the internet based company techniques and process as well as it can permit you to conduct the internet based company in the most systematic method. web designer nuneaton

    ReplyDelete
  12. It's not about simply tossing thousands a connections around the web and sitting back hanging tight for the blast.Webdesign

    ReplyDelete
  13. Premium WordPress Templates, then again, are normally made by the more experienced and educated WordPress engineers/creators. premium wordpress blog themes

    ReplyDelete
  14. Nice tips for building a scalable website and how it has made build website easy.

    web design company jacksonville

    ReplyDelete
  15. Nice Information. Thanks for sharing this post. Are you looking for web design for your company or business? Please contact ProWeb365 to design your business website.

    ReplyDelete
  16. Anyone who would come up with a website will definitely expect it to grow. Many thanks!
    ProWeb365 web design


    ReplyDelete
  17. cloudi5 the web design company in coimbatore. Cloudi5 is the best company in coimbatore to develop professional website

    ReplyDelete
  18. This comment has been removed by the author.

    ReplyDelete
  19. Great information!!! Thanks for your wonderful informative blog.
    Village Talkies a top-quality professional corporate video production company in Bangalore and also best explainer video company in Bangalore & animation video makers in Bangalore, Chennai, India & Maryland, Baltimore, USA provides Corporate & Brand films, Promotional, Marketing videos & Training videos, Product demo videos, Employee videos, Product video explainers, eLearning videos, 2d Animation, 3d Animation, Motion Graphics, Whiteboard Explainer videos Client Testimonial Videos, Video Presentation and more for all start-ups, industries, and corporate companies. From scripting to corporate video production services, explainer & 3d, 2d animation video production , our solutions are customized to your budget, timeline, and to meet the company goals and objectives.
    As a best video production company in Bangalore, we produce quality and creative videos to our clients.

    ReplyDelete
  20. I have read all the comments and suggestions posted by the visitors for this article are very fine,We will wait for your next article so only.Thanks! Website Design Agency

    ReplyDelete
  21. VIP Escorts in Chandigarh are offering only the best and most pretty girls who are avid to show you they can exceed your expectation and that they are much than just a lovely face.

    Visit us now:_
    VIP Escorts in Chandigarh
    Escorts in Chandigarh

    ReplyDelete
  22. I think such posts are very interesting for reading.
    The information you have very true and useful, thank you have shared this post. Digitak Agency In India

    ReplyDelete
  23. Hello, I am Surbhi Rana An bold Escorts in Chandigarh Have you seen my latest Pictures and Photographs here. Love you all.
    Chandigarh Escort Service |
    Mohali Escorts |

    ReplyDelete
  24. I read this article. I think You have put a lot of effort to create this article. I appreciate your work.
    Thank you much more for sharing with us...!
    Reactjs Training in Chennai |
    Best Reactjs Training Institute in Chennai |
    Reactjs course in Chennai

    ReplyDelete
  25. It's fantastic that you are getting ideas from this post as well as from our discussion made here.
    Augurs Technologies Germany GmbH

    ReplyDelete
  26. I know that now is very easy to build website, but I don't see any reason to do it when you have instagram. And when you can easy promote it buying likes and followers from here https://soclikes.com/

    ReplyDelete
  27. I admire this article for the well-researched content and excellent wording. I got so involved in this material that I couldn’t stop reading. I am impressed with your work and skill. Thank you so much.

    Wow, wonderful blog layout! How long have you been blogging for? you made blogging look easyThe overall look of your web site is excellent, let alone the content!

    ReplyDelete
  28. Today because of these positive developments in technology, more and more web enterprises are coming forward to promote websites related to their trades and business segments. bing-directory com

    ReplyDelete
  29. If you are looking to hire a top-rated SEO company in Toronto, you have landed at the right place. We have over 10 years of experience in ranking websites from different industry verticals on top of the search results. Get in touch with us for more details.

    ReplyDelete
  30. Nice Content, Thank you for sharing such a good content. I also sharing some information about Website Designing Company in Gurgaon
    . Dixinfotech in web-related services includes Website Designing, Web Development, E-commerce Website Development, etc. They provide affordable website designing services and their cost is very low They develop customized websites for the clients as per the requirement of the business. They provide the best services.

    ReplyDelete
  31. Marketing is vital for any business and a good website design serves as the cornerstone of online marketing. By leveraging the expertise of professional website designers you can improve your business, obtain more sales, and raise your company's profits. Website Design Company Dubai

    ReplyDelete
  32. Multilingua is the best foreign language institute in Delhi that offers the best in-its-class language Education, IELTS training & personalized guidance to students who wish to learn and are willing to try new and unfamiliar things. We are also one of the BEST language & IELTS coaching, IELTS Training Course, English Language Course, German Language Course, French Language Institute, Chinese Language Classes in Delhi, Language Translation services, provide training to a large number of students every year who are looking to work & study Abroad.

    ReplyDelete
  33. Multilingua provides the best IELTS Coaching in Delhi that offers thebest in-its-class language Education, IELTS training & personalizedguidance to students who wish to learn and are willing to try new and unfamiliar things. We also provide the best English speaking courses,  Spanish language courses, Chinese language courses, French language
    courses, and Translation services in Delhi.

    ReplyDelete

  34. Winaum Learning offers online vedic maths classes. or offline vedic maths classes, an educational platform for kids where they learn What is Vedic Math tricks. for developing their skills in Maths via (Curriculum program-Grow with Maths and Vedic Maths ), Handwriting class
    , and English Grammar. We offer kids online live classes and offline sessions through trained and expert teachers. The classes are conducted in 1:1 or small group sessions to ensure personal attention to every child. It organizes competitions also for maths-IMC and handwriting- IHC.So, dont delay and enrol for vedic maths course.

    ReplyDelete
  35. Congratulations on your article, it was very helpful and successful. a1e2d8fdad9d064d3445982f0904ece7
    website kurma
    website kurma
    sms onay

    ReplyDelete
  36. Thank you for your explanation, very good content. 2ee0629b8f6cd9ecb7dea02c02f2dcec
    altın dedektörü

    ReplyDelete
  37. your article is valuable for me and for others. Thanks for sharing your information! disc prolapse treatment in gurgaon

    ReplyDelete

  38. Welcome to Camotions – your one-stop destination for premier maternity, baby/toddler/newborn, portrait and pre-wedding Photography services.
    Shashank Priyadarshi- a Postgraduate from NIT Jamshedpur, relinquished his easy 9-to-5 job just to pursue his passion for photography. He offers Kids photography in Gurgaon, newborn baby photography in Gurgaon His immaculate baby photographer in Delhi experience and seasoned approach in this field maternity photographer in Delhi integrated with his sense of creativity makes him toddler photography gurgaon stand as one of the best maternity photographer in Gurgaon. We also offer pre-wedding photography in Gurgaon

    ReplyDelete
  39. Bienvenido a la empresa de administración de destinos Feliz Journey,agencia de viajes en Tenerife,, ,agencia de viajes en Sevilla,,que ofrece servicios en la India y el subcontinente. agencia de viajes en madrid, Somos una empresa,agencia de viajes en cordoba, agencia de viajes en Delhi turística confiable e innovadora que agencia de viajes en malaga, prestan los servicios increíbles e impecables a los clientes. La empresa tiene la suerte agencia de viajes en valencia, de contar con los profesionales más talentosos y comprometidos de la industria hospitalidad.

    ReplyDelete
  40. Nice post! This is a very nice blog that I will definitively come back to more times. Looking to boost your online presence and reach a wider audience? Check out our meticulously curated list of high-quality classified submission sites.
    visit Classified submission sites

    ReplyDelete
  41. Dr. Himani Yadav, the foremost authority on "Best Hair Loss Treatment in Gurgaon," stands as a beacon of hope for those grappling with hair loss concerns. With a stellar reputation, Dr. Yadav has earned recognition for her unwavering commitment to patient care and her expertise in the field.

    She employs cutting-edge techniques and a personalized approach to address the root causes of hair loss, tailoring treatment plans to each individual's unique needs. Dr. Yadav's compassionate and empathetic demeanor creates a supportive and nurturing atmosphere, where patients feel heard and valued.

    For those seeking to rejuvenate their hair and boost their self-esteem, Dr. Himani Yadav is the trusted choice in Gurgaon, offering top-tier solutions for hair restoration.



    ReplyDelete