SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2019夏】セッションレポート(AD)

マルチテナントアーキテクチャを選択する場合の設計の勘所とは?【デブサミ2019夏】

【A-8】クラウドネイティブ時代のマルチテナントアーキテクチャとデータ設計

  • X ポスト
  • このエントリーをはてなブックマークに追加

AWPで採用しているパフォーマンス改善の仕組み

 マルチテナント形式の場合、資源を共有しているという性質上、パフォーマンスに何かあると、影響が広範囲にわたりやすいという問題がある。「あらかじめパフォーマンス問題をすべて抑えるのは難しい」と和田氏。そのため同サービスでもパフォーマンス対応が後手に回ってしまっていたと言う。だが、昨今、ようやくパフォーマンス問題の兆候をつかむ仕組み作りができた。

 その仕組みのために活用しているのが、「CloudWatch Logs Insights」というAWSが提供しているパフォーマンス分析サービスである。使い勝手も簡単。EC2上、もしくは標準出力にログ出力するようにし、それに連携するエージェントを仕込んでおく。するとCloudWatch上にログが蓄積されていくので、あとはそれに対してクエリを発行するだけだ。日々同サービスを活用し、処理時間がかかっているタスクの洗い出しを行っていると言う。

 PDFや画像、CSVなどのファイル生成を伴うものなど、重たいAPIについては、ロードバランサを利用して別のサーバに処理を振り分けることを行っていると言う。「マルチテナントとは関係ないが、これも簡単にできて効果的なので、ぜひお勧めしたい」(和田氏)

 またマルチテナント形式でサービス提供をしていると、どうしても特定のユーザーに資源が専有されてしまうことが起こると言う。これを極力抑えるために、単位時間あたりの呼び出し数や取得可能レコードの件数、アップロードの上限など、いろいろな面で制約をかけていくことが必要になる。「あとから制限をかけるのは大変なことなので、初期段階でしっかり考えておくことが重要になる」と力強く語る。

 このようにマルチテナントアーキテクチャを選択した場合、通常の業務システムと比較すると非機能面で考慮すべきことが多い。「初期段階で押さえておくことで、アプリケーションの開発に集中でき、よりよいサービスの提供につながっていくはずだ」

 最後にこう語り、和田氏はセッションを締めた。

図2 CloudWatch Logs Insightsを活用し、パフォーマンス分析
図2 CloudWatch Logs Insightsを活用し、パフォーマンス分析

お問い合わせ

 株式会社エイトレッド

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2019夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11647 2019/07/30 17:11

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング