How rewiring the architecture of a website builder helped a software company boost the system performance under high load and maintain 99,95% availability.
Home Success stories Online Website Builder For a Software Company
Online website builder Saitodrom required new software and hardware architecture to support growth requirements. Old platform couldn’t handle increased number of users, websites and huge traffic.
High performance under high load
Easy-to-Scale solution to support further growth
High availability (99,95% SLA)
Other crucial requirement included preserving the core architecture based on Java.
The old platform was single host oriented and reached its maximum capacity. The new platform should be based on a distributed architecture to meet load requirements and should be highly available with downtimes avoidance.
The main challenges:
Proxmox Cluster is built on 3 physical hosts and ensures high availability functioning of virtual
machines. If the physical host fails the virtual machines running on it are automatically started on one of the remaining cluster nodes
Highly available shared storage is built on 2 physical hosts using DRBD, heartbeat and NFS technologies. Only one host acts as an active storage providing read/write access to data that is replicated to the second passive host by using DRBD. If the active host fails it is detected by hearbeat and access to the storage is switched to passive host transparently
Highly available database is organized by using two physical hosts and MySQL cluster with replication. Interaction with database is performed through HAProxy that provides access to and checks availability of the master database. If the master database fails HAProxy automatically switches to the second database
To support increasing number of users instinctools has built application cluster based on Nginx load balancer and Tomcat web servers. Nginx is used as a high performance reverse proxy, HTTP cache and load balancer. It is based on event-driven, asynchronous architecture that makes it fast, lightweight and robust under high load
The following features of Tomcat Cluster help to avoid downtime:
To ensure overall high availability of the system:
New scalable and fault-tolerant platform allowed the customer to:
Hardware infrastructure was implemented by using Hetzner hosting provider.