Thursday, July 16, 2020

AWS Lambda VS Azure on Serverless Functions

FeaturesAWS Lambda   AzureRemarks
 PricingAWS Charges additional for the data transfer between Lambda and its storage devices such as S3 and lambda functions - if data moves between cloud regions.

There is NO Fee if the lambda functions and storage devices exists in the same region.

AWS charges high costs for Provisioned concurrency which initalized functions and handle requests more quickly.
Azure does NOT charge for inbound data transfers.
But It does charge for outbound Data Transfer from one data center to another cloud region.


AZURE offers similar features for who signup for premium plan.

Organizations uses multiple cloud regions find azure is more effective. Because it does NOT charge for inboud.
Both cloud providers charge their serverless users based on the amount of memory that their functions consume and the number of times the functions execute.                         
Programming 
Language 
Support
Lambda supports GO and Ruby.

Lambda cusom routines uses BINARY Files to support any langauges.
Azure also supports Javascript and Typescript.

Azure rely on HTTP  primitives to support any langauges.
Serverless Applications can support many languages. Both supports c#, Java, Python  and  Powershell    .

Its possible to support ANY LANGUAGE by using Lambda custom routines or Azure Custom Function handlers.  
            
Deployment ModelsAWS Lambda deploys all functions in the Lambda environment on servers that run Amazon Linux.

Lambda functions can interact with other services on the AWS cloud or elsewhere in a variety of ways, but function deployment is limited to the Lambda service.
Azure Functions users can deploy code directly on the Azure Functions service.

But they can also run software inside Docker containers, which gives programmers more control over the execution environment. Azure Functions works with Dockerfiles that define the container environment.

These functions packaged inside Docker containers can also be deployed to Kubernetes, through an integration with Kubernetes Event-driven Autoscaling.

Azure Functions also offers the option to deploy functions to either Windows or Linux-based servers. In most cases, the host operating system should not make a difference.

However, if your serverless functions have OS-specific code or dependencies, such as a programming language or library that runs only on Linux, this is an important factor.

Azure Functions is more flexible and complex in another area too: how users deploy serverless functions as part of a larger workload.