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

Fission

27
80
+ 1
3
Serverless

1.3K
1.2K
+ 1
26
Add tool

Fission vs Serverless: What are the differences?

Introduction

Fission and Serverless are two popular serverless computing platforms that allow developers to write and deploy code without worrying about infrastructure management. While they have similar objectives, there are key differences that set them apart. Let's explore these differences in detail:

  1. Scaling: When it comes to scaling, Fission operates on a smaller scale compared to Serverless. Fission allows for granular function-level scaling, meaning only the specific functions that need scaling will be automatically allocated additional resources. In contrast, Serverless operates at a service level, scaling the entire service based on the overall demand.

  2. Resource Allocation: Fission follows an on-demand resource allocation model. It spins up containers only when a function is triggered, ensuring optimal utilization of resources. On the other hand, Serverless maintains a pool of resources, ready to handle requests, resulting in potentially higher costs when resources are underutilized.

  3. Architecture: Fission primarily uses Kubernetes as its underlying infrastructure, making it suitable for environments already leveraging Kubernetes. On the other hand, Serverless utilizes a range of different infrastructure providers, allowing it to be more flexible and compatible with various cloud and on-premises environments.

  4. Programming Languages Support: Fission provides support for multiple programming languages, including Python, Node.js, and Go. It offers a broader range of language options for developers. Serverless, on the other hand, is more focused on JavaScript and Node.js, with limited support for other languages.

  5. Cold Start Performance: Fission generally boasts faster cold start performance compared to Serverless. It achieves this by leveraging a pool of pre-warmed containers for faster function execution. Serverless, though improved, may still experience slightly longer cold start times due to its architecture.

  6. Function Deployment: When it comes to deploying functions, Fission offers the ability to directly deploy code as a source file, making it easier to develop and iterate on code quickly. Serverless, on the other hand, typically requires packaging code and dependencies into a deployment package before deployment, which can add additional complexity to the workflow.

In Summary, Fission and Serverless differ in scaling models, resource allocation, architecture, programming language support, cold start performance, and function deployment methods. These differences make them suitable for different use cases and development preferences.

Decisions about Fission 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 Fission
Pros of Serverless
  • 1
    Any language
  • 1
    Portability
  • 1
    Open source
  • 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

What is Fission?

Write short-lived functions in any language, and map them to HTTP requests (or other event triggers). Deploy functions instantly with one command. There are no containers to build, and no Docker registries to manage.

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 Fission?
What companies use Serverless?
See which teams inside your own company are using Fission 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 Fission?
What tools integrate with Serverless?

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

What are some alternatives to Fission 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.
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.
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.
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.
See all alternatives