Thanks for visiting this category page on Serverless in GitLab.
This vision is a work in progress and everyone can contribute. Sharing your feedback directly on issues and our public epic at GitLab.com is the best way to contribute to our vision.
If you’re a GitLab user and have direct knowledge of your need for serverless, we’d especially love to hear from you.
Serverless computing is a cloud computing execution model in which the cloud provider runs the server, and dynamically manages the allocation of machine resources. Currently, serverless computing doesn't yet have standardization, this means that developers have to choose between functionality, capability, and the overall ecosystem between cloud vendors. With Kubernetes, increasingly, also adopted increasingly as the de facto platform for many cloud native practitioners, operators have the challenge of making serverless play well with clusters, in a multi-cloud environment.
The mission of the GitLab Serverless category is to make GitLab the preferred tool for developers and operators taking advantage of serverless computing, making integrated continuous delivery and monitoring easy - no matter if those serverless applications are run inside a Kubernetes cluster or with a public serverless services provider.
Our initial hypothesis was that leveraging Knative and Kubernetes (See Knative epic and associated UX Research), users will be able to define and manage functions in GitLab. This includes managing the security, logging, scaling, and costs of their serverless implementation for a particular project/group.
While Knative is the most popular installable serverless plaforms in use, Serverless is still largely about hosted services that is dominated by AWS Lambda. As a result, we don't have any plans around improving the cluster based GitLab Serverless offering.
Looking forward, we would like to strengthen our integration with existing hosted serverless provider offerings, especially around deploying and monitoring serverless deployments.
To get a great overview of the serverless world, we recommend having a look at the CNCF Serverless Landscape. We are working hard to be great partners with the most widely used tools and fulfill the gap in every other area.
Users should be able to easily spin a new Kubernetes cluster under various providers using GitLab to start using the GitLab serverless offering.
AWS Lambda is a serverless compute service created by Amazon in 2015. It runs a function triggered by an event and manages the compute resources automatically so you don’t have to worry about what is happening under the hood.
Azure Functions is Microsoft’s response to Amazon’s Lambda. It offers a very similar product for the same cost. It uses Azure Web Jobs; the delay between hot cold invocations is less visible.
It’s a fully managed Node.js environment that will run your code handling scaling, security, and performance. It’s event-driven and will trigger a function returning an event, very much in the same way AWS Lambda works. It’s intended to be used for small units of code that are placed under heavy load.
The Serverless Framework is an open-source tool for managing and deploying serverless functions. It supports multiple programming languages and cloud providers. Its two main components are
Serverless Framework applications are written as YAML files (known as serverless.yml) which describe the functions, triggers, permissions, resources, and various plugins of the serverless application.
The Serverless category is currently coupled with IaaS reports.
Gartner's Magic Quadrant for Cloud Infrastructure as a Service
places AWS, Azure, and Google Cloud as leaders.
Forrester places Serverless Computing
in their Emerging Technology Spotlight
category, with the big three as leaders (AWS, Azure, Google Cloud)
n.a.
Automatic domain for a serverless function SSL for Knative services
We collect GitLab related issues under our dogfooding epic.