High availability is defined as a website or web service that is aimed to be available with 100 % uptime. The emphasis will be on clustering, load balancing, distributing the clusters geographically. Before configuring such a system, it is essential to keep in mind on the following factors
2. Hardware / Software
3. Back Up
4. Geographical Distribution of servers
5. Type of content that is delivered
6. User Base
Firewall: Traffic from the internet is analyzed and filtered via CISCO Pix firewall. The max sessions and thorough put of the firewall is designed based on the user base and scalability required in the future.
Intrusion Detection System: This works in addition to firewall in analyzing requests and posts in user applications. Live intrusion detection systems help in mitigating attacks that are targeted towards the user application rather than other components such as web server, OS etc.
Load Balancers: This is primarily to distribute load among the nodes in the cluster. Web / Apps servers in particular.
Web/Apps Servers: This is a fully scalable cluster of web and apps servers. It is designed in such a way that a new node can be added to the cluster on the fly without any down time. Apps server hardware is designed in such a way that turbo power is available in case of unexpected spike in user or resource usage.
Gigabit Private Network: The Web / Apps server connects to the database server via private network. Connectivity with gigabit speed makes the access to database cluster as if it is on the same machine without any latency.
Database Clusters: No direct connection to the database server is allowed except from the application layer. Database clusters are high end monster servers with RAID 10 minimum configuration and multicore turbo processors.
Backup: Fully scalable NAS / Storage Cloud.
Note : The above schema is a typical sample of a high performance configuration.
Certain components can be added or removed based on the customer’s input.