When we designed our Revive Adserver hosting platform, we focused on high volume combined with high availability. That resulted in an architecture where all components have at least two devices for automatic fail over.
Architecture of our Revive Adserver Hosting platform
The architecture consists of separate layers that each have their own specific tasks. The diagram shows how these layers and components interact.
The design is based on the principle that tasks with specific characteristics should be handled by servers that are most suitable for those tasks. That’s why we distinguished between database servers, PHP servers and image servers.
By using at least two and often more devices for each of the essential elements of the platform, we have established redundancy. In the event of a technical issue with one component, there is always at least one other component that can take over.
In addition to this, scalability is ensured because parts of the platform that produce processing power consist of multiple components that work in parallel. We can add more of them when the demand for processing power increases.
You will find a more detailed description of each of the components of our Revive Adserver hosting platform below.
High availability database servers
The bottom layer of the platform consists of two powerful database servers. Data is permanently being synchronized between the two servers, and as a result, they can take over from each other within an instant. The database servers monitor each other permanently. If it is found that one of them doesn’t respond or is too slow, the IP address of the failing database server is automatically and immediately transferred to the other database server. The virtual servers in the layer above can therefore always connect to a fully functional database server. In the event of a technical issue, technicians will be alerted, to investigate and fix the issue. As soon as the server is functioning again, it will be placed back into the platform and the data will be synchronized again. Once that’s complete, both servers are available again and the IP address will be transferred back to the original server.
High volume PHP servers (delivery nodes)
The second layer consists of multiple virtual servers that handle all request for ads. Each of the virtual delivery servers connects to the databases servers in the lower layer, using the high availability mechanism described in the previous paragraph.
All virtual PHP servers are identical clones. Depending on the demand for processing power, virtual servers will be added or removed. This enables us to adjust the capacity of the platform quickly and easily.
These virtual PHP servers have been configured for optimal performance of the PHP programming language used by Revive Adserver. We’ve employed techniques like Memcached and PHP acceleration.
High capacity PHP server (management node)
Staff that log in on Revive Adserver to manage campaigns and view statistics use a separate virtual server. This server als performs the hourly ‘maintenance process’. Since this process involves large calculations in big Revive Adserver installations, the management node has extra memory available.
High volume Apache servers (image nodes)
The second layer also has a number of virtual servers with just the task of serving all images (including Flash ads). The images that are uploaded through the Revive Adserver user interface on the management node are copied over to all images nodes automatically. These virtual servers have been configured specifically to be able to handle images at high speed. They are actually relatively simple servers running the Linux operating system and an Apache web server. Here we can also add more capacity easily, since all image nodes are identical clones.
The third layer consists of so called ‘load balancers’, these distribute the work over the available virtual servers. All load balancers have double devices and the monitor each other to ensure that any technical issues will be noticed immediately.
When the load balancer notices that one of the virtual delivery nodes is not working correctly, it will be removed from the platform, so that the virtual server can be fixed. Usually this will happen automatically by rebooting, but a technician can always be called in. When the load balancer sees that the virtual server is back online, it will be added to the platform again.
Monitoring and notifications
All servers and devices are constantly being monitored by a system based on the Nagios software. In case of any problems, technicians will be alerted via e-mail and text messages. We also use an external service called Pingdom to monitor connectivity and response times from dozens of locations around the world. Technicians are on standby 24/7.
In addition, we measure and graph all components of the platform continuously using Cacti.
If you want to use Revive Adserver in your company, it is vital to have a reliable hosting partner
We’ve formed a close partnership with Aqua Platform, a company specializing in large scale, high availability, hosting services for advertising.
Starting as low as $30 per month, you can have your Revive Adserver hosted at Aqua Platform.Revive Adserver Hosting by Aqua Platform