モノリシックからサーバーレスに移行する際の落とし穴を避けるためのガイド

モノリシックからサーバーレスに移行する際の落とし穴を避けるためのガイド

ユーザーの需要とクラウドの開発により、クラウド ネイティブ テクノロジーの台頭、開発、大規模な応用が促進されました。この記事では、主にクラウド ネイティブ アプリケーションとは何か、クラウド ネイティブ アプリケーションを構成する要素とは何か、サーバーレス コンピューティングとは何か、サーバーレスによって技術的な複雑さが簡素化され、急速に変化するニーズにユーザーが対応できるようになり、弾力性と可用性に優れたサービスが実現される仕組みについて説明します。また、具体的な事例やシナリオを通じて説明します。

昨今、あらゆる分野でデジタル変革が話題になっていますが、特に小売、メディア、運輸、その他の業界ではそれが顕著です。デジタルビジネスモデルが主流となり、徐々に従来のビジネスモデルに取って代わっています。他の業界(工業製造業など)では、企業のビジネスモデルがデジタル形式で表現されていないものの、デジタルツインの概念の下、データ技術を駆使して生産業務を最適化することも研究のホットスポットおよび業界のコンセンサスになりつつあります。

企業は、生産手段、生産関係、戦略計画、成長曲線という 4 つの観点からデジタル変革を進めます。

  • 生産資材:データは最も重要な生産資材となり、需要やリスクは随時変化するため、企業は大きな不確実性に直面しています。
  • 生産関係: プロセスとルールに基づく固定された生産関係ではなく、データ中心です。ネットワーク効果により、生産関係は時間と空間の制約を超越し、複数のつながりによって新しいビジネスや種が生まれます。
  • 戦略計画: データに基づいて意思決定を行い、不確実なビジネス環境に迅速に対応します。
  • 成長曲線: デジタル テクノロジーは、膨大な数のユーザーにリーチする能力を提供し、画期的な成長をもたらす可能性があります。

クラウドの進化の傾向をクラウドサービスプロバイダーの観点から見ると、クラウド1.0の時代ではインフラのクラウド化がテーマでした。クラウド ホスティング モデルでは、クラウド上のアプリケーションとクラウド外のアプリケーションの互換性が維持され、従来のアプリケーションをクラウドに直接移行できます。このアプローチの核となる価値は、リソースの弾力性と低コストにあります。インフラストラクチャが膨大なコンピューティング能力を提供した後は、ユーザーがコンピューティング能力をより有効に活用し、企業のイノベーションのペースを加速できるように支援することが、クラウドの中核的な機能になりました。

基本的なアプリケーションが依然としてサーバー上に構築されている場合、研究開発コストは非常に高くなり、管理が困難になります。こうして、クラウドネイティブ時代であるクラウド2.0が誕生しました。クラウドネイティブ時代において、クラウド サービス プロバイダーは、企業のデジタル変革とイノベーションを支援する豊富なホスティング サービスを提供しています。ユーザーは、さまざまなクラウド サービスに基づいてアプリケーションをビルディング ブロックのように構築できるため、研究開発コストが大幅に削減されます。

クラウドネイティブアプリケーション要素

クラウドネイティブ アプリケーションには、マイクロサービス アーキテクチャ、アプリケーションのコンテナ化とサーバーレス、アジャイル ソフトウェア配信プロセスという 3 つの重要な要素があります。

1. マイクロサービスアーキテクチャ

モノリシック アーキテクチャとマイクロサービス アーキテクチャにはそれぞれ独自の特性があります。主な特徴の比較を下図に示します。一般的に、モノリシック アーキテクチャは使いやすいですが、保守が難しく、マイクロサービス アーキテクチャは導入が難しいですが、独立性と俊敏性に優れており、クラウド ネイティブ アプリケーションに適しています。

▲ モノリシックアーキテクチャ VS マイクロサービスアーキテクチャ

2. アプリケーションのコンテナ化とサーバーレス

コンテナは現在、コードをカプセル化する最も一般的な方法です。 K8s とそのエコロジカルな機能のおかげで、インフラストラクチャ全体の管理の難しさは大幅に軽減されました。さらに、コンテナーはプログラム サポートにおいて優れた柔軟性と移植性を提供します。アプリケーション全体をカプセル化するためにコンテナを使用するユーザーが増えています。サーバーレス コンピューティングは、エンドツーエンドの統合とクラウド サービスの統合を多く含み、R&D の効率を大幅に向上させるコンピューティングの別の形式です。ただし、従来のアプリケーションとの互換性はコンテナほど柔軟ではありません。しかし、それはまた多くのすっきり感をもたらします。ユーザーはビジネス ロジックのコーディングとビジネス ロジックの革新にのみ集中する必要があります。

3. アジャイルアプリケーション配信プロセス

アジャイルなアプリケーション配信プロセスは非常に重要な要素であり、主にプロセスの自動化、機能開発への重点、問題の迅速な発見、迅速なリリースと起動が含まれます。

サーバーレスコンピューティング

1. Alibaba Cloud Function Compute

サーバーレスは新しい概念ですが、その意味合いはすでに存在しています。 Alibaba Cloud または AWS の最初のクラウドサービスはオブジェクトストレージであり、実際にはストレージ分野におけるサーバーレスサービスです。さらに、サーバーレスは単一の製品ではなく、製品システムを指します。現在、業界のクラウド サービス プロバイダーがリリースする新機能や新製品のほとんどは、サーバーレス形式です。 Alibaba Cloud のサーバーレス製品システムには、コンピューティング、ストレージ、API、分析、ミドルウェアが含まれます。現在、クラウドの製品システムはサーバーレス化が進んでいます。

Alibaba Cloud サーバーレス コンピューティング プラットフォームの機能コンピューティングには、次の 4 つの機能があります。

  • クラウドとのシームレスな統合: さまざまなクラウド サービスが、イベント駆動型で機能コンピューティングとシームレスに統合されます。ユーザーは機能開発に集中するだけでよく、イベントのトリガーはサービスプロバイダーによって完了します。
  • リアルタイムの弾性スケーリング: システムは、関数計算の弾性スケーリングを非常に高速に自動的に完了します。ユーザーはオンライン アプリケーションでこの機能を使用できます。
  • 1 秒未満の計測: 1 秒未満の計測では、リソース使用率 100% で完全にオンデマンドの計測方法が提供されます。
  • 高可用性: Function Compute プラットフォームは、ユーザーが高可用性アプリケーションを構築できるようにするために多くの作業を行ってきました。

では、Alibaba Cloud Function Compute はどのようにして上記 4 つのポイントを実現するのでしょうか? Alibaba Cloud Function Compute の製品機能図を下図に示します。まず、Function Compute 製品は Alibaba のインフラストラクチャ サービス上に構築された製品であり、その上のコンピューティング層で多くの最適化が行われています。次に、アプリケーション層で多数の機能とツールを開発しました。上記の製品機能に基づいて、さまざまなシナリオで完全なソリューションをユーザーに提供し、優れた機能コンピューティング製品全体を構築しました。 Function Compute は、Alibaba Cloud の非常に基本的なクラウド製品です。 Alibaba Cloud の製品と機能の多くは Function Compute 上に構築されています。現在、Alibaba Cloud Function Computeは世界19のリージョンでサービスを提供しています。

▲ Alibaba Cloud Function Compute 製品機能図

2. サーバーレスは、クラウドネイティブアプリケーションの高可用性設計と実装の複雑さを簡素化します。

クラウドネイティブ アプリケーションの高可用性は、多くの側面を含む体系的なプロジェクトです。完全な高可用性システムを構築するには、多大な時間と労力が必要です。では、サーバーレス コンピューティングは、クラウド ネイティブ アプリケーションの高可用性設計と実装の複雑さをユーザーがどのように簡素化するのでしょうか?下図に示すように、高可用性システムを構築する上で考慮すべきポイントは、インフラストラクチャ層、ランタイム層、データ層、アプリケーション層などがあり、各層には高可用性を実現するために行うべき作業がたくさんあります。 Function Compute は、高可用性を実現するために、フォールト トレランス、弾力性、フロー制御、監視という 4 つの側面で多くの作業を行ってきました。次の図の青い点線のボックスに対応する機能はすべてプラットフォームによって実装されているため、ユーザーが考慮する必要はありません。プラットフォームは、青い実線ボックス内のユーザーの作業の難しさを簡素化するためにいくつかの作業を行っていますが、それでもユーザーの注意が必要です。オレンジ色の実線のボックスは、ユーザーの責任が必要な機能の一部を表します。プラットフォームが提供する機能とユーザーの部分的なエネルギー投資を組み合わせることで、ユーザーが高可用性システムを構築する際の難易度を大幅に軽減できます。

▲ 機能コンピューティング高可用性

Function Compute は、ユーザーが高可用性システムを構築できるように、さまざまな面で最適化されています。次の図は、可用性ゾーンにおける Function Compute の災害復旧機能を示しています。図からわかるように、Function Compute は対応する負荷分散を実行し、災害復旧機能を大幅に向上させます。

▲ 機能 コンピューティング マルチアベイラビリティゾーン 災害復旧

次の図は、Function Compute によるイベントの非同期処理を示しています。処理パイプラインには、主にイベント キュー、イベント配布、イベント消費の 3 つのリンクが含まれます。各リンクは水平方向に拡大縮小できます。重要なポイントの 1 つは、イベントの配信が下流の消費能力と一致する必要があることです。さらに、機能ごとに異なる量のコンピューティング リソースを指定することにより、ユーザーはさまざまな種類のイベントの消費速度を簡単かつ動的に調整できます。さらに、エラー再試行ロジックをカスタマイズし、バックプレッシャーフィードバックとフロー制御を設定することで、短期間に大量のリクエストが生成されても次のサービスが過負荷にならないようにすることができます。

▲関数計算イベントの非同期処理

Function Compute の可観測性に関しては、ログ収集機能とクエリ機能が提供されます。デフォルトのシンプルなログクエリ機能に加えて、高度なログクエリも提供されており、ユーザーはより便利にログ分析を実行できます。指標の収集と可視化の面では、Function Compute は豊富な指標収集機能を提供し、標準指標や概要情報などのビューを提供することで、ユーザーが運用や保守作業をより簡単に実行できるようにします。次の図は、アプリケーション配信の概略図です。アプリケーション配信プロセス全体において、各リンクが適切に実行されて初めて、アジャイルなアプリケーション配信プロセスを構築できます。このプロセスの中核は自動化です。自動化を実現することによってのみ、パイプライン全体の効率性と俊敏性を向上させることができます。

▲ アジャイルアプリケーション配信プロセス

次の図は、自動化されたアプリケーション配信パイプラインの各リンクの特定のタスクを示しています。なお、テンプレートを定義してアプリケーションの動作環境を自動的に設定し、継続的インテグレーションの自動化などを実現するためには、インフラストラクチャ・アズ・コードが必要です。

▲ 自動化されたアプリケーション配信パイプライン

アプリケーションの自動配信が実現すると、全体的な研究開発の効率が大幅に向上します。サーバーレス アプリケーションの場合、Alibaba Cloud は、ユーザーがインフラストラクチャをコードとして実装するのに役立つさまざまなツールを提供します。サーバーレス モデルには、同じテンプレートで異なるパラメーターを渡してさまざまな環境の定義を生成し、それらの環境を自動的に管理できるという優れた機能があります。

アプリケーション自体のさまざまなサービス バージョンの配信とグレースケール リリースのために、Function Compute は、対応するサービスを提供するためにサービス バージョンとサービス エイリアスを提供します。アプリケーション全体のグレースケールリリースプロセスをいくつかの API 操作に簡素化できるため、ビジネス効率が大幅に向上します。サーバーレス コンピューティング プラットフォームによって提供されるこれらの機能により、ソフトウェア アプリケーション配信パイプライン全体の自動化の度合いが大幅に向上しました。

Function Compute には、既存のアプリケーションとの互換性という非常に便利な機能もあります。カスタム ランタイムを通じて、多くの一般的なフレームワークに適応し、従来のアプリケーションと互換性を持つことができるため、サーバーレス プラットフォームに簡単に適応できます。コンソールは、アプリケーションの作成、展開、関連するリソースの管理、監視などの一連のサービスを提供します。

関数コンピューティングに加えて、サーバーレス ワークフローは、さまざまなアプリケーション リンクと関数をオーケストレーションするためにも使用できます。ワークフローは、各ステップを確実に実行するための記述言語を使用して定義できるため、ユーザーにとって複雑なタスクを調整する難しさが大幅に軽減されます。

応用シナリオ例

関数コンピューティングにはいくつかの典型的なアプリケーション シナリオがあり、その 1 つが Web/API バックエンド サービスです。 Alibaba Cloud にはすでに、Graphite Docs、Weibo、Century Hualian など、多くの成功したアプリケーション事例があります。

関数コンピューティングのもう 1 つの応用シナリオは、大規模な並列データ処理です​​。たとえば、大量の画像、音声、テキストなどのデータを OSS にアップロードすると、トランスコードやフレームキャプチャなどのカスタマイズされた処理を実行する機能がトリガーされます。この点での成功事例としては、Hupu、Focus Media、Baijia Internet などが挙げられます。

関数コンピューティングのもう 1 つのアプリケーション シナリオは、リアルタイム ストリーミング データ処理です​​。たとえば、さまざまなデバイスによって生成されたメッセージとログは、メッセージ キューなどのパイプラインのようなサービスに送信され、ストリーミング処理を実行する関数をトリガーできます。

最後のアプリケーションシナリオは、運用と保守の自動化です。時間指定トリガー、クラウド監視イベントトリガー、プロセスオーケストレーションなどを通じて機能を呼び出すことで、運用保守タスクが完了し、運用保守のコストと難易度が大幅に削減されます。典型的な成功事例としては、TuSimple が挙げられます。

TuSimple は、L4 無人トラック技術の研究開発と応用に重点を置いた人工知能企業です。大規模に商業化できる無人トラック技術を世界に提供し、世界の物流・運輸業界に力を与えます。路上テストでは大量のデータが生成されますが、これらのデータの処理フローは複雑で変化しやすくなります。同じデータ バッチであっても、ビジネス グループによって使用方法や処理方法が異なります。さまざまなデータ処理プロセスを効果的に管理し、人的介入の頻度を減らすことで、生産効率を大幅に向上させることができます。

道路テストの不規則な運用により、プロセス スケジューリング タスクの実行時間と実行期間が極めて不確実になります。ローカルコンピュータルームでは、プロセス管理システムの構築のみでマシンの利用率の最適化を最大限に高めることは困難であり、リソースの無駄が生じます。 TuSimple にはすでにローカルに統合された業務処理スクリプトやアプリケーションが多数存在しますが、さまざまな制約によりクラウドに完全に移行することができず、クラウド サービスをいかに合理的に活用するかという課題も生じています。

上記の状況に対応して、TuSimple はデータ処理プラットフォームの自動化を検討し始めました。 Alibaba Cloud Serverless ワークフローは、スケジュールが実行される回数に基づいて課金されます。使いやすさ、統合のしやすさ、操作とメンテナンスのシンプルさなど、多くの利点があります。これは、上記のシナリオで発生した問題を適切に解決でき、不規則に実行されるオフライン タスク シナリオに非常に適しています。

サーバーレス ワークフローは、ローカルまたは自社構築のデータ センターでのタスクのオーケストレーションもサポートします。 TuSimple は、サーバーレス ワークフローでネイティブにサポートされているメッセージング サービスである MNS を使用して、クラウド内外のデータ接続の問題を解決し、元のローカル タスクを適切に調整および管理できるようにします。

サーバーレス ワークフローは、スケジュール設定に加えて、タスクのステータスと実行中に生成されたデータのメンテナンスもサポートします。 TuSimple は、タスクの入力と出力のマッピングおよびステータス レポート メカニズムを使用して、プロセス内の各タスクのライフ サイクルとタスク間のデータ転送を効率的に管理します。

今後、事業規模の拡大に合わせて、TuSimple はオフラインのビッグデータ処理プロセスの運用効率と自動化レベルを最適化し続けます。 TuSimple は、さまざまな調査を通じて、エンジニアリング チームの効率をさらに向上させ、ビジネス革新にさらに多くのエネルギーと資金を投資していきます。

要約する

サーバーレス ワークフローは、Alibaba Cloud のサーバーレス製品システムの重要な部分です。サーバーレス ワークフローを通じて、ユーザーは Function Compute や Visual Intelligence Platform などの複数の Alibaba Cloud サービスや独自に構築したサービスをシンプルかつ直感的な方法でワークフローにオーケストレーションし、弾力性と可用性に優れたクラウドネイティブ アプリケーションを迅速に構築できます。

Function Compute は 2017 年に開始されて以来、アプリケーションの負荷の変化に応じてリアルタイムでインテリジェントかつ柔軟にスケールアップおよびスケールダウンし、安定したレイテンシを確保しながら 1 分で数万のインスタンスのスケーリングを完了しています。現在、Weibo、Mango TV、BGI、TuSimple、Graphite Technologyなどのユーザーの主要アプリケーションをサポートしており、ビジネスのピークにも簡単に対応できます。

<<:  Skywalking 分散リンク トレーシングの概要

>>:  マルチクラウド戦略が克服しなければならない 5 つの課題

推薦する

ウェブマスターネットワークからの毎日のレポート:FacebookのIPOは公聴会を目撃し、電子商取引の価格戦争は再び激化するだろう

1. 米国議会はフェイスブックのIPO初日の失敗について公聴会を開く予定北京時間6月15日朝のニュー...

初心者のためのウェブサイト診断レポートの書き方

先日書いた「Webサイト診断レポートの鉄則14か条(前編)」が皆様に好評をいただいており、大変嬉しく...

相互リンクに関するよくある誤解と、ウェブマスターが相互リンクを嫌がる理由の分析

最近、相互リンクが多くのウェブマスターの注目を集めていますが、実際にリンクを交換しているウェブマスタ...

Baiduの最適化に関する個人的な意見

Baidu は現在、世界最大の中国の検索エンジンであり、ほとんどのウェブマスターにとって非常に重要な...

「コンピューティングパワーが基盤を構築、デジタルナビゲーション」国家スーパーコンピューティング済南センター科学技術産業サミットが北京で開催

3月26日、「コンピューティングパワーの基盤、デジタルナビゲーション」国家スーパーコンピューティング...

SEOにおけるnofollowタグの属性と機能の包括的な分析

この記事では、nofollow タグの使い方と書き方を 5 つの知識ポイントから総合的に分析します。...

Aoyou Host: 20% オフ、(3 つのネットワーク) US cn2 gia vps、200M 帯域幅、54 元/月、2G メモリ/1 コア/30g SSD/500g トラフィック

10年以上運営され、優れた評判を持つ「Aoyou Host」は、今月、米国ロサンゼルスのマルチコムデ...

ウェブサイトデザイン分析: コアの使用

翻訳者注: この記事の元のタイトルは「コアとパスを使用した画面の設計」です。この記事の著者は、都市計...

cloudcone: 旧正月特別プロモーション、米国 VPS、年間 11 ドルから - 384M メモリ/10g SSD/8T トラフィック

Cloudcone は、旧正月に向けて特別に VPS 割引を用意しました。年間わずか 11 ドル、K...

クラウドストレージの5つの利点の簡単な分析

クラウドまたはマルチクラウド ストレージ環境への移行を検討する場合、データ ストレージ管理者はクラウ...

【1月のゲームアプリランキング】レジャーや娯楽におすすめのモバイルゲームはこれ!

MOBAモバイルゲーム「 Honor of Kings 」は強力なトラフィック誘致能力を備えており、...

Hostgator: cpanel 仮想ホスティング、40% オフのプロモーション、中小規模のウェブサイトに最適

Hostgator は、最新の cPanel 仮想ホストの特別プロモーションを開始しました。40% ...

質の高いフレンドリーリンクを判断して交換する方法

現在、多くの SEO 担当者は、高品質の外部リンク (主に友好的なリンク) を非常に重視しており、多...

ソフトテキストマーケティングの「行き詰まり」の観点からソフトテキストマーケティングの要素を見る

ソフト記事マーケティングは簡単に理解できます。これは、広告的な性質を持つ記事を作成し、それを潜在顧客...

Weiboマーケティングへの近道はあるのでしょうか?何をすべきでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス今最も急速に広まっている...