Need advice about which tool to choose?Ask the StackShare community!

Azure Functions

664
689
+ 1
62
Serverless

1.3K
1.2K
+ 1
26
Add tool

Azure Functions vs Serverless: What are the differences?

Introduction Azure Functions and Serverless are two popular cloud computing platforms that provide the ability to run code in response to events without the need for managing infrastructure. While both Azure Functions and Serverless offer similar functionality, there are several key differences between the two.

  1. Deployment Environment: Azure Functions is a service provided by Microsoft Azure, while Serverless is a framework that can be used with various cloud providers including Azure. This means that Azure Functions is tightly integrated with Azure's infrastructure, while Serverless provides a more agnostic approach, allowing developers to use it across multiple cloud platforms.

  2. Supported Languages: Azure Functions offers support for multiple programming languages, including C#, Java, JavaScript, TypeScript, and Python. In contrast, Serverless has broader language support and can be used with languages such as Node.js, Python, Java, C#, Ruby, Go, and more. Serverless offers a wider range of choices for developers in terms of programming languages.

  3. Scalability: Both Azure Functions and Serverless are designed to provide automatic scalability. However, Azure Functions scales on a per-function basis, which means that each function can scale independently based on its specific workload. Serverless, on the other hand, scales at the service level, allowing multiple functions within the service to scale together. This can provide more efficient scaling in situations where multiple functions share similar resource requirements.

  4. Pricing Model: Azure Functions pricing is based on the consumption plan, where users are billed for the resources used during the execution of their functions. On the other hand, Serverless offers more flexibility in pricing options, allowing users to choose between on-demand pricing or reserved capacity pricing. This gives users the ability to optimize costs based on their specific usage patterns.

  5. Extensibility: Azure Functions allows developers to extend the platform by creating custom bindings and triggers. These custom extensions can be used to integrate with external services and resources. Serverless also supports extensibility through plugins, which can be used to add functionality and integrations with various services. However, Serverless has a larger and more active community of plugin developers, providing a wider range of options for extending the platform.

  6. Vendor Lock-in: Both Azure Functions and Serverless provide some level of vendor lock-in as they are both cloud platform-specific. However, Serverless offers more flexibility in terms of deployment options, allowing developers to switch between different cloud providers more easily. Azure Functions, being a service provided by Microsoft Azure, ties users more closely to the Azure ecosystem.

In Summary, Azure Functions and Serverless offer similar functionality in terms of running code in response to events, but differ in deployment environment, supported languages, scalability model, pricing, extensibility options, and level of vendor lock-in. The choice between the two platforms depends on specific requirements such as language preferences, desired scalability model, pricing flexibility, and integration needs.

Advice on Azure Functions and Serverless

Need advice on what platform, systems and tools to use.

Evaluating whether to start a new digital business for which we will need to build a website that handles all traffic. Website only right now. May add smartphone apps later. No desktop app will ever be added. Website to serve various countries and languages. B2B and B2C type customers. Need to handle heavy traffic, be low cost, and scale well.

We are open to either build it on AWS or on Microsoft Azure.

Apologies if I'm leaving out some info. My first post. :) Thanks in advance!

See more
Replies (2)
Anis Zehani

I recommend this : -Spring reactive for back end : the fact it's reactive (async) it consumes half of the resources that a sync platform needs (so less CPU -> less money). -Angular : Web Front end ; it's gives you the possibility to use PWA which is a cheap replacement for a mobile app (but more less popular). -Docker images. -Kubernetes to orchestrate all the containers. -I Use Jenkins / blueocean, ansible for my CI/CD (with Github of course) -AWS of course : u can run a K8S cluster there, make it multi AZ (availability zones) to be highly available, use a load balancer and an auto scaler and ur good to go. -You can store data by taking any managed DB or u can deploy ur own (cheap but risky).

You pay less money, but u need some technical 2 - 3 guys to make that done.

Good luck

See more

My advice will be Front end: React Backend: Language: Java, Kotlin. Database: SQL: Postgres, MySQL, Aurora NOSQL: Mongo db. Caching: Redis. Public : Spring Webflux for async public facing operation. Admin api: Spring boot, Hibrernate, Rest API. Build Container image. Kuberenetes: AWS EKS, AWS ECS, Google GKE. Use Jenkins for CI/CD pipeline. Buddy works is good for AWS. Static content: Host on AWS S3 bucket, Use Cloudfront or Cloudflare as CDN.

Serverless Solution: Api gateway Lambda, Serveless Aurora (SQL). AWS S3 bucket.

See more
Decisions about Azure Functions and Serverless

When adding a new feature to Checkly rearchitecting some older piece, I tend to pick Heroku for rolling it out. But not always, because sometimes I pick AWS Lambda . The short story:

  • Developer Experience trumps everything.
  • AWS Lambda is cheap. Up to a limit though. This impact not only your wallet.
  • If you need geographic spread, AWS is lonely at the top.
The setup

Recently, I was doing a brainstorm at a startup here in Berlin on the future of their infrastructure. They were ready to move on from their initial, almost 100% Ec2 + Chef based setup. Everything was on the table. But we crossed out a lot quite quickly:

  • Pure, uncut, self hosted Kubernetes — way too much complexity
  • Managed Kubernetes in various flavors — still too much complexity
  • Zeit — Maybe, but no Docker support
  • Elastic Beanstalk — Maybe, bit old but does the job
  • Heroku
  • Lambda

It became clear a mix of PaaS and FaaS was the way to go. What a surprise! That is exactly what I use for Checkly! But when do you pick which model?

I chopped that question up into the following categories:

  • Developer Experience / DX 🤓
  • Ops Experience / OX 🐂 (?)
  • Cost 💵
  • Lock in 🔐

Read the full post linked below for all details

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Azure Functions
Pros of Serverless
  • 14
    Pay only when invoked
  • 11
    Great developer experience for C#
  • 9
    Multiple languages supported
  • 7
    Great debugging support
  • 5
    Can be used as lightweight https service
  • 4
    Easy scalability
  • 3
    WebHooks
  • 3
    Costo
  • 2
    Event driven
  • 2
    Azure component events for Storage, services etc
  • 2
    Poor developer experience for C#
  • 14
    API integration
  • 7
    Supports cloud functions for Google, Azure, and IBM
  • 3
    Lower cost
  • 1
    Auto scale
  • 1
    Openwhisk

Sign up to add or upvote prosMake informed product decisions

Cons of Azure Functions
Cons of Serverless
  • 1
    No persistent (writable) file system available
  • 1
    Poor support for Linux environments
  • 1
    Sporadic server & language runtime issues
  • 1
    Not suited for long-running applications
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Azure Functions?

    Azure Functions is an event driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in virtually any Azure or 3rd party service as well as on-premises systems.

    What is Serverless?

    Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster. The Framework uses new event-driven compute services, like AWS Lambda, Google CloudFunctions, and more.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Azure Functions?
    What companies use Serverless?
    See which teams inside your own company are using Azure Functions or Serverless.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Azure Functions?
    What tools integrate with Serverless?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Azure Functions and Serverless?
    AWS Lambda
    AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security.
    Kubernetes
    Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
    Google Cloud Functions
    Construct applications from bite-sized business logic billed to the nearest 100 milliseconds, only while your code is running
    Cloud Functions for Firebase
    Cloud Functions for Firebase lets you create functions that are triggered by Firebase products, such as changes to data in the Realtime Database, uploads to Cloud Storage, new user sign ups via Authentication, and conversion events in Analytics.
    Apex
    Apex is a small tool for deploying and managing AWS Lambda functions. With shims for languages not yet supported by Lambda, you can use Golang out of the box.
    See all alternatives