Cloud Bursting with the Rise of Private Cloud
Somnath Shukla
Digital Transformation Expert | Intelligent Edge | IoT | Data & AI Specialist
With the rise of Private Cloud there is again the discussion how to utilize/ optimize the Capex in enterprise private cloud. Private Cloud is need of the house based on different requirment specially the data locality and full control over the cloud. Though almost all the Private Cloud Provider support the scale you can start from two node cluster and scale based on your need. But this scale is not going to as instantaneously as in Public Cloud. Off course it require the hardware and that may take some time may be a month. Even though you can plan your capacity but bottom line is it is going to take some time to scale your private cluster. This is one scenario and there are many more apps which only need to scale once in a year e.g. results.
So what is Cloud Burst and how it is going to help?
Cloud Bursting is a process which will help your workload to run from private and public cloud on demand basis.
Next step is to identify which workload can be run on public cloud. If your all the work load can be run on public cloud then it means you dont need a private cloud in first place and use the public cloud itself.
I think identifying the work load is most important part in cloud bursting solution design.
Let say a workload has three component compute, database and supporting services. I think we can move the compute to public cloud and use still access the database and supporting service from on- premise using cloud express.
One the question is Latency that can be solved using caching and this where application design comes in to the picture.
Let see how the flow works and what are the component used.
This is the typical flow and it is how request will served to the end user.
Now let say the CPU uses for the on-premise work load is more than 80% or any other Trigger condition.
领英推荐
We can write more intelligent function e.g. if there is more utilization on-premise then it will keep adding the weight of cloud end point.
IN case my on-prese utilization goes down it will trigger the Azure Functions again which in turn will disable the cloud endpoint and going forward all the request will be served by the On-Premise Load balancer only.
var tm= armClient.GetTrafficManagerEndpointResource(new ResourceIdentifier("/subscriptions/.."))
tm = await tm.GetAsync();
tm.Data.EndpointStatus=TrafficManagerEndpointStatus.Enabled;
tm.Update(tm.Data);;
Enable/Disable Traffic Manager End point
ArmClient armClient = new ArmClient(new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = "" } ))
// Now we get a ResourceGroupResource collection for that subscription
var scalset=armClient.GetAutoscaleSettingResource(new ResourceIdentifier("/subscriptions/.."));
scalset=await scalset.GetAsync();
scalset.Data.Profiles[0].Capacity.Minimum=1;
scalset.Data.Profiles[0].Capacity.Default=1;
AutoscaleSettingPatch patch = new AutoscaleSettingPatch()
? ? ? ? ? ? {AutoscaleSettingName=scalset.Data.AutoscaleSettingName,
? ? ? ? ? ? IsEnabled=scalset.Data.IsEnabled,
? ? ? ? ? ? Notifications=scalset.Data.Notifications,
? ? ? ? TargetResourceId=scalset.Data.TargetResourceId,
? ? ? ? TargetResourceLocation=scalset.Data.TargetResourceLocation,
? ? ? ? ?? ? ? ? Profiles = ? { ? ?scalset.Data.Profiles[0] }
? ? };
scalset.Update (patch);;
Update Azure Auto Scale
Solutions Architect
1 年Nice! You could add data replication from edge to cloud and Azure ARC capabilities in your next article.