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
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.
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.
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.
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.
You will have to redesign your system for the cloud.
In your case I would have done it as follows:
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With