Some reflections on the enterprise value of serverless application architecture

はじめに

エンタープライズにとっての核心的な関心事は、いかにして収益を増やし利益を高めるか、より一般的に言えば、いかにしてより多くの利益を生み出すかである。企業が利益を得る主な手段はエンタープライズサービスの販売であり、ユーザーがより多くのエンタープライズサービスを購入すれば企業の収益は増え、エンタープライズサービスの提供コストが低いほど企業の利益は高くなる。つまり、エンタープライズにとって最も望ましいのは、エンタープライズサービスの効率性、コスト、体験が継続的に改善されることだ。サービスの体験が向上すれば購入する顧客は自然に増え、効率性が高ければ同じ時間でより多くのサービスを提供でき、コストが下がれば個々のサービスの利益と収益が増加する。

エンタープライズサービスの価値を定義した上で、収益と利益の成長にはコスト、効率性、体験が重要な要素であることを理解する。

Serverless アーキテクチャとは

簡単に言えば、アプリケーションの構築に必要なコンピューティング、ストレージ、ネットワーク、データベース、ミドルウェアの各サービスが Serverless 化され、各システムがクラウドを最大限に活用し、セキュリティ、高可用性、高同時実行処理能力、スケーラビリティの面で最大の価値を実現しているアーキテクチャである。具体的な例として、Serverless アーキテクチャで実装された WebSocket クラスター、すなわち弾幕アプリケーションのシナリオを通して詳しく説明する。

このプロジェクトは、コンピューティング、ストレージ、ネットワーク、データベース、ミドルウェアの全コンポーネントを包括的に活用し、エンタープライズ標準に準拠して構築されている。セキュリティ、高パフォーマンス、安定性、スケーラビリティを備え、クラウド、エッジ、エンドポイントを統合するモダンなアクセスアーキテクチャを実現している。

websocket.serverless-developer.com プライマリドメイン名は、DCDN によるグローバル高速化で管理されている。プライマリドメインからのリクエストはエッジノードの ER プログラムに転送される。ER プログラムではキャッシュ処理と動的・静的コンテンツの振り分けを行い、動的リソースは Alibaba Cloud Function Compute ゲートウェイに転送される。Function Compute ゲートウェイはインスタンスを弾力的に起動してビジネスロジックを処理し、MNS メッセージミドルウェアや Tablestore データベースストレージにアクセスする。静的リソースは最大限にキャッシュされ、必要な場合は OSS オブジェクトストレージから取得して配信元に戻す。DCDN はエッジ保護により DDoS 攻撃を防ぎ、HTTPS セキュリティ証明書を追加して Web サイトの暗号化通信を実現している。エッジノードの ER プログラムはサーバレスで起動・停止でき、ミリ秒単位の応答時間を達成できる。同時に Function Compute はより複雑なビジネスコンピューティングに対して柔軟なコンピューティング能力を提供し、トラフィック増加時はインスタンスを自動拡張し、トラフィックがない場合はゼロまでスケールダウンする。

barrage.websocket.serverless-developer.com は WebSocket サービスを専門に提供しており、DCDN が Function Compute に自動で配信元復帰を行う。これは WebSocket プロトコル自体がエッジアプリケーションで転送できないためである。

注目すべきは、著者がフロントエンドエンジニアとして高可用性、高同時実行性、セキュリティなどの専門知識をほとんど持っていないにもかかわらず、これらの機能を自身のアプリケーションに組み込めている点だ。詳細は「誰もが Serverless アーキテクトに - WebSocket クラスター実践」[1] を参照してほしい。

エンタープライズのデジタルトランスフォーメーションにおける Serverless アーキテクチャのメリット

エンタープライズのデジタルトランスフォーメーションを通じて、エンタープライズサービスのコスト、効率性、ユーザー体験を最適化するという基本的な合意に達することができる。ただし、ここでは組織文化の変革には触れず、デジタル管理ツール、特に業務ソフトウェアに焦点を当てる。ソフトウェア構築の基盤アーキテクチャは徐々に変化している。IDC からコンテナクラスターを経て、K8s が基盤ソフトウェアアーキテクチャレベルで運用保守の体験、効率性、コストを改善してきた。次の進化段階は Serverless だ。ここで明確にすべきは、効率性、コスト、体験の全体の最適なバランスを追求しているのであり、個々の絶対値ではないということだ。この三者間には相互排他的な関係があり、たとえば体験向上にはコスト増加や効率性低下が伴う可能性があり、逆にコスト削減や効率性向上が体験に影響を与えることもある。Serverless アーキテクチャは、コンテナクラスター管理と比較して、適用分野でこの三者間のより良いバランスを実現することが期待されている。

コスト

コンピューティングリソースコストの観点では、Serverless はコンテナ化よりも粒度の細かいコンピューティング抽象化を持ち、従量課金によりコンピューティングリソースの無駄を大幅に削減できる。

開発コストについては、分散トポロジーノードの増加に伴い、開発と運用保守のコストも増加する。さらに、市場における新しいアプリケーションアーキテクチャ関連の人材不足も Serverless アーキテクチャの適用に影響を与える。ただし、Serverless 開発者向けツールは日々改善されており、Serverless アプリケーションの開発パラダイムはより明確になっていくだろう。市場には Serverless アプリケーションアーキテクチャの実践事例が増えつつあり、開発コストはすぐに補償されると信じている。

効率性

1. デジタルツールの反復更新効率

Serverless アーキテクチャは本質的に洗練されたクラウドアーキテクチャである。従来のサーバではネットワーク、コンピューティング、ストレージ、データベース、ミドルウェアなどが個別に分割されていたが、Serverless では各コンポーネントが自身の最適な部分にのみ焦点を当てている。たとえば、エッジノードが提供するネットワークはユーザーのアクセス遅延とトラフィック課金を削減でき、Serverless コンピューティングサービスは極限の柔軟性を提供し、ストレージは無制限の容量の可能性を提供し、データベースは高性能な読み取りと書き込みの分離を備え、ミドルウェアはアプリケーションの高同時実行処理能力を提供できる。結局のところ、Serverless アーキテクチャのコンポーネントシステムはアプリケーションロジック以外のさまざまな複雑な IT 問題を解決するため、開発者はビジネス開発以外のことを気にする必要がなくなり、デジタルツールの反復更新効率が大幅に向上する。

DevOps や AIOps といった最新の開発エンジニアリングシステムと組み合わせることで、Serverless は開発効率をさらに向上させることができる。

2. デジタルツールによるエンタープライズサービスの効率性向上

今後、エンタープライズはパフォーマンス、高可用性、高同時実行性、セキュリティを含むエンタープライズレベルのデジタルサービス機能にますます依存していく。しかし、ビジネス指向の開発チームがこれらの非ビジネス的で複雑なソフトウェアエンジニアリング問題に対処することは往往にして困難だ。Serverless のアプリケーションアーキテクチャは本質的に組み立て型パラダイムであり、そのコンポーネントは高度に抽象化された技術ソリューションで、専門チームが数年かけて構築したエンタープライズレベルの機能を備えている。そのため、ビジネス開発者は技術の基盤詳細を把握する必要がなく、それを利用してビジネス自体にサービスを提供するだけでよい。このように組み立てられたソフトウェアアプリケーションは、自然にエンタープライズレベルの機能を備えている。

Serverless アーキテクチャの組み立て型開発

ユーザー体験

ここでは主にサービス体験、より具体的にはエンタープライズビジネスに関わるソフトウェアアプリケーションの利用体験を指標としている。たとえば、ソフトウェアの機能自体やソフトウェアの使いやすさなどだ。ソフトウェア機能はビジネスの抽象的定義だけでなく、技術チームの実装にも関係している。豊富なアトミックな機能により、Serverless アーキテクチャはエンタープライズが技術ギャップを埋め、より複雑なデジタルサービスソフトウェアを構築する上で自然な優位性を持っている。

前述の WebSocket クラスターを例に挙げると、エンタープライズの関連ビジネスで弾幕アプリケーションを立ち上げているものの、技術実装の限界により大規模で高同時実行な実装ができておらず、このサービスを利用したいユーザーに必然的に影響が出ている。しかし Serverless アーキテクチャを活用すれば、高可用性アーキテクチャを組み立てるように構築できるため、社内に高可用性や高同時実行性の専門家がなくても、高パフォーマンスと高同時実行性のビジネス要件を実現できる。

さらに、Serverless のフルリンク拡張のおかげで、開発者はネットワークレベルでのパフォーマンス最適化にも参加できる。エッジ Serverless コンピューティング能力を利用してエッジレンダリングやエッジキャッシングを行うことで、デジタルサービスがユーザーに届く時間を短縮し、デジタルサービスのアクセス体験を向上させることができる。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.