2. Presentation Format
High availability
Load balancing
The Perfect Match - Apache 2.2 & Tomcat 6.0
Introduction to Horizontal & Vertical Scaling
HA and LB Practical Example
Live Demo
Q&A
3. High Availability Application is deployed in each of
these nodes
Server
Internet
Users
Server enables seamless failover
and state management Nodes
System is always ready and available to serve users.
Tolerates and overcomes faults and continues operating normally
in the event of failure of some of its components.
If the system experiences a failure, it continues to operate
without interruption during the repair process.
4. Load Balancing All these nodes will be used under
heavy load. Work is distributed and
allotted by the server
Server
Request 1
Request 1 Request N
Internet
Request N
Request 2
More Users Distributes work across all nodes
Nodes
Load is distributed evenly across all the available nodes.
The node server ensures no node is overloaded and no node is too
idle.
More nodes can be added without downtime or interruption.
5. The Perfect Match - Apache 2 & Tomcat 6
APACHE 2
HTTP Server
Tomcat 6
Nodes/ Instances
Apache is free & open source. Designed to provide a balance of
flexibility, portability, and performance.
Apache is the first web server software to surpass the 100 million web
site milestone, so its the most-used Web server software package on
the earth.
Tomcat 6 is an open source servlet container developed by the
Apache Software Foundation.
6. Horizontal and Vertical Scaling
Vertical Scaling: (Otherwise known as scaling up) means to add more hardware resources to the same
machine, generally by adding more processors and memory.
• Expensive
• Easy to implement
• Single point of failure
Horizontal Scaling: (Otherwise known as scaling out) means to add more machines into the
mix, generally cheap commodity hardware.
• Cheaper - at least more linear expenditures
• Hard to implement
• Many points of failure and therefore can usually handle
failures elegantly