Having a solution available in public usually means you need to deploy and keep it working “somewhere”. Nowadays “somewhere” is very often a cloud environment. It is a flexible solution, where you can start small and increase the capacity as your business grows. However, despite what kind of system you own, you need to make it highly available so users can rely on it.

Cloud environments make it possible to build reliable systems, but it doesn’t mean that clouds themself are immune to failures. It doesn’t work that way. You need to be aware and make your system ready to deal with failures, rather than believing that all cloud components you use are always available.

Let’s go through the main cloud concepts that are crucial to making your systems highly available.

Scaling

Image for post

Vertical vs horizontal scaling (image by Author, using monitor image by 1117826 on Pixabay).

Making your system ready for changing load and keeping the minimal needed capacity is a way of ensuring high availability. When you start small a big load is not an issue, however, using cloud mechanisms like scale sets is still a good idea. They can keep the minimal number of virtual machines your system needs to be up. In case of unexpected events like a machine being taken down, the scale set rule should spin up a new instance for you. There are two main kinds of scaling, horizontal scaling, and vertical scaling.

#devops #cloud-computing #software-architecture #technology #software-development

3 High Availability Cloud Concepts You Should Know
1.10 GEEK