SlideShare a Scribd company logo
IT Infrastructure
Architecture
(chapter 2)
Infrastructure Building Blocks
and Concepts
Shaharyar Islam
Introduction
 Performance is a typical
hygiene factor
 Nobody notices a highly
performing system
 But when a system is not
performing well enough, users
quickly start complaining
Shaharyar Islam
Perceived performance
 Perceived performance refers to how quickly a system
appears to perform its task
 In general, people tend to overestimate their own
patience
 People tend to value predictability in performance
 When the performance of a system is fluctuating, users
remember a bad experience
 Even if the fluctuation is relatively rare
Shaharyar Islam
Perceived performance
 Inform the user about how long a task will take
 Progress bars
 Splash screens
Shaharyar Islam
Performance during
infrastructure design
Shaharyar Islam
Performance during
infrastructure design A solution must be designed, implemented, and supported to meet the
performance requirements
 Even under increasing load
 Calculating performance of a system in the design phase is:
 Extremely difficult
 Very unreliable
Shaharyar Islam
Performance during
infrastructure design Performance must be considered:
 When the system works as expected
 When the system is in a special state, like:
 Failing parts
 Maintenance state
 Performing backup
 Running batch jobs
 Some ways to do this are:
 Benchmarking
 Using vendor experience
 Prototyping
 User Profiling
Shaharyar Islam
Benchmarking
 A benchmark uses a specific test program to assess the relative
performance of an infrastructure component
 Benchmarks compare:
 Performance of various subsystems
 Across different system architectures
Shaharyar Islam
Benchmarking
 Benchmarks comparing the raw speed of parts of an infrastructure
 Like the speed difference between processors or between disk drives
 Not taking into account the typical usage of such components
 Examples:
 Million Instructions Per Second – MIPS
Shaharyar Islam
Vendor experience
 The best way to determine the performance of a system
in the design phase: use the experience of vendors
 They have a lot of experience running their products in
various infrastructure configurations
 Vendors can provide:
 Tools
 Figures
 Best practices
Shaharyar Islam
Prototyping
 Also known as proof of concept (PoC)
 Prototypes measure the performance of a system at an
early stage
 Building prototypes:
 Hiring equipment from suppliers
 Using datacenter capacity at a vendor’s premise
 Using cloud computing resources
 Focus on those parts of the system that pose the highest
risk, as early as possible in the design process
Shaharyar Islam
User profiling
 Predict the load a new software system will pose on the
infrastructure before the software is actually built
 Get a good indication of the expected usage of the
system
 Steps:
 Define a number of typical user groups (personas)
 Create a list of tasks perform on the new system
 Decompose tasks to infrastructure actions
 Estimate the load per infrastructure action
 Calculate the total load
Shaharyar Islam
User profiling tasks
Persona Number
of users
per
persona
System task Infrastructure load
as a result of the
system task
Frequency
Data
entry
officer
100 Start
application
Read 100 MB data
from SAN
Once a day
Data
entry
officer
100 Start
application
Transport 100 MB
data to workstation
Once a day
Data
entry
officer
100 Enter new
data
Transport 50 KB data
from workstation to
server
40 per
hour
Data
entry
officer
100 Enter new
data
Store 50 KB data to
SAN
40 per
hour
Data
entry
officer
100 Change
existing data
Read 50 KB data
from SAN
10 per
hour
Shaharyar Islam
User profiling Infrastructure
load
Infrastructure load Per day
Per
second
Data transport from server to workstation (KB) 10,400,000 361.1
Data transport from workstation to server (KB) 2,050,000 71.2
Data read from SAN (KB) 10,400,000 361.1
Data written to SAN (KB) 2,050,000 71.2
Shaharyar Islam
Performance of a running
system
Shaharyar Islam
Managing bottlenecks
 The performance of a system is based on:
 The performance of all its components
 The interoperability of various components
 A component causing the system to reach some limit is
referred to as the bottleneck of the system
 Every system has at least one bottleneck that limits its
performance
 If the bottleneck does not negatively influence
performance of the complete system under the highest
expected load, it is OK
Shaharyar Islam
Performance testing
 Load testing - shows how a system performs under the
expected load
 Stress testing - shows how a system reacts when it is
under extreme load
 Endurance testing - shows how a system behaves when
it is used at the expected load for a long period of time
Shaharyar Islam
Performance testing -
Breakpoint Ramp up the load
 Start with a small number of virtual users
 Increase the number over a period of time
 The test result shows how the performance varies with the load, given as
number of users versus response time.
Shaharyar Islam
Performance testing
 Performance testing software typically uses:
 One or more servers to act as injectors
 Each emulating a number of users
 Each running a sequence of interactions
 A test conductor
 Coordinating tasks
 Gathering metrics from each of the injectors
 Collecting performance data for reporting purposes
Shaharyar Islam
Performance testing
 Performance testing should be done in a production-like
environment
 Performance tests in a development environment usually
lead to results that are highly unreliable
 Even when underpowered test systems perform well
enough to get good test results, the faster production
system could show performance issues that did not occur
in the tests
 To reduce cost:
 Use a temporary (hired) test environment
Shaharyar Islam
Performance patterns
Shaharyar Islam
Increasing performance on
upper layers
 80% of the performance issues are due to badly
behaving applications
 Application performance can benefit from:
 Database and application tuning
 Prioritizing tasks
 Working from memory as much as possible (as opposed to
working with data on disk)
 Making good use of queues and schedulers
 Typically more effective than adding compute power
Shaharyar Islam
Disk caching
 Disks are mechanical devices that are slow by nature
 Caching can be implemented i:
 Disks
 Disk controllers
 Operating system
 All non-used memory in operating systems is used for disk cache
 Over time, all memory gets filled with previously stored disk requests and prefetched
disk blocks, speeding up applications.
 Cache memory:
 Stores all data recently read from disk
 Stores some of the disk blocks following the recently read disk blocks
Shaharyar Islam
Web proxies
 When users browse the internet, data can be cached in a web proxy server
 A web proxy server is a type of cache
 Earlier accessed data can be fetched from cache, instead of from the internet
 Benefits:
 Users get their data faster
 All other users are provided more bandwidth to the internet, as the data does
not have to be downloaded again
Shaharyar Islam
Operational data store
 An Operational Data Store (ODS) is a read-only replica of a part of a
database, for a specific use
 Frequently used information is retrieved from a small ODS database
 The main database is used less for retrieving information
 The performance of the main database is not degraded
Shaharyar Islam
Front-end servers
 Front-end servers serve data to end users
 Typically web servers
 To increase performance, store static data on the front-end servers
 Pictures are a good candidate
 Significantly lowers the amount of traffic to back-end systems
 In addition, a reverse proxy can be used
 Automatically cache most requested data
Shaharyar Islam
In-memory databases
 In special circumstances, entire databases can be run from memory
instead of from disk
 In-memory databases are used in situations where performance is crucial
 Real-time SCADA systems
 High performance online transaction processing (OLTP) systems
 As an example, in 2011 SAP AG introduced HANA, an in-memory database for SAP
systems
 Special arrangements must be made to ensure data is not lost when a
power failure occurs
Shaharyar Islam
Scalability
 Scalability indicates the ease in
with which a system can be
modified, or components can be
added, to handle increasing load
 Two ways to scale a system:
 Vertical scaling (scale up) - adding
resources to a single component
 Horizontal scaling (scale out) - adding
more components to the infrastructure
Shaharyar Islam
Scalability – Vertical scaling
 Adding more resources, for example:
 Server: more memory, CPU’s
 Network switch: adding more ports
 Storage: Replace small disks by larger disks
 Vertical scaling is easy to do
 It quickly reaches a limit
 The infrastructure component is “full”
Shaharyar Islam
Scalability – Horizontal
scaling
 Adding more components to the infrastructure, for
example:
 Adding servers to a web server farm
 Adding disk cabinets to a storage system
 In theory, horizontal scaling scales much better
 Be aware of bottlenecks
 Doubling the number of components does not
necessarily double the performance
 Horizontal scaling is the basis for cloud computing
 Applications must be aware of scaling infrastructure
components
Shaharyar Islam
Scalability – Horizontal
scaling
Shaharyar Islam
Load balancing
 Load balancing uses multiple servers that perform identical tasks
 Examples:
 Web server farm
 Mail server farm
 FTP (File Transfer Protocol) server farm
 A load balancer spreads the load over the available machines
 Checks the current load on each server in the farm
 Sends incoming requests to the least busy server

Shaharyar Islam
Load balancing
Shaharyar Islam
Load balancing
 Advanced load balancers can spread the load based on:
 The number of connections a server has
 The measured response time of a server
 The application running on a load balanced system must be able to cope
with the fact that each request can be handled by a different server
 The load balancer should contain the states of the application
 The load balancing mechanism can arrange that a user’s session is always
connected to the same server
 If a server in the server farm goes down, its session information becomes
inaccessible and sessions are lost
Shaharyar Islam
Load balancing
 A load balancer increases availability
 When a server in the server farm is unavailable, the load balancer notices this
and ensures no requests are sent to the unavailable server until it is back
online again
 The availability of the load balancer itself is very important
 Load balancers are typically setup in a failover configuration
Shaharyar Islam
Load balancing
 Network load balancing:
 Spread network load over multiple network connections
 Most network switches support port trunking
 Multiple Ethernet connections are combined to get a virtual Ethernet connection
providing higher throughput
 The load is balanced over the connections by the network switch
 Storage load balancing:
 Using multiple disks to spread the load of reads and writes
 Use multiple connections between servers and storage systems
Shaharyar Islam
High performance clusters
 High performance clusters provide a vast amount of
computing power by combining many computer systems
 A large number of cheap off the-shelf servers can create
one large supercomputer
 Used for calculation-intensive systems
 Weather forecasts
 Geological research
 Nuclear research
 Pharmaceutical research
 TOP500.org
Shaharyar Islam
Grid Computing
 A computer grid is a high performance cluster that
consists of systems that are spread geographically
 The limited bandwidth is the bottleneck
 Examples:
 SETI@HOME
 CERN LHC Computing Grid (140 computing centers in 35
countries)
 Broker firms exist for commercial exploitation of grids
 Security is a concern when computers in the grid are
not under control
Shaharyar Islam
Design for use
 Performance critical applications should be designed as
such
 Tips:
 Know what the system will be used for
 A large data warehouse needs a different infrastructure design
than an online transaction processing system or a web
application
 Interactive systems are different than batch oriented systems
 When possible, try to spread the load of the system over
the available time
Shaharyar Islam
Design for use
 In some cases, special products must be used for certain systems
 Real-time operating systems
 In-memory databases
 Specially designed file systems
 Use standard implementation plans that are proven in practice
 Follow the vendor's recommended implementation
 Have the vendors check the design you created
 Move rarely used data from the main systems to other systems
 Moving old data to a large historical database can speed up a smaller sized database
Shaharyar Islam
Capacity management
 Capacity management guarantees high performance of a
system in the long term
 To ensure performance stays within acceptable limits,
performance must be monitored
 Trend analyses can be used to predict performance
degradation
 Anticipate on business changes (like forthcoming
marketing campaigns)
Shaharyar Islam

More Related Content

PPT
Galera Cluster Best Practices for DBA's and DevOps Part 1
PDF
High Performance Computing: an Introduction for the Society of Actuaries
PPTX
11. operating-systems-part-2
PPSX
Cassandra and Riak at BestBuy.com
PDF
MariaDB Galera Cluster - Simple, Transparent, Highly Available
PDF
Monitoring the ELK stack using Zabbix and Grafana (Dennis Kanbier / 26-11-2015)
PPTX
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
PPTX
NTFS vs FAT
Galera Cluster Best Practices for DBA's and DevOps Part 1
High Performance Computing: an Introduction for the Society of Actuaries
11. operating-systems-part-2
Cassandra and Riak at BestBuy.com
MariaDB Galera Cluster - Simple, Transparent, Highly Available
Monitoring the ELK stack using Zabbix and Grafana (Dennis Kanbier / 26-11-2015)
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
NTFS vs FAT

What's hot (20)

PPTX
10. compute-part-1
PPTX
PDF
Facebook Messages & HBase
PDF
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
PPTX
Gfs vs hdfs
PDF
Imperva CDN Cloud WAF CWAF Basic Security
PPTX
CAP Theorem - Theory, Implications and Practices
PDF
Parquet and AVRO
PDF
Apache Arrow: High Performance Columnar Data Framework
PPSX
LMAX Disruptor as real-life example
PPTX
Off-heaping the Apache HBase Read Path
PDF
Optimizing Hive Queries
PDF
Bloat and Fragmentation in PostgreSQL
PPTX
10. compute-part-2
PPTX
Apache Tez: Accelerating Hadoop Query Processing
PDF
Google Spanner
PDF
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
PDF
Cassandra overview
PDF
The Google Chubby lock service for loosely-coupled distributed systems
10. compute-part-1
Facebook Messages & HBase
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Gfs vs hdfs
Imperva CDN Cloud WAF CWAF Basic Security
CAP Theorem - Theory, Implications and Practices
Parquet and AVRO
Apache Arrow: High Performance Columnar Data Framework
LMAX Disruptor as real-life example
Off-heaping the Apache HBase Read Path
Optimizing Hive Queries
Bloat and Fragmentation in PostgreSQL
10. compute-part-2
Apache Tez: Accelerating Hadoop Query Processing
Google Spanner
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
Cassandra overview
The Google Chubby lock service for loosely-coupled distributed systems
Ad

Similar to Performance Of IT Infrastructure Author Liam Smith (20)

PPTX
05. performance-concepts
PPTX
05. performance-concepts-26-slides
PPTX
Performance testing basics
PPT
Requirment anlaysis , application, device, network requirements
PPT
Distributed information sys
PDF
SCQAA-SF Meeting on May 21 2014
PPTX
Monitoring and Managing Java Applications
PDF
performancetestinganoverview-110206071921-phpapp02.pdf
PDF
L10 Architecture Considerations
PPT
Short reference architecture
PPT
T3 Consortium's Performance Center of Excellence
PPTX
Patterns of enterprise application architecture
PPTX
Performance Tuning
PPT
Software Performance
PDF
Top Down Network Design - ebrahma.com
PDF
Multi Layer Monitoring V1
PDF
Bottlenecks exposed web app db servers
PDF
Capacity Planning for fun & profit
PPT
Cp7101 design and management of computer networks-requirements analysis
05. performance-concepts
05. performance-concepts-26-slides
Performance testing basics
Requirment anlaysis , application, device, network requirements
Distributed information sys
SCQAA-SF Meeting on May 21 2014
Monitoring and Managing Java Applications
performancetestinganoverview-110206071921-phpapp02.pdf
L10 Architecture Considerations
Short reference architecture
T3 Consortium's Performance Center of Excellence
Patterns of enterprise application architecture
Performance Tuning
Software Performance
Top Down Network Design - ebrahma.com
Multi Layer Monitoring V1
Bottlenecks exposed web app db servers
Capacity Planning for fun & profit
Cp7101 design and management of computer networks-requirements analysis
Ad

Recently uploaded (20)

PDF
AI in Product Development-omnex systems
PDF
Digital Strategies for Manufacturing Companies
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
L1 - Introduction to python Backend.pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Introduction to Artificial Intelligence
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPT
Introduction Database Management System for Course Database
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PDF
top salesforce developer skills in 2025.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
AI in Product Development-omnex systems
Digital Strategies for Manufacturing Companies
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Which alternative to Crystal Reports is best for small or large businesses.pdf
L1 - Introduction to python Backend.pptx
VVF-Customer-Presentation2025-Ver1.9.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Introduction to Artificial Intelligence
How Creative Agencies Leverage Project Management Software.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Introduction Database Management System for Course Database
Online Work Permit System for Fast Permit Processing
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms I-SECS-1021-03
Materi-Enum-and-Record-Data-Type (1).pptx
top salesforce developer skills in 2025.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
2025 Textile ERP Trends: SAP, Odoo & Oracle
How to Choose the Right IT Partner for Your Business in Malaysia
ManageIQ - Sprint 268 Review - Slide Deck

Performance Of IT Infrastructure Author Liam Smith

  • 1. IT Infrastructure Architecture (chapter 2) Infrastructure Building Blocks and Concepts Shaharyar Islam
  • 2. Introduction  Performance is a typical hygiene factor  Nobody notices a highly performing system  But when a system is not performing well enough, users quickly start complaining Shaharyar Islam
  • 3. Perceived performance  Perceived performance refers to how quickly a system appears to perform its task  In general, people tend to overestimate their own patience  People tend to value predictability in performance  When the performance of a system is fluctuating, users remember a bad experience  Even if the fluctuation is relatively rare Shaharyar Islam
  • 4. Perceived performance  Inform the user about how long a task will take  Progress bars  Splash screens Shaharyar Islam
  • 6. Performance during infrastructure design A solution must be designed, implemented, and supported to meet the performance requirements  Even under increasing load  Calculating performance of a system in the design phase is:  Extremely difficult  Very unreliable Shaharyar Islam
  • 7. Performance during infrastructure design Performance must be considered:  When the system works as expected  When the system is in a special state, like:  Failing parts  Maintenance state  Performing backup  Running batch jobs  Some ways to do this are:  Benchmarking  Using vendor experience  Prototyping  User Profiling Shaharyar Islam
  • 8. Benchmarking  A benchmark uses a specific test program to assess the relative performance of an infrastructure component  Benchmarks compare:  Performance of various subsystems  Across different system architectures Shaharyar Islam
  • 9. Benchmarking  Benchmarks comparing the raw speed of parts of an infrastructure  Like the speed difference between processors or between disk drives  Not taking into account the typical usage of such components  Examples:  Million Instructions Per Second – MIPS Shaharyar Islam
  • 10. Vendor experience  The best way to determine the performance of a system in the design phase: use the experience of vendors  They have a lot of experience running their products in various infrastructure configurations  Vendors can provide:  Tools  Figures  Best practices Shaharyar Islam
  • 11. Prototyping  Also known as proof of concept (PoC)  Prototypes measure the performance of a system at an early stage  Building prototypes:  Hiring equipment from suppliers  Using datacenter capacity at a vendor’s premise  Using cloud computing resources  Focus on those parts of the system that pose the highest risk, as early as possible in the design process Shaharyar Islam
  • 12. User profiling  Predict the load a new software system will pose on the infrastructure before the software is actually built  Get a good indication of the expected usage of the system  Steps:  Define a number of typical user groups (personas)  Create a list of tasks perform on the new system  Decompose tasks to infrastructure actions  Estimate the load per infrastructure action  Calculate the total load Shaharyar Islam
  • 13. User profiling tasks Persona Number of users per persona System task Infrastructure load as a result of the system task Frequency Data entry officer 100 Start application Read 100 MB data from SAN Once a day Data entry officer 100 Start application Transport 100 MB data to workstation Once a day Data entry officer 100 Enter new data Transport 50 KB data from workstation to server 40 per hour Data entry officer 100 Enter new data Store 50 KB data to SAN 40 per hour Data entry officer 100 Change existing data Read 50 KB data from SAN 10 per hour Shaharyar Islam
  • 14. User profiling Infrastructure load Infrastructure load Per day Per second Data transport from server to workstation (KB) 10,400,000 361.1 Data transport from workstation to server (KB) 2,050,000 71.2 Data read from SAN (KB) 10,400,000 361.1 Data written to SAN (KB) 2,050,000 71.2 Shaharyar Islam
  • 15. Performance of a running system Shaharyar Islam
  • 16. Managing bottlenecks  The performance of a system is based on:  The performance of all its components  The interoperability of various components  A component causing the system to reach some limit is referred to as the bottleneck of the system  Every system has at least one bottleneck that limits its performance  If the bottleneck does not negatively influence performance of the complete system under the highest expected load, it is OK Shaharyar Islam
  • 17. Performance testing  Load testing - shows how a system performs under the expected load  Stress testing - shows how a system reacts when it is under extreme load  Endurance testing - shows how a system behaves when it is used at the expected load for a long period of time Shaharyar Islam
  • 18. Performance testing - Breakpoint Ramp up the load  Start with a small number of virtual users  Increase the number over a period of time  The test result shows how the performance varies with the load, given as number of users versus response time. Shaharyar Islam
  • 19. Performance testing  Performance testing software typically uses:  One or more servers to act as injectors  Each emulating a number of users  Each running a sequence of interactions  A test conductor  Coordinating tasks  Gathering metrics from each of the injectors  Collecting performance data for reporting purposes Shaharyar Islam
  • 20. Performance testing  Performance testing should be done in a production-like environment  Performance tests in a development environment usually lead to results that are highly unreliable  Even when underpowered test systems perform well enough to get good test results, the faster production system could show performance issues that did not occur in the tests  To reduce cost:  Use a temporary (hired) test environment Shaharyar Islam
  • 22. Increasing performance on upper layers  80% of the performance issues are due to badly behaving applications  Application performance can benefit from:  Database and application tuning  Prioritizing tasks  Working from memory as much as possible (as opposed to working with data on disk)  Making good use of queues and schedulers  Typically more effective than adding compute power Shaharyar Islam
  • 23. Disk caching  Disks are mechanical devices that are slow by nature  Caching can be implemented i:  Disks  Disk controllers  Operating system  All non-used memory in operating systems is used for disk cache  Over time, all memory gets filled with previously stored disk requests and prefetched disk blocks, speeding up applications.  Cache memory:  Stores all data recently read from disk  Stores some of the disk blocks following the recently read disk blocks Shaharyar Islam
  • 24. Web proxies  When users browse the internet, data can be cached in a web proxy server  A web proxy server is a type of cache  Earlier accessed data can be fetched from cache, instead of from the internet  Benefits:  Users get their data faster  All other users are provided more bandwidth to the internet, as the data does not have to be downloaded again Shaharyar Islam
  • 25. Operational data store  An Operational Data Store (ODS) is a read-only replica of a part of a database, for a specific use  Frequently used information is retrieved from a small ODS database  The main database is used less for retrieving information  The performance of the main database is not degraded Shaharyar Islam
  • 26. Front-end servers  Front-end servers serve data to end users  Typically web servers  To increase performance, store static data on the front-end servers  Pictures are a good candidate  Significantly lowers the amount of traffic to back-end systems  In addition, a reverse proxy can be used  Automatically cache most requested data Shaharyar Islam
  • 27. In-memory databases  In special circumstances, entire databases can be run from memory instead of from disk  In-memory databases are used in situations where performance is crucial  Real-time SCADA systems  High performance online transaction processing (OLTP) systems  As an example, in 2011 SAP AG introduced HANA, an in-memory database for SAP systems  Special arrangements must be made to ensure data is not lost when a power failure occurs Shaharyar Islam
  • 28. Scalability  Scalability indicates the ease in with which a system can be modified, or components can be added, to handle increasing load  Two ways to scale a system:  Vertical scaling (scale up) - adding resources to a single component  Horizontal scaling (scale out) - adding more components to the infrastructure Shaharyar Islam
  • 29. Scalability – Vertical scaling  Adding more resources, for example:  Server: more memory, CPU’s  Network switch: adding more ports  Storage: Replace small disks by larger disks  Vertical scaling is easy to do  It quickly reaches a limit  The infrastructure component is “full” Shaharyar Islam
  • 30. Scalability – Horizontal scaling  Adding more components to the infrastructure, for example:  Adding servers to a web server farm  Adding disk cabinets to a storage system  In theory, horizontal scaling scales much better  Be aware of bottlenecks  Doubling the number of components does not necessarily double the performance  Horizontal scaling is the basis for cloud computing  Applications must be aware of scaling infrastructure components Shaharyar Islam
  • 32. Load balancing  Load balancing uses multiple servers that perform identical tasks  Examples:  Web server farm  Mail server farm  FTP (File Transfer Protocol) server farm  A load balancer spreads the load over the available machines  Checks the current load on each server in the farm  Sends incoming requests to the least busy server  Shaharyar Islam
  • 34. Load balancing  Advanced load balancers can spread the load based on:  The number of connections a server has  The measured response time of a server  The application running on a load balanced system must be able to cope with the fact that each request can be handled by a different server  The load balancer should contain the states of the application  The load balancing mechanism can arrange that a user’s session is always connected to the same server  If a server in the server farm goes down, its session information becomes inaccessible and sessions are lost Shaharyar Islam
  • 35. Load balancing  A load balancer increases availability  When a server in the server farm is unavailable, the load balancer notices this and ensures no requests are sent to the unavailable server until it is back online again  The availability of the load balancer itself is very important  Load balancers are typically setup in a failover configuration Shaharyar Islam
  • 36. Load balancing  Network load balancing:  Spread network load over multiple network connections  Most network switches support port trunking  Multiple Ethernet connections are combined to get a virtual Ethernet connection providing higher throughput  The load is balanced over the connections by the network switch  Storage load balancing:  Using multiple disks to spread the load of reads and writes  Use multiple connections between servers and storage systems Shaharyar Islam
  • 37. High performance clusters  High performance clusters provide a vast amount of computing power by combining many computer systems  A large number of cheap off the-shelf servers can create one large supercomputer  Used for calculation-intensive systems  Weather forecasts  Geological research  Nuclear research  Pharmaceutical research  TOP500.org Shaharyar Islam
  • 38. Grid Computing  A computer grid is a high performance cluster that consists of systems that are spread geographically  The limited bandwidth is the bottleneck  Examples:  SETI@HOME  CERN LHC Computing Grid (140 computing centers in 35 countries)  Broker firms exist for commercial exploitation of grids  Security is a concern when computers in the grid are not under control Shaharyar Islam
  • 39. Design for use  Performance critical applications should be designed as such  Tips:  Know what the system will be used for  A large data warehouse needs a different infrastructure design than an online transaction processing system or a web application  Interactive systems are different than batch oriented systems  When possible, try to spread the load of the system over the available time Shaharyar Islam
  • 40. Design for use  In some cases, special products must be used for certain systems  Real-time operating systems  In-memory databases  Specially designed file systems  Use standard implementation plans that are proven in practice  Follow the vendor's recommended implementation  Have the vendors check the design you created  Move rarely used data from the main systems to other systems  Moving old data to a large historical database can speed up a smaller sized database Shaharyar Islam
  • 41. Capacity management  Capacity management guarantees high performance of a system in the long term  To ensure performance stays within acceptable limits, performance must be monitored  Trend analyses can be used to predict performance degradation  Anticipate on business changes (like forthcoming marketing campaigns) Shaharyar Islam