high_scalability high_scalability-2010 high_scalability-2010-906 knowledge-graph by maker-knowledge-mining
Source: html
Introduction: Too often software design patterns are overlooked by network and application delivery network architects but these patterns are often equally applicable to addressing a broad range of architectural challenges in the application delivery tier of the data center. By Lori Mac Vittie, F5 Networks The “ High Scalability ” blog is fast becoming one of my favorite reads. Last week did not disappoint with a post highlighting a set of scalability design patterns that was, apparently, inspired by yet another High Scalability post on “ 6 Ways to Kill Your Servers: Learning to Scale the Hard Way. ” Credit:Michael Chow/azcentral.com This particular post caught my attention primarily because although I’ve touched on many of these patterns in the past, I’ve never thought to call them what they are: scalability patterns. That’s probably a side-effect of forgetting that building an architecture of any kind is at its core computer science and thus
sentIndex sentText sentNum sentScore
1 Too often software design patterns are overlooked by network and application delivery network architects but these patterns are often equally applicable to addressing a broad range of architectural challenges in the application delivery tier of the data center. [sent-1, score-2.067]
2 Last week did not disappoint with a post highlighting a set of scalability design patterns that was, apparently, inspired by yet another High Scalability post on “ 6 Ways to Kill Your Servers: Learning to Scale the Hard Way. [sent-3, score-0.498]
3 com This particular post caught my attention primarily because although I’ve touched on many of these patterns in the past, I’ve never thought to call them what they are: scalability patterns. [sent-5, score-0.439]
4 This is actually more common than you’d think, as it’s rarely the case that a network guy and a developer sit down and discuss scalability patterns over beer and deep fried cheese curds (hey, I live in Wisconsin and it’s my blog post so just stop making faces until you’ve tried it). [sent-7, score-0.647]
5 The thing is that the scalability patterns leveraged by developers and architects can almost universally be abstracted and applied to the application delivery network – the set of components integrated as a means to ensure availability, performance, and security of applications. [sent-9, score-1.147]
6 That’s why devops is so important and why devops has to bring dev into ops as much as its necessary to bring some ops into dev. [sent-10, score-0.416]
7 ABSTRACT and APPLY So the aforementioned post is just a summary of a longer and more detailed post, but for purposes of this post I think the summary will do with the caveat that the original, “ Scalability patterns and an interesting story. [sent-12, score-0.46]
8 For now, let’s briefly touch on the scalability patterns and sub-patterns Jesper described with some commentary on how they fit into scalability from a network and application delivery network perspective. [sent-16, score-1.077]
9 The secret sauce is almost always in the way in which the aggregation point ( strategic point of control ) determines how best to distribute the load across the “multiple processing units. [sent-20, score-0.457]
10 The load balancing distributes requests across all instances based on the configured load balancing algorithm. [sent-23, score-0.8]
11 This allows for devops to tweak configurations of the underlying operating system, web and application server software for the specific type of request being handled. [sent-26, score-0.54]
12 This is, also, where the difference between “application switching” and “load balancing” becomes abundantly clear as “application switching” is used as a means to determine where to route a particular request which is/can be then load balanced across a pool of resources. [sent-27, score-0.418]
13 The most common implementation of vertical partitioning at the application switching layer will be by content. [sent-30, score-0.477]
14 This also, in a distributed environment, allows architects to leverage say cloud-based storage for static content while maintaining dynamic content (and its associated data stores) on-premise. [sent-33, score-0.602]
15 Queuing and batch - Achieve efficiencies of scale by processing batches of data, usually because the overhead of an operation is amortized across multiple request I admit defeat in applying this sub-pattern to application delivery. [sent-41, score-0.422]
16 I know, you’re surprised, but this really is very specific to middleware and aside from the ability to leverage queuing for Quality of Service (QoS) at the delivery layer this one is just not fitting in well. [sent-42, score-0.51]
17 And make no mistake, storage virtualization is a part of the application delivery network – has been since its inception – and as cloud computing and virtualization have grown so has the importance of a well-defined storage tiering strategy. [sent-46, score-0.89]
18 We can bring this back up to the application layer by considering that a relaxation of data constraints with regards to immediacy of access can be applied by architecting a solution that separates data reads from writes . [sent-47, score-0.664]
19 Only by recognizing that many architectural patterns are applicable to not only application but infrastructure architecture can we start to apply a whole lot of “lessons that have already been learned” by developers and architects to emerging infrastructure architectural models. [sent-54, score-0.912]
20 This abstraction and application from well-understood patterns in application design and architecture will be invaluable in designing the new network; the next iteration of network theory and implementation that will allow it to scale along with the applications it is delivering. [sent-55, score-0.738]
wordName wordTfidf (topN-words)
[('patterns', 0.28), ('delivery', 0.212), ('architects', 0.184), ('application', 0.177), ('load', 0.152), ('processing', 0.15), ('spreading', 0.148), ('devops', 0.145), ('tiering', 0.129), ('immediacy', 0.117), ('anapplication', 0.117), ('balancing', 0.117), ('applicable', 0.115), ('jesper', 0.105), ('sit', 0.104), ('network', 0.104), ('scalability', 0.1), ('pool', 0.1), ('designated', 0.098), ('regards', 0.098), ('task', 0.095), ('across', 0.095), ('switching', 0.093), ('instances', 0.093), ('content', 0.093), ('components', 0.09), ('associated', 0.083), ('leverage', 0.082), ('architectural', 0.078), ('specific', 0.077), ('requests', 0.074), ('layer', 0.074), ('often', 0.072), ('request', 0.071), ('partitioning', 0.07), ('type', 0.07), ('architecting', 0.07), ('storage', 0.067), ('virtualization', 0.067), ('constraints', 0.065), ('middleware', 0.065), ('equal', 0.063), ('vertical', 0.063), ('bring', 0.063), ('think', 0.062), ('aggregation', 0.06), ('post', 0.059), ('essentially', 0.059), ('wisconsin', 0.059), ('postulated', 0.059)]
simIndex simValue blogId blogTitle
same-blog 1 1.0000001 906 high scalability-2010-09-22-Applying Scalability Patterns to Infrastructure Architecture
Introduction: Too often software design patterns are overlooked by network and application delivery network architects but these patterns are often equally applicable to addressing a broad range of architectural challenges in the application delivery tier of the data center. By Lori Mac Vittie, F5 Networks The “ High Scalability ” blog is fast becoming one of my favorite reads. Last week did not disappoint with a post highlighting a set of scalability design patterns that was, apparently, inspired by yet another High Scalability post on “ 6 Ways to Kill Your Servers: Learning to Scale the Hard Way. ” Credit:Michael Chow/azcentral.com This particular post caught my attention primarily because although I’ve touched on many of these patterns in the past, I’ve never thought to call them what they are: scalability patterns. That’s probably a side-effect of forgetting that building an architecture of any kind is at its core computer science and thus
2 0.46164829 897 high scalability-2010-09-08-4 General Core Scalability Patterns
Introduction: Jesper Söderlund put together an excellent list of four general scalability patterns and four subpatterns in his post Scalability patterns and an interesting story : Load distribution - Spread the system load across multiple processing units Load balancing / load sharing - Spreading the load across many components with equal properties for handling the request Partitioning - Spreading the load across many components by routing an individual request to a component that owns that data specific Vertical partitioning - Spreading the load across the functional boundaries of a problem space, separate functions being handled by different processing units Horizontal partitioning - Spreading a single type of data element across many instances, according to some partitioning key, e.g. hashing the player id and doing a modulus operation, etc. Quite often referred to as sharding. Queuing and batch - Achieve efficiencies of scale by
3 0.28606957 924 high scalability-2010-10-21-What is Network-based Application Virtualization and Why Do You Need It?
Introduction: With all the attention being paid these days to VDI (virtual desktop infrastructure) and application virtualization and server virtualization andvirtualization it’s easy to forget about network-based application virtualization. But it’s the one virtualization technique you shouldn’t forget because it is a foundational technology upon which myriad other solutions will be enabled. WHAT IS NETWORK-BASED APPLICATION VIRTUALIZATION? This term may not be familiar to you but that’s because since its inception oh, more than a decade ago, it’s always just been called “server virtualization”. After the turn of the century (I love saying that, by the way) it was always referred to as service virtualization in SOA and XML circles. With the rise of the likes of VMware and Citrix and Microsoft server virtualization solutions, it’s become impossible to just use the term “server virtualization” and “service virtualization” is just as ambiguous so it seems appropriate to giv
4 0.19628133 400 high scalability-2008-10-01-The Pattern Bible for Distributed Computing
Introduction: Software design patterns are an emerging tool for guiding and documenting system design. Patterns usually describe software abstractions used by advanced designers and programmers in their software. Patterns can provide guidance for designing highly scalable distributed systems. Let's see how! Patterns are in essence solutions to problems. Most of them are expressed in a format called Alexandrian form which draws on constructs used by Christopher Alexander. There are variants but most look like this: The pattern name The problem the pattern is trying to solve Context Solution Examples Design rationale: This tells where the pattern came from, why it works, and why experts use it Patterns rarely stand alone. Each pattern works on a context, and transforms the system in that context to produce a new system in a new context. New problems arise in the new system and context, and the next ‘‘layer’’ of patterns can be applied. A pattern language is a structured col
5 0.17340839 1325 high scalability-2012-09-19-The 4 Building Blocks of Architecting Systems for Scale
Introduction: If you are looking for an excellent overview of general architecture principles then take a look at Will Larson's Introduction to Architecting Systems for Scale . Based on his experiences at Yahoo! and Digg, Will covers key concepts in some depth. A quick gloss on the building blocks: Load Balancing: Scalability & Redundancy . Horizontal scalability and redundancy are usually achieved via load balancing, the spreading of requests across multiple resources. Smart Clients . The client has a list of hosts and load balances across that list of hosts. Upside is simple for programmers. Downside is it's hard to update and change. Hardware Load Balancers . Targeted at larger companies, this is dedicated load balancing hardware. Upside is performance. Downside is cost and complexity. Software Load Balancers . The recommended approach, it's software that handles load balancing, health checks, etc. Caching . Make better use of resources you already have. Pr
6 0.16880299 382 high scalability-2008-09-09-Content Delivery Networks (CDN) – a comprehensive list of providers
8 0.16329239 1087 high scalability-2011-07-26-Web 2.0 Killed the Middleware Star
10 0.16133104 1157 high scalability-2011-12-14-Virtualization and Cloud Computing is Changing the Network to East-West Routing
11 0.16070203 1646 high scalability-2014-05-12-4 Architecture Issues When Scaling Web Applications: Bottlenecks, Database, CPU, IO
12 0.16009222 427 high scalability-2008-10-22-Server load balancing architectures, Part 2: Application-level load balancing
15 0.15899849 1331 high scalability-2012-10-02-An Epic TripAdvisor Update: Why Not Run on the Cloud? The Grand Experiment.
topicId topicWeight
[(0, 0.305), (1, 0.096), (2, -0.018), (3, -0.019), (4, -0.063), (5, -0.019), (6, 0.044), (7, -0.096), (8, -0.125), (9, 0.058), (10, 0.043), (11, 0.089), (12, -0.099), (13, -0.051), (14, -0.048), (15, -0.014), (16, 0.132), (17, -0.053), (18, 0.054), (19, 0.062), (20, -0.022), (21, 0.04), (22, -0.012), (23, -0.059), (24, 0.075), (25, 0.003), (26, -0.031), (27, -0.002), (28, 0.009), (29, 0.081), (30, 0.077), (31, 0.022), (32, 0.056), (33, 0.141), (34, -0.093), (35, -0.061), (36, -0.014), (37, -0.087), (38, 0.017), (39, -0.084), (40, 0.012), (41, -0.02), (42, -0.092), (43, 0.021), (44, 0.027), (45, 0.029), (46, 0.014), (47, -0.037), (48, -0.009), (49, 0.001)]
simIndex simValue blogId blogTitle
same-blog 1 0.98177361 906 high scalability-2010-09-22-Applying Scalability Patterns to Infrastructure Architecture
Introduction: Too often software design patterns are overlooked by network and application delivery network architects but these patterns are often equally applicable to addressing a broad range of architectural challenges in the application delivery tier of the data center. By Lori Mac Vittie, F5 Networks The “ High Scalability ” blog is fast becoming one of my favorite reads. Last week did not disappoint with a post highlighting a set of scalability design patterns that was, apparently, inspired by yet another High Scalability post on “ 6 Ways to Kill Your Servers: Learning to Scale the Hard Way. ” Credit:Michael Chow/azcentral.com This particular post caught my attention primarily because although I’ve touched on many of these patterns in the past, I’ve never thought to call them what they are: scalability patterns. That’s probably a side-effect of forgetting that building an architecture of any kind is at its core computer science and thus
2 0.82633442 897 high scalability-2010-09-08-4 General Core Scalability Patterns
Introduction: Jesper Söderlund put together an excellent list of four general scalability patterns and four subpatterns in his post Scalability patterns and an interesting story : Load distribution - Spread the system load across multiple processing units Load balancing / load sharing - Spreading the load across many components with equal properties for handling the request Partitioning - Spreading the load across many components by routing an individual request to a component that owns that data specific Vertical partitioning - Spreading the load across the functional boundaries of a problem space, separate functions being handled by different processing units Horizontal partitioning - Spreading a single type of data element across many instances, according to some partitioning key, e.g. hashing the player id and doing a modulus operation, etc. Quite often referred to as sharding. Queuing and batch - Achieve efficiencies of scale by
3 0.79262149 924 high scalability-2010-10-21-What is Network-based Application Virtualization and Why Do You Need It?
Introduction: With all the attention being paid these days to VDI (virtual desktop infrastructure) and application virtualization and server virtualization andvirtualization it’s easy to forget about network-based application virtualization. But it’s the one virtualization technique you shouldn’t forget because it is a foundational technology upon which myriad other solutions will be enabled. WHAT IS NETWORK-BASED APPLICATION VIRTUALIZATION? This term may not be familiar to you but that’s because since its inception oh, more than a decade ago, it’s always just been called “server virtualization”. After the turn of the century (I love saying that, by the way) it was always referred to as service virtualization in SOA and XML circles. With the rise of the likes of VMware and Citrix and Microsoft server virtualization solutions, it’s become impossible to just use the term “server virtualization” and “service virtualization” is just as ambiguous so it seems appropriate to giv
4 0.77868724 1325 high scalability-2012-09-19-The 4 Building Blocks of Architecting Systems for Scale
Introduction: If you are looking for an excellent overview of general architecture principles then take a look at Will Larson's Introduction to Architecting Systems for Scale . Based on his experiences at Yahoo! and Digg, Will covers key concepts in some depth. A quick gloss on the building blocks: Load Balancing: Scalability & Redundancy . Horizontal scalability and redundancy are usually achieved via load balancing, the spreading of requests across multiple resources. Smart Clients . The client has a list of hosts and load balances across that list of hosts. Upside is simple for programmers. Downside is it's hard to update and change. Hardware Load Balancers . Targeted at larger companies, this is dedicated load balancing hardware. Upside is performance. Downside is cost and complexity. Software Load Balancers . The recommended approach, it's software that handles load balancing, health checks, etc. Caching . Make better use of resources you already have. Pr
5 0.77686238 1260 high scalability-2012-06-07-Case Study on Scaling PaaS infrastructure
Introduction: In his blog post, Scaling WSO2 Stratos , Srinath Perera explains the scaling architecture of the WSO2 Stratos Platform as a Service (PaaS) infrastructure. It is explained as a series of solutions where every solution adds a new concept to solve a specific problem found in the earlier solution. Overall, WSO2 Stratos uses a combination of intelligent Load balancing and lazy loading to scale up the architecture. More details about Stratos can be found from the paper WSO2 Stratos: An Industrial Stack to Support Cloud Computing . Problem Stratos is multi-tenanted . In other words, there are many tenants. Each tenant generally represents an organization and isolated from other tenants, where each tenant has his own users, resources, and permissions. Stratos supports multiple PaaS services. Each PaaS service is actually a WSO2 Products (e.g. AS, BPS, ESB etc.) offered as a service. Using those services, tenants may deploy their own Web Services, Mediation logic, Workflows, a
6 0.77002662 1646 high scalability-2014-05-12-4 Architecture Issues When Scaling Web Applications: Bottlenecks, Database, CPU, IO
7 0.75615752 1138 high scalability-2011-11-07-10 Core Architecture Pattern Variations for Achieving Scalability
8 0.73655552 1087 high scalability-2011-07-26-Web 2.0 Killed the Middleware Star
9 0.71966273 372 high scalability-2008-08-27-Updating distributed web applications
10 0.71631962 381 high scalability-2008-09-08-Guerrilla Capacity Planning and the Law of Universal Scalability
11 0.71607858 1654 high scalability-2014-06-05-Cloud Architecture Revolution
12 0.7136296 877 high scalability-2010-08-12-Designing Web Applications for Scalability
13 0.71362084 250 high scalability-2008-02-17-Web Accelerators - snake oil or miracle remedy?
14 0.70442796 1077 high scalability-2011-07-11-ATMCash Exploits Virtualization for Security - Immutability and Reversion
15 0.69885802 604 high scalability-2009-05-20-Paper: Flux: An Adaptive Partitioning Operator for Continuous Query Systems
16 0.69469452 1565 high scalability-2013-12-16-22 Recommendations for Building Effective High Traffic Web Software
17 0.69386953 425 high scalability-2008-10-22-Scalability Best Practices: Lessons from eBay
18 0.69223344 987 high scalability-2011-02-10-Dispelling the New SSL Myth
19 0.66954726 951 high scalability-2010-12-01-8 Commonly Used Scalable System Design Patterns
20 0.66631848 492 high scalability-2009-01-16-Database Sharding for startups
topicId topicWeight
[(1, 0.172), (2, 0.202), (10, 0.057), (30, 0.024), (31, 0.016), (47, 0.092), (57, 0.012), (61, 0.097), (74, 0.042), (77, 0.017), (79, 0.121), (85, 0.028), (94, 0.035)]
simIndex simValue blogId blogTitle
1 0.98459613 1054 high scalability-2011-06-06-NoSQL Pain? Learn How to Read-write Scale Without a Complete Re-write
Introduction: Lately I've been reading more cases were different people have started to realize the limitations of the NoSQL promise to database scalability. Note the references below: Why does Quora use MySQL as the data store instead of NoSQLs such as Cassandra, MongoDB, CouchDB etc? Why did Diaspora abandon MongoDB for MySQL? How scalable is CouchDB in practice, not just in theory? Take MongoDB for example. It's damn fast, but it doesn't really know how to save data reliably to disk. I've had it set up in a replica pair to mitigate that risk. Guess what - both servers in the pair failed and corrupted their data files at the same day. It appears that for many, the switch to NoSQL can be rather painful. IMO that doesn't necessarily mean that NoSQL is wrong in general, but it's a combination of 1) lack of maturity 2) not the right tool for the job. That brings the question of what's the alternative solution? In the following post I tried to summarize the lessons from
2 0.98011166 1062 high scalability-2011-06-15-101 Questions to Ask When Considering a NoSQL Database
Introduction: You need answers, I know, but all I have here are some questions to consider when thinking about which database to use. These are taken from my webinar What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications . It's a companion article to What The Heck Are You Actually Using NoSQL For? Actually, I don't even know if there are a 101 questions, but there are a lot/way too many. You might want to use these questions as kind of a NoSQL I Ching , guiding your way through the immense possibility space of options that are in front of you. Nothing is fated, all is interpreted, but it might just trigger a new insight or two along the way. Where are you starting from? A can do anything green field application? In the middle of a project and worried about hitting bottlenecks? Worried about hitting the scaling wall once you deploy? Adding a separate loosely coupled service to an existing system? What are your resources? expertise? budget? What are y
3 0.97584957 144 high scalability-2007-11-07-What CDN would you recommend?
Introduction: Hi all, a I run a site that after a complete redesign have gotten a lot more traffic. The site provides free flash games, so the biggest traffic share goes to serving flash files (from about 100K and up to several megabytes in size each.) I currently host the entire site on a hosting provider that have no traffic limits. But since they are very cheap (yet have served me very well all the time with at least 99,9% uptime), I don't trust them in allowing me to continue consuming more and more bandwidth. I just guess I'm going to reach some internal limit they have on day, so I'm looking into moving all the flash content over to a content delivery network of some sort. Some recent traffic stats: August: 12 GB September: 22 GB October: 55 GB November: Currently 2,3 GB pr day on average, but it's rising.. I've been looking into Amazon S3, but have not decided on anything yet. So therefor I'm asking if there are any other provides I should consider, that operates withi
same-blog 4 0.97277635 906 high scalability-2010-09-22-Applying Scalability Patterns to Infrastructure Architecture
Introduction: Too often software design patterns are overlooked by network and application delivery network architects but these patterns are often equally applicable to addressing a broad range of architectural challenges in the application delivery tier of the data center. By Lori Mac Vittie, F5 Networks The “ High Scalability ” blog is fast becoming one of my favorite reads. Last week did not disappoint with a post highlighting a set of scalability design patterns that was, apparently, inspired by yet another High Scalability post on “ 6 Ways to Kill Your Servers: Learning to Scale the Hard Way. ” Credit:Michael Chow/azcentral.com This particular post caught my attention primarily because although I’ve touched on many of these patterns in the past, I’ve never thought to call them what they are: scalability patterns. That’s probably a side-effect of forgetting that building an architecture of any kind is at its core computer science and thus
5 0.97253078 676 high scalability-2009-08-08-Yahoo!'s PNUTS Database: Too Hot, Too Cold or Just Right?
Introduction: So far every massively scalable database is a bundle of compromises. For some the weak guarantees of Amazon's eventual consistency model are too cold. For many the strong guarantees of standard RDBMS distributed transactions are too hot. Google App Engine tries to get it just right with entity groups . Yahoo! is also trying to get is just right by offering per-record timeline consistency, which hopes to serve up a heaping bowl of rich database functionality and low latency at massive scale : We describe PNUTS [Platform for Nimble Universal Table Storage], a massively parallel and geographically distributed database system for Yahoo!’s web applications. PNUTS provides data storage organized as hashed or ordered tables, low latency for large numbers of con-current requests including updates and queries, and novel per-record consistency guarantees. It is a hosted, centrally managed, and geographically distributed service, and utilizes automated load-balancing and failover to redu
6 0.97024125 760 high scalability-2010-01-13-10 Hot Scalability Links for January 13, 2010
7 0.96621567 852 high scalability-2010-07-07-Strategy: Recompute Instead of Remember Big Data
8 0.96496356 1440 high scalability-2013-04-15-Scaling Pinterest - From 0 to 10s of Billions of Page Views a Month in Two Years
9 0.96400845 1530 high scalability-2013-10-11-Stuff The Internet Says On Scalability For October 11th, 2013
10 0.95494556 1166 high scalability-2011-12-30-Stuff The Internet Says On Scalability For December 30, 2011
11 0.95482641 1180 high scalability-2012-01-24-The State of NoSQL in 2012
12 0.95356441 590 high scalability-2009-05-06-Art of Distributed
13 0.95261055 683 high scalability-2009-08-18-Hardware Architecture Example (geographical level mapping of servers)
14 0.95158041 550 high scalability-2009-03-30-Ebay history and architecture
15 0.9501633 857 high scalability-2010-07-13-DbShards Part Deux - The Internals
16 0.94983649 152 high scalability-2007-11-13-Flickr Architecture
18 0.948511 1344 high scalability-2012-10-19-Stuff The Internet Says On Scalability For October 19, 2012
19 0.94766402 847 high scalability-2010-06-23-Product: dbShards - Share Nothing. Shard Everything.
20 0.94766134 301 high scalability-2008-04-08-Google AppEngine - A First Look