Building a Scalable Architecture for Web Apps - Part I(Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi ( | http://wiki. | http://careers.) Licensed under mons Attribution Sharealike mercial 1 Agenda Why is Scalability important Introduction to the Variables and Factors Building our own Scalable Architecture (in incremental steps) Vertical Scaling Vertical Partitioning Horizontal Scaling Horizontal Partitioning … etc Platform Selection Considerations Tips 2 mons Sharealike Attributions mercial Why is Scalability Important in a Web world Viral marketing can result in instant esses RSS / Ajax / SOA pull based / polling type XML protocols - Meta-data > data Number of Requests exponentially grows with user base RoR / Grails – Dynamic language landscape gaining popularity In the end you want to build a Web app that can serve millions of users with ZERO downtime 3 mons Sharealike Attributions mercial The Variables Scalability - Number of users / sessions / transactions / operations the entire system can perform Performance – Optimal utilization of resources Responsiveness – Time taken per operation Availability - Probability of the application or a portion of the application being available at any given point in time Downtime Impact - The impact of a downtime of a server/service/resource - number of users, type of impact etc Cost Maintenance Effort High: scalability, availability, performance & responsivenessLow: downtime impact, cost & maintenance effort 4 mons Sharealike Attributions mercial The Factors Platform selection Hardware Application Design Database/Datastore Structure and Architecture Deployment Architecture Storage Architecture Abuse prevention Monitoring mechanisms … and more 5 mons Sharealike Attributions mercial Lets Start … We will now build an example architecture for an example app using the following iterative incremental steps – Inspect current Architecture Identify Scalability Bottlenecks Identify SPOFs a
building a scalable architecture for web apps 来自淘豆网www.taodocs.com转载请标明出处.