採用時に確認すべきチュートリアル
「サーバレスアーキテクチャ」初心者ガイド まず検討すべき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
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
3
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
4
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
「IBM iはDXのボトルネック」は誤解 意外と知らない今風モダナイズの効果
-
9
「朝8時にバッチが終わらない」データ爆発の危機をJPX総研はどう乗り越えたか
-
10
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー