Azure Function & Azure Kubernetes Service
Azure Function is Microsoft FaaS Offering, also referred as Serverless Computing Model. It means No Azure function Workload is running and is not bound to any compute resource. Due to this reason, it does not cost anything and is free as long as you run in consumption mode and stay under 1,000,000 execution and 400,000 giga second of compute.
As soon as Azure Function is invoked/triggered, Scale controller notifies Azure function that it has some work to perform, which result, real time provisioning of compute capacity, configuration of compute resource and execution of Azure Function code, that you have deployed.
Below figure explains, how Scale controller is monitoring, support message source, when one arrives, it spins up VM, configure it, puts the code on the VM.
There are two ways to, which can make Azure function invocation faster. One method is to deploy your code in something called run from package. In this you publish your code in ZIP file. Now when the code is deployed to VM, it happens faster than you have many files in an uncompressed form. The run from package is enabled using an App Setting.
Second ways to reduce latency with the first Azure function invocation after a shutdown is to not let it shutdown in the first place. In this method, you need to run on dedicated mode with premium hosting plan instead of consumption. When running in dedicated mode or premium mode, there is a general configuration setting named “Always ON “, which keep Azure function warm by disabling the 20-minute timeout threshold.
There are two hosting plans, available in Azure Function. Consumption mode or Dedicated Mode. On another plan, which is still in preview mode is called Premium.
Consumption plan is said to be serverless model and is not having fixed cost, where Dedicated or Premium plan has fixed cost. In Dedicated or Premium plan, there is existence of Scale controller, and in dedicated mode scaling capabilities exits in Azure APP Service. Whereas in consumption or premium mode, the scale computer manages the scaling out and in of compute resource based on numerous intellectual property algorithm and concepts.
Below table explains different hosting plans and its limits.
A Runtime is an in-memory set of supporting code that helps the management and execution of the custom application running within it. From an Azure Function point of view : there are three versions of runtime : version 1 , version 2, version 3.