Every business must protect its positive public image and improve it. A key role for that is surely played by the outage of its service. In the digital era that is measured by the uptime (or the lack of downtime) and connectivity to services over the Internet. This might be something as trivial as your website being online, your email provider/server successfully accepting messages, or a complex system operating with a lot of end users not slowing down. Whatever the digital service is, the aim should always be a single word description. Uninterruptible. Or at least very close to that.
With developments in the last decade and the migration from real hardware to virtual environments by cloud and hosting providers, this state of constant availability seems granted by default. However, this is not always the case. Yes, virtual environments are quite easy to move, copy, add/remove resources to, and so on, compared to hardware. Still, there are cases where this constant availability have to be guaranteed explicitly. To name a few:
- Unexpected genuine (peak) high traffic
- Growing traffic and client base
- (Distributed) Denial of service attack
- Lack of server resources (i.e. side effect of caching or bad software design)
- Planned maintenance
- Migration of underlying service (provider)
A simple increase of resources (vertical scaling) might fix some of those problems. However, this does not solve the real problem - there is a single point of failure. The right solution for some of the mentioned cases usually is scaling horizontally - deploying multiple copies of the service. Sometimes this is not straight-forward.
Usually the terms high-availability, load balancing and scalability are used interchangeably, however there are some differences in the exact technical implementation. What solution should be deployed highly depends on the software used and the business requirements.
Do you have a service that needs scaling?
Do you need a consultation regarding high-availability and load-balancing?
Read more about how we proceed with consultations.