Cloud Basics - Scalability and Elasticity

High Scalability / Elasticity

Your ability to increase your capacity based on the increasing demand of traffic, memory and computing power. Cloud offer high scalability which is otherwise not an easy task to achieve using manual approach. The enterprises need to achieve scalability as their number of end user increase, so do their data hits and network traffic. In order to meet the increased requirement for the system, it needs to be scaled. There are two ways of scaling:


Vertical Scaling/ Scaling Up 

It means upgrade to a bigger server or powerful machines. If on-premises, this has to be done manually. you need to buy expensive machines/hardware and software to upgrade the server to host the software components. Cloud manages this automatically and you just have to pay accordingly, you don't have to buy any physical infrastructure, just scale up manually based on your specified conditions (e.g; more than 85% of CPU consumption or 70% of memory consumption etc). Cloud portal has scaling page to accomplish this. If you want scaling to be performed automatically, that can also be managed by cloud.

Horizonal Scaling/ Scaling Out 

Another way of adding more servers of the same size, this means adding more instances of the servers to serve the requests rather than upgrading to the faster machines. Horizontal scaling is usually the cost effective solution but depends on the the system you are hosting as well.

You can achieve this by manually specifying the number of instances and max and min no of instances in cloud. Or leave it to cloud to manage it for you

Click to enlarge the picture


Scaling Down/Scaling In


As the name indicates this can be achieved or managed by cloud automatically depending upon the traffic. and hence your get the optimised and scaled solutions based on your requirements. In On-premises this has to be done manually and requires lots of effort and time. also the systems has to stay down during this process. cloud manages scaling invisibility and end users don't experience any lag or system down time. This is because of the high availability feature mentioned the article High Availability.

High Elasticity 

Your ability to automatically increase or decrease your capacity based on the current demand of traffic, memory and computing power 

Azure VM Scale Sets 

The horizontal scaling is achieved through the underlying infrastructure of VM scale sets. This is automatically increasing or decreasing in response to demand or a defined schedule based on the organization's preference. 
 I will discuss this topic in detail in subsequent posts.

SQL Server Stretch Database 

Dynamically stretch warm and cold transactional data from Microsoft  SQL Server 2016 to Microsoft Azure 

Vertical Scaling is generally hard for traditional architecture so you'll usually 
only see horizontal scaling described with Elasticity. 

For more information about infrastructure used in scalability read about Load Balancer and the High Availability 

Comments

Popular posts from this blog

How to prepare for AZ-204 Developing for Microsoft Azure Certification Exam

Data Annotations in ASP.NET Core