採用時に確認すべきチュートリアル
「サーバレスアーキテクチャ」初心者ガイド まず検討すべき3大要素とは?
サーバレスアーキテクチャは開発チームに大きなメリットをもたらす一方で、採用の際には検討すべき要素が幾つかある。主要な3つの検討要素を紹介しよう。
従来のアプリケーションと比べて、「サーバレスアーキテクチャ」に基づくアプリケーション(以下、サーバレスアプリケーション)のメリットは多岐にわたる。特に物理サーバと仮想サーバのプロビジョニングやメンテナンスから開発者を解放できる点が大きい。サーバレスアーキテクチャは、アプリケーションサーバの存在を意識せずに開発可能なアプリケーションのアーキテクチャだ。
サーバレスアプリケーションでは、OSの更新など一般的なスケーリング作業やメンテナンス作業全てにクラウドベンダーが対処する。従来のアーキテクチャに基づくアプリケーションでは、開発者側がこうした作業をする必要があった。開発者はインスタンス(仮想マシン)の種類やリソースのスケーリング、アイドル状態のコンピューティングコストなどを気にする必要もなくなる。自身のアプリケーションの独自性や、その機能を高める特徴の開発に専念できる。
開発チームはサーバレスアーキテクチャを導入する前に、重要な決断を下さなければならない。チームスタッフの編成や開発フレームワーク(特定の設計手法に基づく機能群をまとめたソフトウェア)の選択、テスト方法などがその例だ。本稿はサーバレスアーキテクチャのチュートリアルとして、事前に検討すべき3つの重要な要素を取り上げる。
目次
- 検討要素1.開発チーム
- 検討要素2.フレームワークの選択(会員限定)
- 検討要素3.テスト方法(会員限定)
併せて読みたいお薦め記事
「サーバレスアーキテクチャ」とは何か
サーバレスアーキテクチャ導入事例
検討要素1.開発チーム
「サーバレスアーキテクチャを導入する際は開発者が中心的な役割を果たす」ことを最初に理解しておく必要がある。サーバレスアプリケーションのプロトタイプ開発では、コードをあまり使わない方法もある。ただしサーバレスアプリケーションの主役は、必要なカスタムロジックを構築する開発者だ。特にオープンソースの「Serverless Framework」、Amazon Web Services(AWS)の「AWS Serverless Application Model」(SAM)、「AWS Chalice」などのフレームワークを理解しているチームリーダーが必要だ。
チームには、アプリケーションの特定要素ごとに開発者が必要になる。API(アプリケーションプログラミングインタフェース)のコンポーネントとフロントエンドのコンポーネントがあるとしよう。この場合、個別の開発者チームを2つ作り、各チームが2つのコンポーネントのいずれかを担当する。従来のアプリケーションと同じように、個別の開発チームを全て連携させることがチームリーダーの役割になる。
検討要素2.フレームワークの選択
次に重要なのが「フレームワーク選び」だ。サーバレスアプリケーションの各フレームワークには長所と短所がある。前述の3つの一般的なフレームワークも例外ではない。
主に検討するのは、選んだフレームワークで、開発時間をそれほど増やさずにアプリケーションの特定の要件に対処可能かどうかだ。例えばAWS Chaliceはプログラミング言語「Python」を使用する開発者にとっては優れている。だがJavaScript実行環境「Node.js」を使用する開発者にとってはそれほど優れていない可能性がある。
Serverless FrameworkはNode.jsに関しては優れているものの、AWS ChaliceほどはPythonの使い勝手が良くない。SAMはAWSの同名クラウドサービス群での利用には最適だが、他社のクラウドサービスでは機能しない。
開発チームが最も使いやすいと感じるフレームワークが、最善の選択肢になることが一般的だ。開発チームが各フレームワークを試し、開発スタイルに最適なものを確認する。
検討要素3.テスト方法
最後は「テスト」だ。SAMやServerless Frameworkのようなフレームワークを選んだ場合、運用環境を緻密にシミュレーションできるテスト環境の作成が重要になる。開発者には各プラットフォームに各自のアカウントを設定してもらい、定義済みの運用環境を模倣できるようにする。例えばAWSでは、運用前に変更をテストするために、開発者が個別のアカウントを作成できる。
この方法はリスクを伴う恐れがある。アクセスキーなどの機密情報は一般的なコードリポジトリの外に保持する必要がある。こうした機密情報にアクセスするための手段として、機密情報を暗号化して保存する階層型ストレージサービスの「AWS Systems Manager Parameter Store」や、データベース管理サービス「Amazon DynamoDB」の暗号化されたテーブルなど、安全な保管環境を用意する。ローカル開発中でもそれは変わらない。環境変数に機密情報を格納しなければならない場合は、それらを暗号化し、AWSの「AWS Key Management Service」などの暗号鍵管理の仕組みを使用することだ。
個別の単体テストに加えて、自動化されたエンドツーエンドテスト(E2Eテスト:エンドユーザーによる画面操作を自動化して出力結果を確認するテスト)を実施する必要もある。例えばAWSのAPI管理サービス「Amazon API Gateway」でバイナリを出力するように構成していないのに、イベント駆動型コード実行サービス「AWS Lambda」の関数でPNGファイルを出力しようとしたらどうなるだろうか。一見、単体テスト中は適切に機能しているように見える。だがAmazon API Gatewayはプレーンテキストを出力しようとするため、PNGファイルの出力が文字化けのような状態になってしまう。
「Ghost Inspector」「New Relic」などの監視ソフトウェアを使用して変更を積極的に監視し、「Sentry」(開発:Functional Software)や「IOpipe」などのログ記録ソフトウェアをインストールして、実際のユーザーエラーを監視することが重要になる。
サーバレスアーキテクチャは最新のアプリケーションの開発や管理にとって優れた選択肢になる。ただし、それは適切に構成した場合に限られる。このチュートリアルにまとめたアドバイスを参考に、紹介したツールを最大限に活用してほしい。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
市場調査・トレンド
[AvePoint Japan株式会社] SCS評価制度の死角は“SaaSの中” クラウド標準機能では届かない領域とは? -
製品資料
[デジタルサーカス株式会社] 5分で分かる、「オープンソースCMS」比較ガイド -
製品資料
[デジタルサーカス株式会社] 1つのアプリを各国で運用 多言語モバイルアプリを簡単に開発・導入できる方法 -
製品資料
[ニュータニックス・ジャパン合同会社] 複雑化するKubernetes運用、VMとコンテナの二重管理を解消する方法は? -
市場調査・トレンド
[アルプス システム インテグレーション株式会社] 急増する高度なフィッシング詐欺 先回りしてブロックするには何が必要?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft 365導入後も稟議は「Excelをメールで回覧」 承認が止まる理由
-
2
米国防総省で300万人分の個人情報が流出 その「意外な原因」と教訓
-
3
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
4
PHPはそもそも必要か? 脆弱性で問われる自社サイト安全性と保守負担のバランス
-
5
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
6
金融・通信で情報漏えいが続出 IPAとJPCERT/CCが情シスに求める緊急点検
-
7
「年1回の外部診断」が限界に 大手小売が脆弱性管理を内製化・一元化した方法
-
8
京王電鉄・東京メトロの被害から学ぶ境界防衛 ITの侵害はどこまで波及するか
-
9
PHP2Shellの「事前の情報流出」でパニックに パッチ公開を巡る“混乱劇”
-
10
Googleの業務向けAIエージェント「Gemini Agent」が登場 しかし課題は山積み
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
5
「IT史に名を残すシステム障害」8選
-
6
「EDR」選定ガイド:比較・検討フェーズで整理すべきポイントを解説
-
7
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
MDMだけでは防げない? Appleデバイスに潜む5つのセキュリティギャップ
-
10
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー