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

OpenFaaS

56
234
+ 1
17
Serverless

1.3K
1.2K
+ 1
28
Add tool

OpenFaaS vs Serverless: What are the differences?

Key Differences between OpenFaaS and Serverless

  1. Deployment Flexibility: OpenFaaS provides greater deployment flexibility as it can be run on any cloud or on-premises environment, offering more control over where functions are hosted. On the other hand, Serverless platforms are typically tied to specific cloud providers, limiting deployment options and vendor lock-in.

  2. Community and Ecosystem: OpenFaaS has a thriving community and ecosystem with active contributors and a wide range of plugins and integrations available. In contrast, while Serverless platforms have a strong community as well, the ecosystem might be limited to the specific cloud provider's offerings.

  3. Programming Language Support: OpenFaaS supports a wider range of programming languages, allowing developers to write functions in languages such as Java, Python, Node.js, Go, etc. Serverless platforms may have restrictions on the supported languages, potentially limiting developers' choice and flexibility.

  4. Customization and Control: OpenFaaS allows for more customization and control over the environment in which functions run, enabling developers to fine-tune performance and security settings according to their specific needs. With Serverless platforms, developers have less control over the underlying infrastructure, which can be a limiting factor in certain use cases.

  5. Cost Management: OpenFaaS can potentially offer more cost-effective options for running functions, especially in scenarios where there is a need to optimize resource utilization or leverage on-premises infrastructure. Serverless platforms may have more standardized pricing structures, which could lead to higher costs in certain situations.

  6. Performance and Scalability: OpenFaaS provides greater control over performance and scalability aspects, allowing developers to optimize resource usage and scale functions based on specific requirements. Serverless platforms, while offering auto-scaling capabilities, may have limitations in terms of customization and fine-tuning for performance-critical applications.

In Summary, OpenFaaS offers more deployment flexibility, programming language support, customization, and cost management options compared to Serverless, while Serverless platforms provide easier scalability and standardization in deployment.

Decisions about OpenFaaS 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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of OpenFaaS
Pros of Serverless
  • 5
    Open source
  • 4
    Ease
  • 3
    Autoscaling
  • 2
    Community
  • 2
    Documentation
  • 1
    Async
  • 14
    API integration
  • 7
    Supports cloud functions for Google, Azure, and IBM
  • 3
    Lower cost
  • 1
    3. Simplified Management for developers to focus on cod
  • 1
    Auto scale
  • 1
    5. Built-in Redundancy and Availability:
  • 1
    Openwhisk

Sign up to add or upvote prosMake informed product decisions

What is OpenFaaS?

Serverless Functions Made Simple for Docker and Kubernetes

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 OpenFaaS?
What companies use Serverless?
Manage your open source components, licenses, and vulnerabilities
Learn More

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

What tools integrate with OpenFaaS?
What tools integrate with Serverless?

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

What are some alternatives to OpenFaaS and Serverless?
Knative
Knative provides a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even in a third-party data center
Nuclio
nuclio is portable across IoT devices, laptops, on-premises datacenters and cloud deployments, eliminating cloud lock-ins and enabling hybrid solutions.
Kubeless
Kubeless is a Kubernetes native serverless Framework. Kubeless supports both HTTP and event based functions triggers. It has a serverless plugin, a graphical user interface and multiple runtimes, including Python and Node.js.
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.
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.
See all alternatives