GitLabの最新リリースでは、KnativeとKubernetesを使用して、Function as a service(FaaS)モデルを利用したサーバレス処理の構築、デプロイ、管理ができる。
GitLabのサーバレスとFaaSサポートにより、GitLabは、全てのDevOpsライフサイクルをサポートするための、CI/CD機能をより拡充する方向に進んでいる。GitLabはアルファ機能としてバージョン11.5でKnativeのサポートを開始した。これは開発者がベンダーロックインのリスクを減らしながらサーバレスアプリケーションを簡単に作成できるようにすることを目的としている。この目的のために、GitLabはTriggerMeshで行われた成果を活用した。TriggerMeshでは、マルチクラウドサーバレスおよびFaaS管理ソリューションを開発している。GitLab 11.6では、サーバレス操作用の新しいUIを介して個々の機能をデプロイするためのサポートが追加された。これにより、すべての機能のリストが閲覧できる。リストには、簡単な説明とデプロイ先のKnativeクラスターも含まれる。
さらに、GitLabサーバレスUIでは、使用されているKubernetesポッドの数や時間の過去の呼び出し回数など、デプロイされた各機能についてより詳細な情報を提供される。
Kubernetesでサーバレスの処理を実行することで、企業は抽象化されたレイヤを使って、複数のクラウドプロバイダやオンプレミスサーバからコンピューティングリソースを使用できるようになります。このような移植性の強化は、機能を実行するときに、特定のプロバイダにロックされずに、そのビジネスのニーズを最も満たす計算モデルを選べることことを意味します。
FaaSでは、イベントが発生したときに小さなコード単位を実行するために、クラウドリソースを動的に割り当ててことができる。その目標は、実際の処理要求に基づいてクラウドインフラストラクチャをオンデマンドで自動スケーリングすることである。FaaSを使用すると、要求を処理したいときに少なくとも1つのサーバプロセスを常に実行し続けなければならないという制約がなくなる。FaaSは要求が入ってきたときにだけサーバプロセスが生成されることを可能にした。処理する要求がないとき、クラスタはゼロにスケールダウンする。これにより、セットアップの待ち時間はかかるが、クラウドインフラストラクチャのコストを削減できる。FaaSプロバイダは多く存在する。AWS Lambdaを提供するAmazon、Azure Functionsを提供するマイクロソフト、Cloud Functionsを提供するGoogleなどがある。
GitLab 11.6で導入された他の新機能として、Suggested Changes、Web Terminal for Web IDE、Group Security Dashboard Vulnerability Chartがある。