サーバーレスコンピューティングを始めるのに役立つ 7 つのオープンソース プラットフォーム

サーバーレスコンピューティングを始めるのに役立つ 7 つのオープンソース プラットフォーム

[51CTO.com クイック翻訳] サーバーレスという用語は、最近会話の中でよく見かけるようになりました。この概念と、サーバーレス コンピューティングやサーバーレス プラットフォームなどの関連する概念を明確にしておくと役立ちます。

サーバーレスは、多くの場合、FaaS (Function as a Service) という用語と同じ意味で使用されます。しかし、サーバーレスとは​​サーバーが存在しないことを意味するものではありません。実際には、アプリケーションの展開、実行、管理を行うサーバーを提供するパブリック クラウド プロバイダーなど、数多くのサーバーが存在します。

サーバーレス コンピューティングは、開発者がソフトウェア システムを構築および提供する方法の変化を表す新しいカテゴリです。コードを通じてアプリケーション インフラストラクチャを抽象化すると、開発プロセスが大幅に簡素化されるとともに、コストと効率の面で新たなメリットがもたらされます。サーバーレス コンピューティングと FaaS は、クラウド ネイティブ サービスやハイブリッド クラウドとともに、エンタープライズ IT の次の時代を定義する上で重要な役割を果たすと信じています。

[[249819]]

サーバーレス プラットフォームは、ユーザーがコード関数 (操作とも呼ばれます) を実行し、各関数の結果を返すことを可能にする API を提供します。サーバーレス プラットフォームは、開発者が関数の結果を取得できるように、HTTPS エンドポイントも提供します。これらのエンドポイントは他の関数への入力として使用でき、関連する関数のチェーンを提供します。

ほとんどのサーバーレス プラットフォームでは、ユーザーは関数をデプロイ (または作成) してから実行します。サーバーレス プラットフォームには、指示があったときに関数を実行するために必要なすべてのコードが用意されます。サーバーレス関数の実行は、ユーザーがコマンドを使用して手動で呼び出すことも、スケジュールされたタスクのアラート、ファイルのアップロード、その他の多くのイベントなどのイベントの発生時に関数をアクティブ化するように構成されたイベント ソースによってトリガーすることもできます。

サーバーレス コンピューティングを始めるための 7 つのオープン ソース プラットフォーム

1. Apache OpenWhisk

Apache OpenWhisk は、あらゆる規模のイベントに応じてコードを実行できるサーバーレスのオープンソース クラウド プラットフォームです。 Scala言語で書かれています。フレームワークは、HTTP リクエストなどのトリガーからの入力を処理し、小さな JavaScript または Swift コードを実行します。

2.核分裂

Fission は、開発者が Kubernetes を使用して関数を構築できるようにするサーバーレス コンピューティング フレームワークです。これにより、プログラマーは任意のプログラミング言語で短命関数を記述し、それらの関数を任意のイベント トリガー (HTTP リクエストなど) にマップできます。

3.アイアン関数

IronFunctions は、既存のサービスを統合し、Docker を採用することで一貫性のあるマイクロサービス プラットフォームを提供するサーバーレス コンピューティング フレームワークです。開発者は Go 言語で関数を記述します。

4. Fnプロジェクト

Fn プロジェクトは、あらゆるクラウドやオンプレミスなど、どこでも実行できるオープンソースのコンテナネイティブ サーバーレス プラットフォームです。使いやすく、さまざまなプログラミング言語をサポートし、スケーラブルで高性能です。

5.オープンラムダ

OpenLambda は、Apache ライセンスに基づいてライセンスされ、Go で記述され、Linux コンテナーをベースにしたサーバーレス コンピューティング プロジェクトです。 OpenLambda の主な目標は、ユーザーがサーバーレス コンピューティングへの新しいアプローチを探求できるようにすることです。

6.キューブレス

Kubeless は、基盤となるインフラストラクチャを気にせずに少量のコードをデプロイできる Kubernetes ネイティブのサーバーレス フレームワークです。 Kubernetes リソースを活用して、自動スケーリング、API ルーティング、監視、トラブルシューティングなどの機能を提供します。

7. オープンファス

OpenFaas は、Docker と Kubernetes を使用してサーバーレス機能を構築するためのフレームワークであり、メトリクスに対する第一級のサポートを提供します。あらゆるプロセスを関数としてパッケージ化できるため、定型コードを書き直すことなく、多くの Web イベントを使用できます。

Kubernetes は、きめ細かいデプロイメント モデルを使用してワークロードをより迅速かつ簡単に処理し、サーバーレス ワークロードとマイクロサービス アプリケーション コンテナーを管理するための最も人気のあるプラットフォームです。 Knative Serving (https://github.com/knative/serving) を使用すると、Kubernetes 上でサーバーレス アプリケーションと関数を構築およびデプロイし、Istio (https://istio.io/) を使用して次のような高度なシナリオをスケーリングおよびサポートできます。

  • サーバーレスコンテナの迅速な導入
  • 自動的にゼロまで拡大・縮小する
  • Istio コンポーネントのルーティングとネットワーク プログラミング
  • デプロイされたコードと構成のポイントインタイムスナップショット

Knative (https://github.com/knative/) は、クラウド ネイティブ プラットフォーム上でアプリケーションを構築および実行するための一般的なタスクに重点を置いており、ソース コードをコンテナー ビルドにオーケストレーションしたり、サービスをイベント エコシステムにバインドしたり、展開中にトラフィックをルーティングおよび管理したり、ワークロードを自動的にスケーリングしたりするために使用されます。

Istio は、マイクロサービス (Envoy プロキシの観点からは実質的にサービス メッシュ コントロール プレーン) を接続および保護するためのオープン プラットフォームであり、開発者、オペレーター、プラットフォーム プロバイダーなど、フレームワークと対話する複数のペルソナを考慮して設計されています。

たとえば、次のコード スニペットを使用して、ローカル Minishift プラットフォームで Knative Serving を使用して JavaScript サーバーレス ワークロードをデプロイできます。

  1. ## Dockerファイル
  2. bucharestgold/centos7-s2i-nodejs:10.xから
  3. ワークディレクトリ /opt/app-root/src
  4. package*.json をコピーします。/
  5. npmインストールを実行
  6. コピー 。 。
  7. エクスポーズ8080 3000
  8. CMD [ "npm" "start" ]
  9.  
  10.  
  11. ## パッケージ.json
  12. {
  13. 「名前」 : 「挨拶係」
  14. 「バージョン」 : 「0.0.1」
  15. 「プライベート」 : true
  16. 「スクリプト」 : {
  17. 「開始」 : 「ノード app.js」  
  18. },
  19. 「依存関係」 : {
  20. "エクスプレス" : "~4.16.0"  
  21. }
  22. }
  23.  
  24. ## アプリ.js
  25. var express = require( "express" );
  26. var app = express();
  27.  
  28. var msg = (process.env.MESSAGE_PREFIX || "" ) + "OpenShift 上の NodeJs::Knative" ;
  29.  
  30. app.get( "/" 関数(req、res、 next ) {
  31. res.status(200).send(メッセージ);
  32. });
  33.  
  34. app.listen(8080,関数() {
  35. console.log( "アプリはポート8080で起動しました" );
  36. });
  37.  
  38. ##サービス.yaml
  39. APIバージョン:serving.knative.dev/v1alpha1
  40. 種類: サービス
  41. メタデータ:
  42. 名前: グリーター
  43. 仕様:
  44. 構成:
  45. リビジョンテンプレート:
  46. 仕様:
  47. 容器:
  48. 画像: dev.ローカル/greeter:0.0.1-SNAPSHOT

Node.js サーバーレス アプリケーションを構築し、サービスをローカル Kubernetes プラットフォームにデプロイします。 Kubernetes (または Minishift) に必要な基本コンポーネント (Knative、Istio、Knative Serving) をインストールします。プロセスは次のとおりです。

1. 次のコマンドを使用して Docker デーモンに接続します。

  1. (minishift docker-env) && eval(minishift oc-env)

2. 次のコマンドと Jib (https://github.com/GoogleContainerTools/jib) を使用して、サーバーレス アプリケーション コンテナ イメージをビルドします。

  1. ./mvnw -DskipTests クリーンコンパイル jib:dockerBuild

3. Minishift などのサーバーレス サービスを Kubernetes クラスターにデプロイします。

  1. kubectl を適用 -f サービス.yaml

結論は

上記の例は、Kubernetes、Knative Serving、Istio などのクラウド ネイティブ プラットフォームを利用して、サーバーレス アプリケーションの開発をどこからどのように開始するかを示しています。

原題: サーバーレス コンピューティングを始めるための 7 つのオープン ソース プラットフォーム、著者: Daniel Oh

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  上級データベースエンジニアに必要なスキル

>>:  クラウドの価格設定についての真実をご存知ですか?

推薦する

chicagovps 2gメモリエンタープライズバージョンの簡単なレビュー

私はHostcatからchicagovpsの2GメモリエンタープライズエディションVPSのプロモーシ...

WeChat パブリック プラットフォームは草の根ウェブマスター マーケティングに適していますか?

WeChatパブリックプラットフォームの立ち上げは、草の根起業家に朗報をもたらした。大手メディアが自...

5G時代に欠かせないキーテクノロジー:エッジコンピューティングリファレンスアーキテクチャ3.0の詳細解説

[[375892]]リファレンス アーキテクチャは、図 3-1 に示すように、モデル駆動型エンジニア...

セルフサービス型ウェブサイト構築のメリットとデメリットのまとめ

従来のセルフサービス Web サイト構築の利点は明らかで、便利で高速です。しかし、オープンソース コ...

urpad-VPS 85% オフ/新規サーバー

新しいサーバー構成: デュアル ヘキサコア 2620、128G メモリ、4×1 TB ハードディスク...

SEOツール Dibz

Dibz は使いやすい SEO ツールです。導入Dibz を使用すると、ユーザーは特定の検索基準に基...

データセンターネットワーク仮想化技術の進化

ネットワーク仮想化技術は近年、ネットワーク分野で最も注目されている技術の一つとなっており、データセン...

「ブロックチェーンシステム」と「分散ストレージシステム」の詳しい説明

データの価値について話すとき、まずデータの量を計算する必要があります。各人が消費するたびに 80 バ...

サービスメッシュ: Kubernetes の使用コストに影響を与える諸刃の剣

翻訳者 |崔浩この記事では主に、Service Mesh が Kubernetes のコストにどのよ...

Pacificrack の「Double 12」プロモーション VPS (年間 8.8 ドル、帯域幅 1Gbps) の簡単なレビューです。

Pacificrack はプロモーションを開始しました: 「Pacificrack: Double ...

virtvps: フィンランドの VPS、IRC、Torrent のサポート、Windows システム

virtvps は、主にフィンランドの VPS、オランダの VPS、ドイツの VPS、イギリスのサー...

onetechcloud: 高速 VPS/大帯域幅、月額 38 元から、香港 CN2/CMI、米国 CN2 GIA/高防御/ネイティブ IP

onetechcloud は現在、VPS のプロモーションを行っており、価格は月額 38 元と低価格...

Baidu のアルゴリズム調整を受けて、ウェブサイトをどのように最適化すればよいでしょうか?

最近、Baidu のアルゴリズムが継続的にアップグレードされているため、Web サイトの最適化はます...

良いソフトコピーを書く方法

1. リンクを追加する自社のウェブサイトへのリンクを含めることで、効果的な外部リンクが増え、検索エン...

OVHはどうですか?カナダ ボーハルノワ (BHS) データセンター レビュー

ovhはどうですか?カナダではどうですか?カナダはフランス以外で常にOVHのコアデータセンターの一つ...