アリババクラウドサーバーレス担当者へのインタビュー:サーバーレスはバックエンドを失業者にさせません

ソース|サーバーレス公式アカウント

2012年、クラウドインフラストラクチャサービスプロバイダーIron.ioの副社長であるKenは、ソフトウェア開発業界の将来について話し、サーバーレスの概念を初めて提案し、クラウドで実行されるアプリケーションの新しいシステムアーキテクチャについて説明しました。それ以来、AWSに代表されるクラウドサービスベンダーは、サーバーレスの概念を徐々に実装し、サーバーレスに基づくFaaS(サービスとしての機能)製品を次々と発売してきました。数年の開発の後、サーバーレスアーキテクチャは、次の10年でクラウドネイティブの開発トレンドをリードすると業界から考えられてきました。

Gartnerのレポートによると、2020年には、世界の企業の20%がサーバーレステクノロジーの導入を採用しています。サーバーレスは、コンピューティングリソースの形式を下から技術的に変革し、エンタープライズソフトウェアアーキテクチャの設計とアプリケーションサービスの導入のための革新的なテクノロジー設計のアイデアを導入します。 

それにもかかわらず、一部の国内企業や開発者は、サーバーレスに直面したときに、依然として様子見の姿勢を保っています。一方で、関連技術は中国で遅れて開始され、一部の開発者は新技術の受け入れが低いです。他方、国内のサーバーレス生態系構築は比較的遅れており、市場の関連ツールチェーンは完全ではなく、開発と展開につながります難しさと高コスト。 

最近、Alibaba Cloud Serverless技術チームは、 開発者にサーバーレスツールチェーンシステムを提供するオープンソースのServerlessDevsプラットフォームを発表しました レポートによると、このプラットフォームを通じて、開発者はワンクリックでマルチクラウドサーバーレス製品を体験し、サーバーレスプロジェクトを迅速に展開できます。

Serverless Devsプロジェクトの特徴、および中国におけるサーバーレス、マイクロサービス、その他のクラウドネイティブテクノロジーエコシステムの開発動向をさらに理解するために、Open Source Chinaは、Alibaba Cloud Serverless R&DリーダーのYang Haoran(嫌いではない)、Alibaba Cloud Serverless製品マネージャー、ServerlessDevsプロジェクトを招待しました。イニシエーターのJiangYuが、サーバーレスプロジェクトと国内のサーバーレスエコロジーの詳細を教えてくれました。

以下は元のインタビューです。

1. Alibaba Cloud ServerlessDevsプロジェクトの技術チームメンバーを簡単に紹介してください。

<Jiang Yu>:チームは、Alibaba Cloud Smart Cloud Native Middlewareのフロントエンドの責任者と、Alibaba Cloud Smart Cloud Native FunctionComputingチームの多くの技術専門家および数人のコミュニティ愛好家によって率いられています。オープンソースのアイデアにより、プロジェクトの構築には120日かかりました。 

Serverless Devs技術チームのコアR&D担当者には、主に次のものが含まれます。

  • Han Xie:Alibaba Cloud Smart Cloud NativeMiddlewareのフロントエンドの責任者。2016年にAlibabaMiddlewareに参加して、クラウド製品のエンタープライズコンソールのR&Dに従事しました。現在、彼はチームを率いて、ミドルウェアの20を超えるクラウド製品のフロントエンドR&Dを担当しています。主要なテクノロジースタックは大規模です。フロントエンドの一般的なテクノロジーには、フロントエンドの研究開発の効率を向上させるnodejs / typescript / react / electronic / reactnativeなどがあり、フロントエンドのデジタルエクスペリエンス管理システムの構築に長年の実務経験があります。現在、クラウドネイティブのサーバーレス開発ツールであるサーバーレス開発者ツールチェーンの構築に焦点を当てています( S)研究開発の責任者の1人であるコアは、Sランチャー解析カーネルであるS /コアコアパッケージに貢献し、S / guiデスクトップツールの研究開発を主導しました。最新のフロントエンドテクノロジーのトレンドに注意を払い、クラウドネイティブテクノロジーがフロントエンドコミュニティに与える影響に注意を払い、フロントエンドコミュニティにネイティブなクラウドの概念を普及させることに取り組んでください。

  • West flow:Aliクラウドインテリジェントクラウドネイティブ機能コンピューティングテクノロジーの専門家、Aliクラウド機能コンピューティング製品の機能開発を担当:ランタイムと開発、イベントソースの統合、エンタープライズクラスのサーバーレスソリューションは、現在、サーバーレス開発者ツールチェーンの構築、クラウドに重点を置いています。 S / fcコンポーネントの開発をリードするネイティブサーバーレス開発ツールの開発責任者の1人。サーバーレスの最新のテクノロジートレンドとエンタープライズレベルのソリューションの実装に注意を払い、開発者コミュニティの間でサーバーレスの人気を促進するよう努めます。

  • Nahai:Alibaba Cloud Smart CloudネイティブPaaS製品のシニアR&Dエンジニアであり、エンタープライズレベルの分散アプリケーションサービスEDAS、アプリケーション構成管理ACMおよびWebアプリケーションホスティングサービス、およびその他のエンタープライズレベルのマイクロサービス製品の開発に参加しています。同時に、Alibaba CloudToolkitおよびServerlessDevでもあります。 Toolsの創設者の1人は、マイクロサービス、PaaS、サーバーレスなどのクラウドネイティブフィールドの開発に引き続き注意を払い、クラウドネイティブフィールドでの開発者ツールの構築に取り組んでいます。

2.現在AlibabaCloud Serverlessプラットフォームサービスを使用している具体的な着陸シナリオは何ですか?

<怒っていない>:サーバーレスは、基本的なR&Dベースとして、ますます多くの企業に受け入れられ、ビジネス慣行で使用されています。インターネット企業の初期の「早期採用者」に加えて、従来の企業もサーバーレスの大規模な使用を模索しています。 

センチュリーリアンファを例にとってみましょう。2019年のダブル11では、関数計算FCにより、センチュリーリアンファが大規模なプロモーションを成功裏に乗り切ることができました2020年のDouble11で、Century Lianhuaは機能コンピューティング2.0に完全に移行し、昨年のビジネスピークの230%以上に耐え、R&D効率の提供を30%以上改善し、柔軟なリソースコストを40%以上削減しました。今日、Alibaba経済全体が、Taobao、Tmall、Alipay、Dingding、Fliggy、Xianyu、Yuqueなどを含むサーバーレスを実践しており、サーバーレスのアプリケーションシナリオをフロントエンドのフルスタック、小さなプログラム、マイクロサービスなどに拡張しています。新しい小売、ゲーム相互エンターテインメントおよびその他の分野。具体的なシナリオは次のとおりです。

  • ミニプログラム/ウェブ/モバイル/ APIバックエンドサービス

小さなプログラム、Web /モバイルアプリケーション、APIサービスなどのシナリオでは、ビジネスロジックは複雑で変更可能であり、反復起動の速度は高速です。さらに、このようなオンラインアプリケーションのリソース使用率は、特に小さなプログラムなどのロングテールアプリケーションの場合、通常30%未満です。リソース使用率はさらに10%未満です。サーバーレスコンピューティングの無料の運用と保守、従量課金制の機能は、小さなプログラム/ Web /モバイル/ APIバックエンドシステムの構築に非常に適しています。コンピューティングリソースとリアルタイムの自動スケーリングを予約することで、開発者は安定した遅延をすばやく構築し、高い周波数を運ぶことができます。アクセスされたオンラインアプリケーション。アリババ内では、サーバーレスを使用してバックエンドサービスを構築することが最も一般的なシナリオです。これには、フロントエンドフルスタックフィールドのサーバーレスフォーフロントエンド、機械学習アルゴリズムサービス、小規模プログラムプラットフォームの実装が含まれます。 

  • 大規模バッチ処理

大規模なオーディオおよびビデオファイルトランスコーディングサービスなどの一般的なオフラインタスクバッチ処理システムには、コンピューティングリソース管理、タスク優先度スケジューリング、タスクスケジューリング、信頼性の高いタスク実行、タスクデータの視覚化などの一連の機能が含まれています。マシンまたはコンテナレベルから開始する場合、ユーザーは通常、タスク情報の永続化とリソース割り当ての計算にメッセージキューを使用し、K8などのコンテナオーケストレーションシステムを使用してリソースのスケーリングと障害耐性を実現し、監視システムとアラームシステムを独自に構築または統合します。タスクに複数のステップが含まれる場合は、信頼性の高いステップ実行を実現するためにワークフローサービスを統合する必要もあります。サーバーレスコンピューティングプラットフォームでは、ユーザーはタスク処理ロジックの実装に集中するだけで済み、サーバーレスコンピューティングの非常に高い柔軟性により、予期しないタスクの計算に十分に対応できます。電力が必要です。 

1.jpg

  • イベント駆動型アーキテクチャに基づくオンラインアプリケーションとオフラインデータ処理

一般的なサーバーレスコンピューティングサービスは、イベント駆動型の方法でさまざまなタイプのクラウドサービスと広く統合されています。ユーザーは、サーバーなどのインフラストラクチャを管理したり、複数のサービスを統合するグルーコードを記述したりする必要がなく、緩く結合され分散されたイベント駆動型アーキテクチャでアプリケーションを簡単に構築できます。 。

例としてAlibabaCloud Function Computingを取り上げます。APIゲートウェイと関数コンピューティングを統合することで、ユーザーはAPIバックエンドサービスをすばやく実装できます。オブジェクトストレージと関数コンピューティングのイベント統合により、関数はオブジェクトの作成や削除などのイベントにリアルタイムで応答でき、オブジェクトストレージを中心とした大規模なデータ処理を実現します。メッセージミドルウェアとファンクションコンピューティングのイベント統合により、ユーザーは大量のメッセージの処理をすばやく実現できます。ワンパーティクラウドサービス、スリーパーティSaaSサービス、またはユーザー構築システムのいずれであっても、Alibaba Cloud EventBridgeとの統合により、すべてのイベントを関数計算によって迅速かつ便利に処理できます。

  • 運用および保守の自動化

タイミングトリガーにより、ユーザーは、タスクを実行する基盤となるサーバーを管理しなくても、機能を使用してタイミングタスクをすばやく実装できます。クラウド監視トリガーを介して、ユーザーはECSの再起動/ダウンタイム、OSSオブジェクトストレージフロー制御、およびその他のIaaSサービスの運用および保守イベントを受信し、機能処理を自動的にトリガーできます。
特定のケースについては、以下を参照してください。 http://case-study.functioncompute.com/case-study.html

3.サーバーレス開発プロジェクトの機会とビジョンは何ですか?Serverless Devは、Alibaba Cloudが以前にオープンソース化した別のサーバーレスプロジェクトであるMidwayに関連していますか?

<怒っていない>:まず、グループ内外のユーザーにサービスを提供したとき、ツールチェーンがユーザーによるサーバーレスの受け入れの最大の障害であることがわかりました。これは主に次の側面に反映されます。

  • サーバーレスアプリケーションを開発および運用する場合、エクスペリエンスは既存のツールまたはプロセスとは別のものです。複雑なビジネスシナリオのユーザーの場合、通常、さまざまな負荷が仮想マシン、コンテナ、サーバーレスなどの複数のプラットフォームで実行されます。ユーザーは、同じツールとプロセスのセットを使用して、仮想マシン、コンテナ、またはサーバーレスベースを構築、展開、監視することを好みます。応用。

  • ユーザーは、ツールチェーンが開発、テスト、構築、展開、配布、監視などをカバーし、各製品のコンソールから飛び出したり、複数のツールを使用して完了するのではなく、閉ループのR&D操作および保守エクスペリエンスを提供できることを望んでいます。

  • ユーザーは、同じツールチェーンで、AlibabaCloudやTencentCloudなどのさまざまなパブリッククラウドサーバーレスプラットフォーム、またはオンプレミス環境のアプリケーションを管理できることを望んでいます。上記の問題により、多くのシナリオでサーバーレスはR&D効率を大幅に改善しませんでした。 

第二に、クラウドネイティブ開発の観点から、クラウドネイティブアプリケーションを構築する際に開発者が解決しなければならない問題の範囲と複雑さが増しています。たとえば、アプリケーションを構築する場合、開発者は、リソースの作成と削除、権利管理など、ビジネスロジックに関係のない詳細な問題に対処するために多くのエネルギーを費やす必要があります。企業レベルの顧客の場合、リソースの管理と制御に加えて、安全である必要もあります。機密データに誤って外部アクセス許可が付与されないようにする方法、VMがパブリックネットワークにアクセスすることを禁止されていないなどのコンプライアンス。ツールレベルでは、イノベーションの余地が非常に大きいと考えています。

したがって、実際のユーザーのニーズと将来の傾向から始めて、ユーザーがアプリケーションの開発と運用および保守の問題を完全に解決し、開発者と運用者を真に結び付けて研究開発の効率を向上させることができる開発者向けのツールチェーンを作成したいと考えています。このツールが優れた「複雑さのスケーラビリティ」を実現し、問題が単純な場合はすぐに開始できることを願っています。問題が複雑になった場合でも、同じツールとプロセスのセットが引き続き機能します。
 
<Jiang Yu>:サーバーレスは長い間開発されており、新しい概念ではありませんが、サーバーレスのツールチェーンはまだかなり不足しています。私たちはこの問題を認識しているだけでなく、多くのユーザーとの深いコミュニケーションを行ってきました。また、サーバーレスを使用する際にユーザーが直面する問題についても非常に懸念しており、最終的に「開発者の観点からサーバーレスツールチェーンシステム」を構築することにしました。その目的は、開発者がサーバーレスを携帯電話のように使用できるようにすることです。これにより、誰もがより簡単、便利、迅速な実地体験と実用的な操作を実現でき、サーバーレスプロジェクトのライフサイクル全体で役割を果たすことができます。Midwayとの接続については、Serverless Devsがツールレベルの製品であり、Midwayがフレームワークレベルの製品であるため、非常に近いと思います。この2つは相互に補完的であり、競合しません。

4. Serverless Devsは、「主流のサーバーレスサービス/フレームワークをサポートする最初のクラウドネイティブの完全なライフサイクル管理プラットフォーム」として位置付けられていることがわかります。その独創性はどのような側面で反映されていますか?業界の既存のサーバーレスサービスプラットフォームと比較して、どのような利点がありますか?

<怒っていない>Serverless Framework などの一般的なツールと比較すると、ServerlessDevsにはいくつかの明らかな違いがあります。

  • Serverless Devsは、ビルド、デプロイ、リリース、監視/トラブルシューティングなど、アプリケーションの開発と運用および保守のプロセス全体の問題の解決に取り組んでおり、R&D効率を向上させるためのエンドツーエンドの閉ループ開発および運用エクスペリエンスをユーザーに提供します。他のツールは、主に単一リンクの問題を解決するためのものです。

  • サーバーレスアプリケーションは、コンピューティング製品だけでなく、ストレージやミドルウェアなどのさまざまなクラウド製品にも依存しており、リッチクラウド製品を管理するためのツールを必要とします。Serverless Devsは、Alibaba Cloud、Tencent Cloud、AWS、Azure、Googleなどのすべての主流クラウドベンダーのクラウド製品と、K8sエコシステムのアプリケーションをサポートします。サーバーレスフレームワークなどのツールと比較すると、リソース管理の深さと幅が広いという利点があります。

  • Serverless Devsはオープンソースでオープンです。高レベルの言語抽象化機能に基づくコンポーネントメカニズムを通じて、開発者は複雑なクラウドネイティブアプリケーションをシンプルで高レベルの構成可能な方法で構築できます。

5.サーバーレス開発のどの部分がオープンソースですか?オープンソースを選択する目的は何ですか?

<Jiang Yu>:Serverless Devsは、コマンドラインツールとアプリケーションセンターの2つの主要部分をオープンソース化しました。サーバーレスは実際には非常に開発者主導の分野です。私たちはプロジェクト全体をオープンソース化し、アイデア全体をオープンにします。主な目的は、開発者の視点に立って開発者に必要なツールを提供し、開発を行うことです。開発者は自分でサーバーレスツールチェーンを定義および構築します。また、このフォームを通じて、より多くの開発者とやり取りし、より多くのサーバーレス愛好家と連絡を取り、すべての人とサーバーレスで連絡できることを願っています。

6.開発者が自分のアプリケーションをサーバーレス開発者にデプロイした場合、アプリケーションを後で他のプラットフォームに転送できますか?たとえば、他のクラウドサービスプラットフォームやローカルサーバーに転送するのは便利ですか?

<怒っていない>マルチクラウドアプリケーションの移行には多くの要因が関係します。コンピューティングプラットフォームの移行に加えて、データの移行と構成プロセスの移行も含まれます。Serverless Devsの設計哲学は、開発者がコンテナまたはサーバーレスアプリケーションを統一された方法で構築、展開、およびリリースできるようにすることです。ユーザーが使用する言語(nodejs / python / golang / java)、プラットフォーム(K8s / Alibaba Cloud Serverless / Googleクラウド実行など)に関係なく、R&Dの運用と保守の経験は同じであるため、ServerlessDevsは他のユーザーへのアプリケーションの移行を簡素化できます。プラットフォームの難しさ。

7.多くの人気のあるオープンソースソフトウェアをFaasプラットフォームに大規模に展開できないため、「サーバーレスはオープンソースサービスの革新を妨げる」ということわざがあります。結局のところ、現在のメインのオープンソースソフトウェアはサーバーレス実行環境、特にサーバーレス実行環境を対象としていません。データシステム。将来の傾向は、よりサーバーレスのネイティブオープンソースソフトウェアを作成することですか、それとも既存の主要なオープンソースソフトウェアの一部をサーバーレスアーキテクチャに移行することですか?

<怒っていない>:「サーバーレスはオープンソースサービスの革新を妨げる」この観点は、UCバークレーの論文「サーバーレスコンピューティング:一歩前進、二歩後退」から来ています。この論文では、サーバーレスのオープンソースサービス革新への障害は今日のサーバーレスの制限。半年後、彼らは別の論文「Cloud Programming Simplified:A Berkeley View on Serverless Computing」を発表し、Serverlessが直面する課題を解決でき、クラウドコンピューティングのデフォルトのパラダイムになると予測しました。現在、サーバーレスは学界の研究のホットスポットになっています。2017年以降、関連する論文の数は毎年2倍に増えています。

2.png

現在の学界/産業界におけるサーバーレスの主な研究動向:

  • サーバーレスマシンラーニングフレームワークなど、サーバーレスで人気のあるアプリケーションフレームワーク。

  • Stateful FaaSなどのサーバーレスプログラミングモデルを拡張することで、サーバーレスコンピューティングがより多くのアプリケーションシナリオをサポートできるようになります。

  • クラウドのすべてのレベルでリファクタリングされ、非常に動的なリソース使用量を持つサーバーレスアプリケーションに適応します。データセンターレベルでは、コンピューティングとストレージが超高速ネットワークアーキテクチャによって分離され、CPU、GPU、FPGA、ディスク、さらにはメモリがプールされて、柔軟性とリソース使用率が向上します。サーバーレスコンピューティングプラットフォームレベルでは、設計サーバーレスモデル用に高度に最適化されたストレージサービスは、iopsが高く、待ち時間が短く、コストが低いため、サーバーレスモデルを使用して分散システムを構築できます。

  • GPU、FPGA、その他の異種ハードウェアサポート、ソフトウェアとハ​​ードウェアの協調的最適化などのパフォーマンス最適化。これらの傾向により、サーバーレスが最も革新的な分野になることがわかります。

8.サーバーレスアーキテクチャといくつかの一般的なマイクロサービスアーキテクチャの関係は何ですか?サーバーレスはマイクロサービスアーキテクチャに取って代わりますか?

<怒っていない>:サーバーレスアーキテクチャとマイクロサービスアーキテクチャは正反対ではありませんが、異なる次元の概念です。マイクロサービスはアーキテクチャパターンであり、FaaSに代表されるサーバーレスコンピューティングプラットフォームは、マイクロサービスを実現する方法です。マイクロサービスは、FaaS、SpringCloud PaaSプラットフォーム、K8s +コンテナ、またはVMを使用して実装できます。

マイクロサービスを実装するために何を選択するかを決定するには、信頼性、コスト、パフォーマンス、エンジニアリング効率、セキュリティ、およびシステム移行の難しさの側面から始める必要があります。シナリオが異なれば、選択肢も異なります。マイクロサービスシナリオでサーバーレスアーキテクチャを使用する際の最大の課題は、既存のマイクロサービスフレームワークと互換性があり、既存のアプリケーションをスムーズに移行できるようにすることです。このような問題を解決するために、Alibaba Cloud Serverlessアプリケーションエンジンが登場し、SpringCloudやDubboなどの一般的なマイクロサービスフレームワークと互換性があり、従来のアプリケーションのスムーズな移行、ARMSなどのAlibaba Cloudサービスと統合され、すぐに使用できる可観測性とタイミングを提供します。マイクロサービスシナリオでもサーバーレスのメリットを享受できるように、スケーリング、インジケーターやその他の弾力性のある機能に応じたスケーリング。

9.一部のネットユーザーは、サーバーレスやその他のクラウドサービスの出現により、多くのバックエンドエンジニアの仕事が置き換わるのではないかと心配しています。将来的には、中小企業はフロントエンドのビジネス開発者を雇うだけで済みます。この見方は正確ですか?若いバックエンド開発者を提供できますか?著者はいくつかの開発提案を提供します。

<怒っていない>:この見方は一方的なものです。どのテクノロジーでも、客観的な判断を下すために、特に自分で練習する必要がある場合は、その起源、傾向、長所と短所について考える必要があります。サーバーレスは新しいテクノロジーではありません。AlibabaCloudの最初のクラウドサービスオブジェクトストレージOSSはサーバーレスストレージサービスです。OSSを使用しても、バックエンド開発者の技術開発スペースは圧縮されません。次の図は、柔軟で可用性の高いバックエンドシステムを構築するために考慮する必要のある要素を示しています。プラットフォームは、青い破線のボックスのみが担当します。バックエンド開発者は、他の多くのコンテンツを設計および実装する必要があります。

3.png

サーバーレスコンピューティングは、インフラストラクチャ管理など、ユーザーにとって最も基本的で最も差別化されていないダーティワークのみを解決します。アセンブリ言語に基づいてアプリケーションを構築できる開発者はほとんどいないのと同様に、サーバーレスもそうです。クラウドプログラミングの時代に、高レベルの言語でのプログラミング体験をユーザーに提供することが期待されています。

Serverless Devsオープンソースプロジェクト:

ゲストプロフィール

4.jpg

おすすめ

転載: blog.51cto.com/14902238/2561355