GitLab Serverlessを搭載したGitLab 11.6がリリース。Knativeをベースに、どのクラウドでも使えるサーバレスの実現へ
GitLab Serverlessがついにアルファ版として登場した。そのコアとなっているのはGoogle、Pivotal、IBM、SAP、Red Hatらがオープンソースとして開発しているKnativeである。
GitLabは、すでに発表済みの独自のサーバレスプラットフォーム「GitLab Serverless」のアルファ版を搭載したGitLab 11.6のリリースを発表しました。
AWS Lambdaのようなサーバレスを実現するGitLab Serverless
GitLab Serverlessは、AWS LambdaやAzure Functionsといった、いわゆるサーバレスコンピューティングと同様のものを実現しようとしています。
ただしAWS LambdaやAzure Functionsなどはパブリッククラウド上のマネージドサービスとして提供されるのに対し、GitLab ServerlessはGitLabが提供するソフトウェアであり、これをパブリッククラウド上にデプロイすることで、どのパブリッククラウド上でも同一のサーバレスコンピューティング環境を実現できるようにすることが、GitLab Serverlessの狙いです。
そして、GitLab Serverlessが実現しようとしているAWS Lambdaなどのサーバレスコンピューティング環境には、一般に下記の2つの特長があります。
1つ目は、ゼロからのスケーラビリティです。これは、外部から処理のリクエストがない場合にはそれを処理するプロセスもゼロであり、処理すべき負荷が高まるにつれてプロセスが増えていくスケーラビリティを備えている、という特長です。
現在ではこのゼロからのスケーラビリティ、すなわち処理すべきものがなければそのためのサーバもない、という意味での「サーバレス」が、広い意味で「サーバレス」を指す言葉として使われ始めています。例えばAWSの「Aurora Serverless」の名前の一部となっているServerlessはその一例です。
参考:「サーバレス/Serverless」はデータベースやコンテナへも広がってきた
2つ目は、何らかのイベントをきっかけに、あらかじめ登録されていた関数が実行される「Function as a Service」(FaaS)の機能を持っていることです。
AWS Lambdaなど既存のサーバレスコンピューティング環境がこの2つの側面を同時に備えているように、GitLab Serverlessもこの2つの側面を備えようとしています。
GitLab Serverlessの本質はKnativeによるサーバレスとイベント対応
GitLab Serverlessでこの「ゼロからのスケーラビリティ」と「FaaS」の2つの機能を実現する核となっているのが「Knative」(ケイネイティブ)です。
KnativeはGoogle、Pivotal、IBM、SAP、Red Hatらがオープンソースとして開発しているソフトウェアで、Kubernetes上でサーバレスコンピューティング環境を実現するためのフレームワークです。
Kanativeの主な機能である「Serving」がゼロからのスケーラビリティを実現し、「Events」がイベントをきっかけにした動作を実現してくれます。また、KnativeにはIstioも統合されているため、カナリアリリースやA/Bテスティング、メトリクスの取得なども容易に実現できるようになっています。
つまりGitLab ServerlessはGitLab独自のサーバレス環境ではありますが、基本的にはKuberntesとKnativeという事実上の業界標準となりうるソフトウェアをベースにしているのです。
そしてKnativeをベースにしたサーバレスコンピューティング環境を実現しようとしているのはGitLabだけではありません。Knativeの開発にも参加しているPivotalは、Knativeをベースにしたサーバレス環境の「Pivotal Function Service」を発表しています。
Knativeの開発に参加しているGoogleやIBM、Red Hatなどは、まだ具体的な製品発表をしていませんが、今後何らかの発表をするのではないかと考えられます。
現在のところAWS LambdaやAzure Functions、Google Functionsなどサーバレスコンピューティング環境は各パブリッククラウド依存となっていますが、Knativeの登場と普及は、これらをKuberntes/Knative/Istioベースのものへと置き換えていく可能性を秘めています。
GitLab Serverlessはその先駆け的な位置づけともいえるわけです。
GitLab 11.6のそのほかの新機能
GitLab 11.6にはそのほかにも、マージリクエストのCI/CD実行、Web IDEにおけるターミナル機能、グループのためのプロジェクトテンプレート、グループダッシュボードでの脆弱性チャート表示などが含まれています。
GitLabはGitHubのようにソースコード管理サービスを提供するサービスからスタートし、現在ではその機能を核としつつもプロジェクト管理ツールや自動ビルドツール、運用管理ツールなどの機能追加により統合DevOpsツールとして発展してきました。
DockerコンテナやKubernetesとの統合も積極的に行っており、GitLabからKubernetesのクラスタ作成を行い、アプリケーションをデプロイするといったことも可能です。
GitLab 11.6に含まれるGitLab Serverlessもそうしたクラウドネイティブ対応の延長線上にあるといえますが、アプリケーション実行環境にまでその範囲を広げたことは同社にとって重要な一歩だといえます。
あわせて読みたい
ARMベースで64コア搭載のサーバ向け独自プロセッサ「Kunpeng 920」、ファーウェイが発表。HPE、AWSなどARMサーバの投入が相次ぐ
≪前の記事
国内企業の28%がDevOpsを実践、うち41%が売り上げや顧客満足度向上などの成果を出していると。IDC Japan