サーバーレスコンピューティングとそれに基づいて機能するFunction-as-a-Serviceソリューションは、開発者がビジネス機能に重点を置いた製品を開発するのに役立ちます。私たちはこれらの技術を実験し、戦闘用の既存のソリューションは湿っているという結論に達しました。順番に行きましょう。
サーバーレスコンピューティングという用語はやや誤解を招く可能性があります。もちろん、サーバーは製品の中心であり続けますが、開発者はサーバーについて心配する必要はありません。サーバーレスは、その中核として、以前のaaSテクノロジーと同じ仮想化のアイデアを継続します。つまり、チームはコードと機能の開発に集中できます。IaaSが機器の抽象化であり、コンテナーがアプリケーションの抽象化である場合、FaaSはサービスのビジネスロジックの抽象化です。
アイデアは、アプリケーションサーバー、データベース、ロードバランサーをコンテナーにパックすることではありません。開発者は、関数をコードで分離し、クラウドプラットフォームにロードして、必要に応じて実行できます。インスタンスのプロビジョニング、コードのデプロイとリソースの割り当て、ウェブインターフェースの起動、ヘルスの監視、セキュリティの確保-これらはすべて自動的に行われます。
FaaSは、パフォーマンス管理に最大限の柔軟性を提供します。ダウンタイム中、機能はリソースを消費せず、必要に応じて、プラットフォームは容量を迅速に割り当てます。これは、ほとんどすべてのワークロードに十分です。1人のユーザーまたは10万人のアプリケーションに一度にサービスを提供します。FaaSアーキテクチャを備えたシステムのパフォーマンスは実際には低下せず、従来のアーキテクチャを備えた製品には確かに問題があります。
チームは、バックエンドと展開のプロセスについて心配する必要はありません。理想的な条件では、新機能の実装は、サーバーに1つの機能をアップロードするだけです。その結果、開発はより速く進み、市場投入までの時間は短くなります。また、会社全体では、FaaSの実装は、プラットフォームアプローチの開発に役立ちます。サーバーレスコンピューティングの場合、プロバイダーからのクラウドリソースのプールまたはKubernetesクラスターのいずれかが必要です。
Serverless-. : Lambda Amazon KNative. Amazon, Kubernetes.
Amazon Lambda – , . , , , .
«» – , . , , , .
KNative – , Kubernetes.
Lambda, , . :
Event source – FaaS-, . HTTP-, ,
Broker – «», Event Source. Kafka, ..
Trigger – Broker , «» Service.
Service – , -.
, , : (1) , (2) Docker-, (3) .
KNative – , FaaS- . , , .
FaaS
, 0 100%:
, . / , , .
(push, email, ).
, , – . Serverless , .. . , , .
Serverless:
. , , .
– AWS, Microsoft Azure Google Cloud. Kubernetes .
FaaS – « », . , DDD. , . . .
– Serverless
...開発者がこの方向性を開発する場合、特に、同じAmazonLambdaのレベルまでオープンソースプラットフォームを開発する場合。
このようなプロジェクトの動機は、リソースコストの削減、大規模なエネルギー集約型製品の管理の改善です。しかし今のところ、開発者は昔ながらの方法で作業する方が簡単だと感じるかもしれません。サーバーレスの所有とこれらのツールの使用能力は良い手荷物です。企業は戦闘でそれらを使用する前に数年待つ必要があります。