Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How exactly does Azure provides scaling?

Tags:

c#

.net

cloud

azure

this is a novice question regarding Azure and general cloud technology.

I am trying to understand how exactly the Azure platform will scale my application and do I need to do anything for it to perform well.

I have an application (C#) that process incoming data and is composed of many classes. Each time a relevant calculation is needed, a new class is instantiated and sits in memory until it finishes its work, then it stays there and listens for new calculation requests via events (until explicitly being disposed of). Of course, this consumes resources. The application might have tenth and hundred of thousands of those instances listening and answering calculation requests.

Question is, will the cloud just grow my environment resources as new instance are loaded, until when? Will there be a moment where I can't start new instances, or current instances calculations is overloading the system? I don't care about it from the budget side, only from the operational one: Will the cloud be capable of seamlessly manage it in my behalf or do I need to do anything else in my code?

Thank you

like image 243
Saul Avatar asked Feb 08 '11 20:02

Saul


People also ask

How is Azure scaling done?

Instance is created each time a web app is deployed. Creating the instance means assigning a server to that application. Increasing the instance means adding up the servers assigned to that application. The scaling is done by creating more instances which is called scaling out.

How does an Azure scale set work?

Microsoft Azure VM Scale Sets are groups of individual virtual machines (VMs) within the Microsoft Azure public cloud that information technology (IT) administrators can configure and manage as a single unit. Administrators can use Azure VM Scale Sets to deploy complete services, rather than duplicate the same VMs.

How does scalability on Azure work?

Scalability is the ability of a system to handle increased load. Services covered by Azure Autoscale can scale automatically to match demand to accommodate workload. These services scale out to ensure capacity during workload peaks and return to normal automatically when the peak drops.

Does Azure offer auto scaling?

Azure App Service has built-in autoscaling. Autoscale settings apply to all of the apps within an App Service. See Scale instance count manually or automatically and Scale up an app in Azure App Service. Azure Cloud Services has built-in autoscaling at the role level.


1 Answers

You will have to redesign your system for the cloud.

In your case I would have done it as follows:

  • A set of web roles to receive calculation requests via a web service
  • The web role would write the calculation request to a queue
  • Then a set of worker roles to poll the queue and do the calculations

In your configuration you can set the number of worker roles to 1 or 100. A minute (or atleast a very short time) after you change the config you have the number of machines requested.

You can also do things like increasing the number of worker roles if the queue grows too long.

like image 172
Shiraz Bhaiji Avatar answered Sep 25 '22 08:09

Shiraz Bhaiji