Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

パフォーマンス低下の原因をコードレベルで特定、開発者ファーストなAPMツール「Scout APM」とは?

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/09/10 12:00

目次

スタークスはなぜ他社からScout AMPに移行したのか

 そんなScout APMを活用し、自社サービスの品質向上につなげているのが、Eコマース領域を中心にマーケットイノベーションを追求しているスタークスである。

 「当社のプロダクトである『クラウドロジ』は、物流コストを最適化させる発送代行のサービスです。入庫から、在庫管理・出荷指示・帳票出力・梱包作業・出荷データ取り込みまでの一連の発送業務を1梱包あたり10秒で終わらせるようにしています。このような世界では、レスポンスが0.5秒遅れるだけで大きなデメリットとなります。つまりクラウドサービスのパフォーマンスが低下すると、ビジネスの生産性をも低下させてしまう。それを防ぐためにもScout APMの活用は欠かせません」(片居木氏)

スタークス CTO 片居木線氏
スタークス CTO 片居木線氏

 またLINE@に特化したカスタマーサポートツール「CS cloud」でもScout APMを活用している。「LINEはAPIの仕様上、短時間に返信しなければならないという制約があります。そのため、アプリケーションの処理時間をなるべく短くしないと、ユーザーが判断する時間が減ってしまいます。常に最高のパフォーマンスを出すために、Scout APMを活用しています」(片居木氏)

 なぜ、さまざまなAPMツールがある中で、Scout APMを選んだのか。「提供されている機能や使い勝手の良さももちろんですが、自社のシステムのアーキテクチャを考えると、Scout APM一択となった」と片居木氏は話す。

 CS cloudは問い合わせやカスタマーサポート業務を、チームでの有人対応とチャットボットを最適に組み合わせることで実現している。「導入している企業の中には、友達数が50万を超えているところもあります。そういう企業の場合、1日に100万件のメッセージの流量になることもある。直列に処理することは難しいので、小さなインスタンスを多数立ち上げて、並列処理させています」(片居木氏)

 クラウドロジも同様だ。「例えば1日1万件の出荷処理を直列で処理すると、在庫の引当処理(注文に対して商品を確保すること)に20分ぐらい時間がかかってしまいます。そこで、1万件を並列に一斉処理できるような構成にしています。このような構成では、インスタンス課金だとどうしても効果の割にコストが高く付いてしまう。そこでトランザクション単位で課金されるScout APMを選びました」(片居木氏)

 ここでいうトランザクションとは、Webリクエストとバックグランドジョブの実行回数のことで、その合計で料金が決まる。実はこのトランザクション単位の料金体系もScout APMの強みなのだ。

 以前は他社のAPMツールを使っていたという片居木氏だが、Scout APMを使ってみたところ、「導入が簡単。導入してパフォーマンス改善につなげるまでが5分とかからないのに、驚きました。欲しい情報にすぐたどり着ける」とその使い勝手の良さを評価する。

Scout APMでエンジニア全員にパフォーマンス意識が根付く

 片居木氏は、Scout APMを使うことで、特定のブロックのパフォーマンスを測定できることも評価する。「それを活用して長いバッチ処理のどこに負荷がかかっているのか絞り込みをしたことがあります。コードを変えて、Scout APMに流してみて、どのコードがより負荷がかからないか特定しました。邪道かもしれませんが、デバッグツールとして活用できるんです」と片居木氏。高橋氏も「邪道ではなく、理想的な使い方。このように深くパフォーマンス改善をしたいという人に最適なツール」という。

 Scout APMを導入したことで、ビジネス的にも大きなメリットが得られたという。「Scout APMを導入したのは今年の4月。このとき、インフラの見直しプロジェクトを進めており、サーバモニタリングを実施することにしたんです。サーバモニタリングをするのであれば、アプリケーションのパフォーマンスもモニタリングする必要があります。インフラの見直しとパフォーマンス改善と合わせて、月間100万円の削減が実現しました」(片居木氏)

 さらに大きかったのは、エンジニア全員のパフォーマンスに対する意識が変わったことだ。まだまだ、ビジネスのパフォーマンスとWebアプリケーションのパフォーマンスが直結していることを強く意識している開発現場は少ない。Scout APMはその意識改革に大きく貢献したという。

 「Scout APMはすべてのエンジニアが見られるようになっているので、たとえ自分が担当していない機能やプロダクトについても、『このコードが怪しいのでは』という指摘をするなど、エンジニア総出でパフォーマンス改善するマインドが生まれました。これもScout APMを導入した大きな効果だと思います。Scout APMでアプリケーションのパフォーマンスを日々確かめ、気軽に改善して、より良いサービスを提供していきたいですね」(片居木氏)

 Scout APMは対応言語の拡大に注力することに加え、すでに対応している言語についても、より簡単に詳細なデータを提供するため、機能の強化を図っていくという。オートインストルメンテーション機能の提供はその一つだ。「この機能を使えば、コントローラーの1つのアクション全体の秒数のうち、1行目ではこの秒数、2行目ではこの秒数がかかっているということが分かる。つまりこの機能をインストールするだけで、ユーザーはより詳細な情報を見られるようになります。現在、β版をリリースしているので、ぜひ、使ってもらいフィードバックをしてほしい」(高橋氏)

 Scoutでは、「APMと言えばScout APM」とエンジニアなら誰もが答えてくれるよう、よりエンジニアフレンドリーなツールを目指し、機能強化を図っていくという。APMの導入を考えているのであれば、ぜひ、一度試してみてはいかがだろう。

Scout APM

 Scout APMは、クレジットカードの登録なしで14日間の無料トライアルが可能です。ぜひお試しください!



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中村 仁美(ナカムラ ヒトミ)

     大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

  • 篠部 雅貴(シノベ マサタカ)

     フリーカメラマン 1975年生まれ。  学生時代、大学を休学しオーストラリアをバイクで放浪。旅の途中で撮影の面白さに惹かれ写真の道へ。  卒業後、都内の商業スタジオにカメラマンとして14年間勤務。2014年に独立し、シノベ写真事務所を設立。雑誌・広告・WEBなど、ポートレートをメインに、料理や...

バックナンバー

連載:開発生産性向上に寄与するツール大研究
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5