Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon
Why New Relic
  • 必要なデフォルトのメトリクス設定 が揃っており、すぐに運用開始で きる点
  • 非常に利便性が高い7言語のエー ジェント対応
Highlights
  • 7言語のエージェント対応で、マ ルチ開発言語のシステム環境を 可視化
  • コーディングのボトルネックの特 定に大きく寄与し、処理能力が 10倍以上 UP
  • しっかりとしたモニタリングによ り、ステージング環境不要でリリー スサイクル短縮し、コスト削減・ 顧客満足度向上

いかにして株式会社 Zucks は 製品リリースサイクルを短縮化し、アドテクをリードするように なったのか

株式会社VOYAGE GROUPでは、インターネット領域においてアドプラットフォー ム事業、ポイントメディア事業、インキュベーション事業を展開しており、市 場環境の変化をチャンスと捉え、既存事業の拡大を追求しつつ、新領域事業 への挑戦を続ける企業です。そのグループ会社である株式会社 Zucks は、スマー トフォン向けの広告配信およびスマートフォン向けのアドネットワークサービス などを主たる業務としています。

スマートフォン向けの広告市場は誕生して歴史の浅い業界ですが、スマート フォンの普及に沿って市場規模は年々増加しています。その中でも、Zucks は、日本最大級のスマートフォンに特化したクリック課金型のアドネットワーク 「Zucks Ad Network」サービスとスマートフォンに特化した成果報酬型広告 「Zucks Affiliate」で顧客の要望を叶えた効果的なプロモーションを支援し ています。さらに、海外ネットワークとの取り組みを強化するなど、今後のスマー トフォンやタブレット端末を含むモバイル市場をさらなる発展へ導く企業です。

また Zucks は、アジアにおいて画期的なビジネスモデルやテクノロジーを有 し、世界を牽引し得る革新的な有望企業上位100社に贈られる、米国 Red Herring 誌の「2016 Red Herring Asia Top 100」にも選出されています。

Zucks では、アドテク(アドテクノロジー:広告技術)のサービスを運営する うえで重要となるレスポンスタイムを高速化し、365日24時間稼働、高トラフィッ クでレイテンシー(遅延)のないサービスを提供し、広告主のプロモーション とその効果の最大化、パブリッシャーの高収益化を目指しています。

Zucks が抱えてきた課題

2013年からサービスを全面的にスタートするにあたり、当時は xymon という オープンソースのツールを使用していましたが、Zucks が志向するオートスケー リングの環境には適さず、手間がかかることから他のツールの使用が検討さ れました。

その際、Zabbix、Nagios なども考慮に入れられましたが、管理がとても複 雑であると判断されました。「当時 Zabbix の解説本を購入しましたが、かな り本が厚く、1日で断念してしまいました」(大谷氏談)

また、監視サービスを提供するサービスと同一のアーキテクチャ上で起動させると、同時にダウンしてしま う恐れがある点が懸念事項となったため、自社でモニタリングシステムをマネージすることは断念し、ど んな時でも安定して動く外部のサービスを積極的に利用したいとの結論に至りました。「ちょうどそのタイ ミングでNew Relicと出会い、設定を試みたところすぐに運用を開始することができ、サービスを利用す ることになりました。」(大谷氏談)

マルチ開発言語のシステム環境の可視化

Zucksのシステムは、主にAmazon Web Service (AWS)上で運用されています。また広告データ分析のデー タ処理基盤、配信の最適化のためにGoogle Cloud Platform (GCP)も利用されています。また、Java, Scala, PHP, Python などの多様なプログラミング言語でアプリケーション開発がなされており、Go (Google が開発したプログラミング言語 ) も利用されています。このような多様性のある開発環境において、新た にアプリケーションを開発する際、New Relic APMの提供する7言語エージェント対応は利便性が非常に 高いと評価されました。Zucksが、ちょうどGoを使い始めるタイミングで、New Relic APMのGoエージェ ントがリリースされ、とてもいいタイミングだったようです。

ボトルネックの検出・解決によるパフォーマンス向上とコスト削減

2013年サービス開始当時は、Full GC(Garbage Collection)の対応をしなくてはならないことが多く、 New Relic APMのJVM (Java Virtual Machine)Profilerの機能が頻繁に活用されていました。JVMでは、 Full GCの対応が必要であり、終了するまでに時間がかかります。また、それは非常に重い処理であるため、 システムのパフォーマンスに大きな影響を与えてしまいます。

当時はまだアプリケーションのコードに改善の余地が多くあり、JVM Profilerを起動させて、ボトルネック を見つけ、そのコードを書き換えて、デプロイをするという作業が繰り返し行われていました。トランザク ションの中で、一つのリクエストに対し、どの処理が重いか特定し修正するサイクルの中でパフォーマンス の向上が図られました。

「パフォーマンスの向上のためには、まず計測せよ」というプラクティスなので、それに則ってNew Relic のコンソールを確認することは、コーディングのボトルネックの特定にかなり寄与しました。

サービス利用開始当初より、10倍以上処理能力は上がりました。

大谷 和紀氏 株式会社 Zucks CTO

またインスタンスをローリングデプロイメントするオートスケーリングの環境ではとりわけ、パフォーマンス が上がると必要なインスタンス数が減るため、直接的なインフラコストの削減につながりました。

アラート機能の活用による問題の早期発見

「New Relic APMでは、アラートのデフォルト設定がある程度入っていてすぐに動かせるので、とりあえず システムを作ってみることができて、利用感が良かったです。それに、基本的なアカウントの管理、ユーザー の管理も非常に使い勝手が良かったです。」(大谷氏談)

リリース時に思いもよらないところからエラーレートが上昇したというアラートが上がってくることもよくあ りました。その際には一旦リリースを戻し、Error ProfilerやTransaction Traceを活用して問題の原因 を確認し、修正。再度リリースをするという対応がなされています。

普段の開発の中で、意思決定の判断材料の一つとして、New Relic の APM が必須です。これがなければ、パフォーマンスの改善はなかったと思います。

清水 裕亮氏 株式会社 Zucks エンジニア

コミュニケーションの円滑化と開発環境全体の改善へ

他にも、システム内のツールでスクリーンショットや URL の情報を共有することで、チームのコミュニケーショ ン促進にも役立てています。「チケットに残す作業ログにNew Relic APMのスクリーンショットを残すこと がよくあります。」(清水氏談)

モニタリングがしっかりしていると万一リリースに問題があった場合に、それを素早く発見して修正を施す ことができるため、そもそもステージング環境が不要となっています。リスクのあるリリースがしやすく、 新しいアイディアの商品リリースするサイクルが早くなり、お客様にも喜んでいただけているということです。 広告効果の向上を狙ったリリースも速くできるので、さらに、顧客満足度を向上できています。しっかりと したモニタリングシステムのおかげで、ビジネスに集中でき、コスト削減やサービスレベルの維持だけで はなく、開発プロセス全体の改善につなげることを重視し、ビジネスを次へのステップへと進めることが できるようになりました。(大谷氏談)

コスト削減やサービスレベルの維持でだけではなく、モニタリングシステムを開発プロセス全体の改善に つなげることが重要だと思います。

大谷 和紀氏 株式会社 Zucks CTO

今後に期待すること

現在、ローリングデプロイ方式でデプロイしており、CPU の傾向の違いやエラーレートの変化を見ている のだそうです。また、実験的に本番環境にデプロイすることも多く、「アプリケーションのバージョンごと の違いを APM で単純に表現するのが難しく感じるので、そのあたりが整理されて見れたり、警告が出せた りすると良い」とご意見がありました。

今後、New Relicの製品に期待することとしてはAWS Lambda, Fargateなどサーバーレスなサービス監 視を、経験がなくてもわかりやすく気楽に使える機能があればということでした。

Learn More About How New Relic Can Help Your Business

Contact Sales
Back to top icon