Sonntag, 8. Juni 2014

High Availability vs. Scalability

Ever wondered about the difference between high availability (HA) and 
scalability? For me, scalability has always something to do with clustering, where HA is a part of by design.

Man - Am I wrong!

Since I'm a visual addicted person, let's draw an example


Joe is using my application, which is clustered for load balancing reasons. So if one node of my cluster fails, automatically another one will do the work.

That's great, because I got a scalable application by simply adding nodes to my cluster. But is Joe happy too?


Nope. Joe browsed my web shop half an hour, when one of my nodes failed. Joe gets angry about, because he lost his shopping basket and needs to start over.

That's why I did lots of research and configuration work by adding inter node communication to my cluster to make Joe happy again. Now Joes non persistent information such as sessions are shared between nodes. And now my cluster has real high availability functionality implemented besides normal scalability features.



Sounds simple? It's not! In particular adding HA features is a bunch of work depending on your applications features and complexity. And it's much more than just running your application on multiple server instances. And we didn't even talk about the database backend your application relies on.

Adding load balancing in best case involves operations staff only. Adding HA definitely involves operations and software developers - the beginning of a premium DevOps project. Read my DevOps blog post (German language only)

Keine Kommentare:

Kommentar veröffentlichen