WordPressを使用したサーバーレスコンピューティングのビギナーズガイド
公開: 2019-06-16サーバーレスコンピューティングを理解することは、十分に混乱する可能性があります。 考慮すべき多くの賛否両論があるため、それがあなたにとって良い開発ソリューションであるかどうかを判断することはさらに複雑になります。
この記事では、WordPress開発者向けのサーバーレスコンピューティングの基本について説明します。 次に、このテクノロジーが自分に適しているかどうかを判断する際に考慮すべきいくつかの要素について説明します。
飛び込みましょう!
WordPressユーザー向けのサーバーレスコンピューティングの概要
サーバーレスコンピューティングは、特にその名前が誤解を招くため、最初は理解するのが難しい場合があります。 サーバーなしでWebサイトやアプリケーションを開発できる可能性があることを意味しますが、そうではありません。
代わりに、「サーバーレス」という用語は、プロジェクトの開発に必要なサーバーのセットアップと保守の仕事がクラウドサービスプロバイダーに任されていることを意味します。 これにより、開発者は、実際にWebサイトまたはアプリケーションを作成することに専念する時間を増やすことができます。
クラウドサービスプロバイダーは、すべてのバックエンドプロセスを従量制で処理します。 一方、Webサイトまたはアプリケーションは、拡張性の高いアーキテクチャに基づいて構築されています。 これらすべてをもう少し詳しく説明すると、サーバーレスコンピューティングは次の3つの主要な機能で構成されています。
- 「ベンダー」とも呼ばれるクラウドサービスプロバイダーによって完全に管理されるクラウドベースのサーバー。 開発者は、サーバーのメンテナンスを行ったり、プロジェクトの基盤となるインフラストラクチャについて心配したりする必要はありません。
- 最大限に使用する場合と使用しない場合があるプリペイドストレージではなく、使用量によって決定されるコスト。 サーバーレスコンピューティングでは、サイトまたはアプリの機能の実行に対してのみ料金が発生します。これらの機能は、コードの実行頻度に基づいて自動的にスケーリングされます。
- Webサイトまたはアプリケーションを個々の機能に分解するアーキテクチャ。 これは、サービスとしての機能(FaaS)とも呼ばれ、特定のイベントに応答してコードが実行されます。
多くの場合、これにより、開発者はサーバーのメンテナンスについて心配する必要がないため、プロジェクトをより迅速に立ち上げて実行することができます。 また、スケーラビリティを向上させ、場合によっては速度を向上させながら、コストを削減します。 ただし、サーバーレステクノロジーはすべてのプロジェクトに適しているわけではありません。
サーバーレスコンピューティングがあなたに適しているかどうかを判断する方法(5つの重要な要素)
サーバーレスコンピューティングが次のプロジェクトにとって強力な選択であるかどうかを判断しようとしている場合は、いくつかの考慮事項に留意する必要があります。 サイトとアプリケーションを開発するこの方法は多くの利点を提供できますが、プロジェクトの特定の品質に依存します。 それが何を意味するのかをもっと詳しく調べてみましょう。
1.プロジェクトのサイズとその潜在的なレイテンシーを検討します
まず、サーバーレスコンピューティングは、静的なWebサイトや単純なアプリケーションの作成に使用される場合に最も成功します。 サーバーレスアーキテクチャでは、静的ファイルと少数の単純な関数を簡単にエンドユーザーに提供できます。
ただし、非常に大規模な動的サイトや、より複雑な機能を多数備えたアプリケーションも、必ずしもうまくいくとは限りません。 プロジェクトが大きくなると、コードの実行時間が長くなる可能性があり、プロジェクトの速度と実行コストに悪影響を与える可能性があります。
関連する考慮事項は、Webサイトまたはアプリケーションを構成する各機能が使用される頻度です。 サーバーレスアーキテクチャの関数がしばらく呼び出されていない場合、そのコードは常に実行されているわけではありません。 ユーザーが頻繁に要求されない関数を呼び出す場合は、「コールドスタート」が必要になります。 これにより遅延が発生し、コードが再び「ウォームアップ」するまでに時間がかかるため、ユーザーエクスペリエンス(UX)に影響を与える可能性があります。
2.メンテナンスに費やすことができる時間を決定します
サーバーレス化の主な利点の1つは、節約できる時間の長さです。 たとえば、Webサイトまたはアプリケーションを実行するインフラストラクチャを構築する必要はありません。 プロジェクトに固有のコードに専念することができます。
ただし、さらに魅力的な時間の節約は、サーバーのメンテナンスについて心配する必要がないという事実です。 クラウドサービスプロバイダーがこれらすべてを処理し、開発中だけでなく、サイトまたはアプリケーションの存続期間全体にわたって時間を節約します。

とは言うものの、すでに別のプロジェクト用にサーバーを保守している場合は、少し追加の保守を行うことはそれほど問題にはならないかもしれません。 プロジェクトを従来のアーキテクチャからサーバーレスアーキテクチャに移行するのは非常に難しいという事実を考えると、知っていることに固執することは必ずしも悪い考えではありません。
3.予算を決定し、コストを比較します
サーバーレスの従量課金制の資金調達構造には、確かに魅力があります。 サーバースペースを前払いする従来の方法と比較すると、最も賢明なオプションのようです。 結局のところ、前払いの場合のように、使用していないスペースにお金を払う必要はありません。
ただし、それはサーバーレスコンピューティングが常に低コストの提案であることを意味するわけではありません。 前述したように、実行時間が長い関数はコストを大幅に増加させる可能性があります。 大規模なWebサイトや複雑なアプリケーションは、依然としてかなり高額な費用がかかります。
さらに、大量のリクエストが一度に行われる状況では、予想以上にコストがかかる可能性があります。 これには、単純なトラフィックスパイク、またはサービス拒否(DoS)攻撃などの不快なイベントが含まれる可能性があります。 いずれにせよ、あなたはそれらすべての要求に対して支払う人です。
つまり、サーバーレスアーキテクチャは、独自のサーバーを管理してストレージの前払いを行うという従来の代替手段よりも安価であると想定しないでください。 トラフィックレベルとプロジェクトの複雑さを考慮し、どちらか一方にコミットする前に潜在的なコストを比較します。
4.プロジェクトにとってスケーラビリティがどれほど重要かを理解する
Webサイトまたはアプリケーションの成長を処理することは継続的であり、必ずしも単純な作業ではありません。 潜在的な成長を考慮しないと、プロジェクトがクラッシュして燃える可能性があります。 ただし、過大評価すると、必要のない高価なサーバースペースにお金を払うことになります。
サーバーレスコンピューティングは、スケーラビリティの問題を解決し、プロバイダーの責任に任せます。 サーバーレスサイトまたはアプリケーションは非常にスケーラブルであり、ユーザーのニーズに即座に適応します。 サーバーの過負荷や、トラフィックの急増によるその他の悪影響について心配する必要はありません。
そうは言っても、特にWordPressを使用している場合は、プロジェクトをスケーラブルにする方法はたくさんあります。 従来のセットアップを選択する理由が他にもある場合は、スケーラビリティがサーバーレス化に向けたスケールのヒントとなる唯一の要因ではないはずです。
5.サーバーに対する制御の欠如を説明する
サーバーレスコンピューティングに関する最大の懸念の1つは、サーバーを制御できないことです。 クラウドサービスプロバイダーが非常に多くの面倒な詳細を処理するのは便利ですが、プロジェクトの一部の機能へのアクセスも制限されます。
サーバーにアクセスできない場合、Webサイトまたはアプリケーションが正しく機能するかどうかは、完全にサードパーティに依存しています。 また、バックエンドプロセスを確認できないため、従来のプロジェクトよりもデバッグとトラブルシューティングがはるかに困難になります。
さらに、ベンダーのセキュリティを事前に精査する方法はありません。 ユーザーデータやその他の機密情報を扱う場合、これは危険になる可能性があります。 プロジェクトが他のプロジェクトとサーバースペースを共有するかどうかを制御することはできません。これにより、データが公開される可能性があります。 もちろん、これらのリスクは軽減できますが、それでも検討する価値があります。
結論
サーバーレスコンピューティングは、最も単純な概念ではありません。 その多くの利点について多くのことを聞くでしょうが、考慮すべき重要な欠点もあります。 言い換えれば、サーバーレステクノロジーがプロジェクトに適しているかどうかを判断するのは簡単な作業ではありません。
始めるのに役立つように、サーバーレスにするかどうかを決定する際に考慮したい5つの要素を次に示します。
- プロジェクトのサイズとその潜在的なレイテンシーを考慮してください。
- メンテナンスに費やすことができる時間を決定します。
- 予算を決定し、コストを比較します。
- プロジェクトにとってスケーラビリティがどれほど重要かを理解します。
- サーバーに対する制御の欠如を説明します。
サーバーレスコンピューティングについて他に質問がありますか? 以下のコメントセクションでお知らせください!
記事サムネイル画像jkcDesign / shutterstock.com
