Cold Fusion High Availability “Taking It To The Next Level” Presenter: Jason Baker, Digital North Date:
About the Presenter: 7 years of Cold Fusion development experience Participated in the development of 100+ Cold Fusion websites 10 years of Webhosting/ ISP/ Telecommunications experience Co-Founder and Director of Operations for Digital North
About Digital North: Business Class Hosting Provider since 2001 Shared and Dedicated Hosting, Colocation, Managed Services 3 Data Centers: Agiliti, Inflow, Visi Windows, Linux, IIS, Apache, MS SQL, Load Balancing, Firewalls, Cold Fusion , Flash Remoting We serve over 1,000 business customers
What is High Availability? High Availability (HA) web applications provide maximum uptime while minimizing risks associated with service failures. We need to think about the Datacenter, Network, Server, OS, Application, People Risks: Architecture changes, Business process changes, Cost Rewards: Better uptime, faster websites, happy customers
HA Infrastructure Requirements Environment Is Everything Physical service location Climate control Physical security – protection from yourself Power backup and redundancy Multiple upstream providers Local network redundancy Fire suppression
HA Webserver Requirements Server-class machine Redundant power supplies Redundant Array of Independent Disks (RAID) Network storage Redundant network access Latest Firmware updates
HA OS & Application Requirements Hardened OS: Windows, Linux, Sun Security and performance tweaks Virus Protection Firewall Protection Intrusion Detection Data Backup – Onsite and Offsite Service Monitoring Cold Fusion Security Best Practices Macromedia Security Zone:
What is Load Balancing? Load Balancing is using multiple webservers to maximize service performance and minimize service failures. 2+ servers can handle more requests or handle current requests faster 2+ servers minimize risks associated with hardware failure, OS failure, Cold Fusion failure
Load Balancing Techniques DNS Round-Robin: El Cheapo Method Software Load Balancing: The Heartbeat Cold Fusion MX for J2EE: Multiple Instances Application Isolation ColdFusion Development Center: Cold Fusion Distributed Mode Hardware Load Balancing
Hardware Load Balancing Network Architecture Server failover: one server takes the load of two servers Load balancing algorithms: Round Robin, Least Used, Fastest Response Sticky sessions Service monitoring agents Active Content Verification INTERNET Load Balancing Switch Webserver #1Webserver #2
Cold Fusion Development Issues Best case scenario: Cold Fusion installation is identical on multiple servers Store Cold Fusion session information in a database!! (Common problem) Beware of local databases (MS Access) Beware of writing to local disk (uploads), memory, or registry Use replication to deploy application Create a clustered development environment to properly test
Additional Design Issues Load balanced applications could share similar failure points Recognize issues related to applications sharing a common database SSL requirements: same key on each server or SSL proxy on hardware Logfile analysis tools need to handle multiple logs Stress test your applications in a load balanced environment
Hardware Load Balancing Costs Costs for an entry-level solution (2 servers, < 1000 simultaneous connections, 5-10 Mb/s bandwidth) Hardware: 2 – Dell/HP/IBM Servers$6,000 1 – Load Balancing Switch$5,000 Software: 2 – MS Windows 2000$1,500 2 – Cold Fusion MX$2,500 1 – File Replication $1,000 Labor:8 hours$1,000 Total: $17,000
Questions? Thank you!