HIGH AVAILABILITY
Since that communication controls our daily lives, the demand of reliable, stable and high-performance infrastructures that designed to serve critical systems and ensures its stability increased; High Availability and scalability are now a must, as high availability is a quality of infrastructure design at scale that addresses the decreasing of downtime, eliminating single point of failure and handling increased system loads.
DATABASE CLUSTERS
KEEP DATABASES CONSISTENT AND AVAILABLE AT ALL TIMES.
Active-passive database clusters offer the accessibility of centralized storage, plus the high availability ensured by failover to redundant hot copies of your data in the event of your active database failing
Read more about database clustering
LOAD BALANCING
KEEP APPLICATIONS AVAILABLE AT ALL TIMES.
Load balancing shares traffic between servers, increasing capacity, improving server performance and providing redundancy with failover in the event of hardware or application failure.
DDOS Proxy
KEEP YOUR SYSTEM PROTECTED FROM DENIAL OF SERVICE ATTACK
During an attack we automatically filter and re-route packets through a special network, ensuring only legitimate traffic actually reaches your server.
Read more about DDOS Proxy
Disaster Recovery
KEEP YOUR DATA AVAILABLE AT ALL TIMES.
Never lose your data by backing up your server contents through ArabHosters backup services, you can have your private space and can restore it anytime you desire. Backing up your data will allow you to restore your website in minutes in case of any data loss.
Read more about Disaster Recovery
Use Case: Good for setting up an application quickly, as it is the simplest setup possible, but it offers little in the way of scalability and component isolation.
PROS
- Simple
CONS
- Application and database contend for the same server resources (CPU, Memory, I/O, etc.) which, aside from possible poor performance, can make it difficult to determine the source (application or database) of poor performance
- Not readily horizontally scalable
Use Case: Good for setting up an application quickly, but keeps application and database from fighting over the same system resources.
PROS
- Application and database tiers do not contend for the same server resources (CPU, Memory, I/O, etc.)
- You may vertically scale each tier separately, by adding more resources to whichever server needs increased capacity
- Depending on your setup, it may increase security by removing your database from the DMZ
CONS
- Application Server without failover may cause bottleneck of failures
Use Case: Useful in an environment that requires scaling by adding more servers, also known as horizontal scaling.
PROS
- Enables horizontal scaling, i.e. environment capacity can be scaled by adding more servers to it
- Can protect against DDOS attacks by limiting client connections to a sensible amount and frequency
CONS
- The load balancer is a single point of failure; if it goes down, your whole service can go down. A high availability (HA) setup is an infrastructure without a single point of failure.
Use Case: Useful in an environment with content-heavy dynamic web applications, or with many commonly accessed files.
PROS
- Increase site performance by reducing CPU load on web server, through caching and compression, thereby increasing user capacity
- Can be used as a reverse proxy load balancer
- Some caching software can protect against DDOS attacks
CONS
- Requires tuning to get best performance out of it
- If the cache-hit rate is low, it could reduce performance
Use Case: Good for increasing the read performance for the database tier of an application.
PROS
- Improves database read performance by spreading reads across slaves
- Can improve write performance by using master exclusively for updates (it spends no time serving read requests)
CONS
- The application accessing the database must have a mechanism to determine which database nodes it should send update and read requests to
- Updates to slaves are asynchronous, so there is a chance that their contents could be out of date
- If the master fails, no updates can be performed on the database until the issue is corrected
This environment still has two single points of failure (load balancer and master database server), but it provides the all of the other reliability and performance benefits that were described in each section above.