Bulletproof WebSphere Architectures
Tony Higham, CTO
Rare Medium
What We’ll Cover
Application Architecture Scalability and reliability
Integrating Domino and WebSphere WebSphere V4 software architecture A typical development architecture An example production architecture
Where to Learn More
What is Application Architecture
An application architecture is ... An application run-time environment
(the stuff on which applications run) Hardware, software, networking, etc.
Why should you care about architecture? Success or failure of your applications
depends upon it A well-designed application will run poorly
on a poorly-designed architecture
Application Architecture Goals
A good application architecture provides An application environment that is easily
extensible to provide more computing power as the number of users increases
An application environment that is resilient to hardware and software failure
Use scalable and reliable technologies to meet these architectural goals
Achieving Scalability
Design the architecture to use vertical and/or horizontal scaling Vertical scaling with server software
• Running multiple instances of server software on a single machine
Horizontal scaling with server software• Running multiple machines, each with a
single instance of the server software Both horizontal and vertical, combined
Vertical and Horizontal Scaling
{ }Vertical Scaling
Horizontal Scaling
Machine A4 CPUs, 2 Gbytes RAM
Machine B2 CPUs, 1 Gbyte RAM
Machine C2 CPUs, 1 Gbyte RAM
Server E
Server F
Server G
Server H
Server A
Server B
Server C
Server D
Why Use Vertical Scaling?
A single server instance rarely uses the maximum capacity of a machine Software packages have different limits
• Domino R4.6 uses maximum +/- 750 MB RAM Use multiple instances to exploit the
available CPU and memory resources Beware of vertical scaling tradeoffs
Does not meet reliability goals Performance improvement is not linear
Why Use Horizontal Scaling?
More reliable than vertical scaling Removes single point of failure
Offers the best scaling performance Performance improvement is near linear The more systems you add, the faster it is
Biggest tradeoff is cost One server per machine is costly Best combined with vertical scaling
Achieving Reliability
Hardware reliability is often achieved with redundant CPUs, hot-swap drives, etc. Combines with software redundancy to
remove all single points of failure Software redundancy services provide
Even distribution of work over servers• Reduces likelihood of failure due to high load
Redirection of user requests to other servers in the event of server failure
Designing an Application Architecture
Architecture design is a tradeoff between Scalability Performance Reliability Cost
You decide which tradeoffs make sense Performance and reliability needs Available budget for hardware/software
Integrating Domino and WebSphere
Integration occurs at the HTTP layer Domino HTTP server, or Microsoft IIS Web server
Domino and WebSphere single sign-on WebSphere ships with SecureWay
Directory, which Domino can use (LDAP) WebSphere can use the Domino directory
when it's LDAP-enabled Single sign-on works in Domino R5.05
WebSphere V4 Software Architecture
Application Server
Javaservlet
ccJSPpage
JSPengine
EJB
DatabaseServer
AdministrationRepository
Administrator's Console
Web Browser
HTTP
Administration Server
Embedded HTTP Server(Port 9080)
HTTP Server
HTTP
HTTPSWAS
Plug-In
ApplicationDatabase
WebSphere Advanced Edition
Typical Development Architecture
Browser
HTTP
TCP/IP
firew
all
Domino R5 Server
NSFEngine
HTML
DominoDatabase
WebSphere Server
Servlet JSPEngine
DatabaseServer
WASPlug-in
TIER 1 TIER 2
EJBEngine
RelationalDatabase
HTTP
TCP/IP
LegacySystem
Machine A
HTTPEngine Legacy
Integration
Analysis of the Development Architecture
Issues with this architecture If the machine fails, you're out of business Domino HTTP server has known issues
• Performance, agents causing HTTP server crashes, etc.
How to improve this architecture Use machines dedicated to specific tasks Use a scalable and reliable HTTP server
• HTTP server must integrate with Domino and WebSphere
Example Production Environment
Browser
HTTP
TCP/IP
firewall
TIER 1 TIER n
LegacySystem
HTTPLoad
Splitter
firewall
TIER 2
WebSphereAdvanced
1
DatabaseServer
WebSphereAdvanced
2
HardwareClustering
Domino Server 1
IIS Server
Plug-In
Domino Server 2
IIS Server
Plug-In
Domino Server 3
IIS Server
Plug-In
Domino Server 4
IIS Server
Plug-In
Benefits and Tradeoffs
Benefits of this architecture IIS has proven scalability and reliability Improved security with second firewall Hardware clustering removes single
point of failure for database server Tradeoffs with this architecture
IIS is the only other Web server that Domino and WebSphere can share
• IBM HTTP Server (Apache) is not available!
Where to Learn More
SearchDomino.com Admin2002 Conference
Detailed follow-on session with live demo Fully documented procedures on CD May 1 – 3 in Boston (see www.eview.com)
Articles in The View magazine Ariticles in WebSphere Advisor magazine The ITHumans Web site
www.ithumans.com [email protected]
Questions?
•Submit your questions now by clicking on the “Ask A Question” button in the bottom left corner of your presentation screen.
Top Related