$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GunosyでのKinesis Analytics利用について / AWS Solution...
Search
koid
July 05, 2017
Technology
0
280
GunosyでのKinesis Analytics利用について / AWS Solution Days 2017 -AWS DB Day-
koid
July 05, 2017
Tweet
Share
More Decks by koid
See All by koid
新しい技術の導入時に大切にしていること / IVS CTO Night 2018 LT
koid
2
7.2k
GunosyでのKinesis Analytics利用について / BigData JAWS 6 Kinesis Analytics
koid
1
1k
re:Inventに行ってきました - 気になった新サービス / AWS re:Invent2016 Participants LT
koid
0
2.1k
AWS Lambda - ピーキーなアクセスに備える / Gunosy Beer Bash #8
koid
0
2.2k
AWS Lambdaで複数アカウント間でアレコレする / Gunosy Beer Bash #7
koid
1
2.2k
サーバにログインしない・させないサービス運用 / AWS Summit 2015 Devcon
koid
6
9.2k
GunosyのMicroServicesとOpsWorks / よくわかる AWS OpsWorks
koid
18
6.1k
Other Decks in Technology
See All in Technology
regrowth_tokyo_2025_securityagent
hiashisan
0
260
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
230
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
370
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
430
Amazon Quick Suite で始める手軽な AI エージェント
shimy
0
570
文字列の並び順 / Unicode Collation
tmtms
3
610
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
140
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
140
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.5k
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
240
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
460
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
0
550
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
150
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
73
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
66
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
110
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
83
Design in an AI World
tapps
0
91
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
16
Transcript
GunosyでのKinesis Analytics利⽤について 株式会社Gunosy ⼩出 幸典
⾃⼰紹介 • 名前 – ⼩出 幸典 (こいで ゆきのり) • 所属
– 株式会社Gunosy • 好きなAWSサービス – OpsWorks, Lambda, Kinesisファミリー, ECS
株式会社Gunosy – 「情報を世界中の⼈に最適に届ける」 Gunosyは 情報キュレーションサービス「グノシー」と 2016年6⽉1⽇にKDDI株式会社と共同でリリースした 無料ニュース配信アプリ「ニュースパス」を提供する 会社です。「情報を世界中の⼈に最適に届ける」を ビジョンに活動しています。 ネット上に存在するさまざまな情報を、
独⾃のアルゴリズムで収集、評価付けを⾏い ユーザーに届けます。 情報キュレーションサービス 「グノシー」 600媒体以上のニュースソースをベースに、 新たに開発した情報解析・配信技術を⽤いて⾃動的に 選定したニュースや情報をユーザーに届けます。 無料ニュース配信アプリ 「ニュースパス」
Gunosyと機械学習・データ分析 • Gunosyでは、様々な情報を収集し、独⾃のアルゴリズム で評価付けを⾏い、ユーザに届けています 各種コンテンツ (記事、商品、動画)
Gunosyと機械学習・データ分析 • ユーザの⾏動から、属性(年齢・性別・etc)を推定し、 コンテンツとのマッチングを⾏っています 各種コンテンツ (記事、商品、動画) 性別 年齢 地域... カテゴリ
著者 地域性...
Gunosyと機械学習・データ分析 • 本⽇はニュース領域での事例についてお話させて頂きます 各種コンテンツ (記事、商品、動画)
本⽇お話させていただく内容 Gunosyでどのように Kinesis Analyticsを利⽤しているか
なぜストリーム処理/マイクロバッチ処理をしたいのか • 「情報を世界中の⼈に最適に届ける」 – 時間(鮮度)の制約 • 情報には「鮮度」がある – 頻度(量)の制約 •
⾒せられる情報量には限りがある • どういった⼈に、どういった情報が適しているのか – 事前に「どのぐらい読まれそうか」といった推定はしているが、 ⾄近の実績値も即座にサービスにフィードバックしたい – より短い時間・より少ない試⾏で、サービスに反映したい
例えば • 記事クリックの(ニア)リアルタイム算出 – 「⼤域的な」傾向を掴みたい
Gunosyでのストリーム集計の右往左往 • 2013 mongodb Capped Collections • 2014 Redshift –
fluentdのflush intervalが短すぎるとcopyが詰まってくる • 2015 Norikra – 知⾒が無さすぎて運⽤がままならず – 我々には早かった • 2016 Kinesis+Spark Streaming (on EMR) – ⾃由度は⾼い⼀⽅、開発コスト⾼し、サーバコスト⾼し – 我々にはオーバースペックだった
本題 Kinesis Analyticsの適⽤
ざっくりとした構成 • 以前よりfluentdを利⽤してログ配送をしていた – 同じログをStreams/Firehoseに送る • fluent-plugin-kinesis • Kinesis Analyticsはまだ東京へは来ていないので、他リージョンへ
Web servers (fluentd) Kinesis Firehose S3 (backup) Kinesis Analytics Elastic Search Service summary log Mobile apps Source Stream log Tokyo Oregon Kinesis Firehose
Reference Dataの追加 • ユーザのセグメント別の集計 – どういったユーザが興味を⽰しているのか • S3にセグメント情報を配置 • ログにセグメント情報を付加し、セグメント別に集計
S3 User–Data Reference Data Web servers (fluentd) Kinesis Firehose S3 (backup) Kinesis Analytics Elastic Search Service summary log Mobile apps Source Stream log Kinesis Firehose
SQL例 • ⼀度中間ストリームを作る – Source StreamとReference DataをJOIN
SQL例 • 中間ストリームのデータを1分おきに集計して、出⼒へ
クエリ結果のイメージ • ユーザのセグメント毎に、傾向を知ることができる
サービスへのフィードバック(出⼒) • 現在のところバッチサーバからESSへ取りに⾏っている – ESSはIAM Roleでアクセス制御できる • クロスリージョンやVPCを意識しなくて良い – ESの集計関数が使える
Web servers (fluentd) Kinesis Firehose S3 (backup) Kinesis Analytics Elastic Search Service summary log Mobile apps Source Stream log Tokyo Oregon Kinesis Firehose Batch Server Tokyo
Tips
東京リージョンのStreamsから他リージョンへの転送 • クライアントから直接ログを投げ込んでいるケース – 余り⼿をかけてコンシューマを開発したくない • Lambdaも試したが、スループットの⾯で厳しかった Kinesis Streams log
Mobile apps Tokyo Oregon Kinesis Streams ?
東京リージョンのStreamsから他リージョンへの転送 • コンシューマとしてfluentdを利⽤ – inputプラグインで東京のStreamsから取り出し • outputプラグインで他リージョンのStreams/Firehoseへ転送 • タグによるルーティングや、必要に応じて整形を実施 Kinesis
Streams Mobile apps Tokyo Oregon Kinesis Streams fluentd server
利⽤していての所感
まとめ • 開発が楽になった – IAMの設定は⼤変だが省⼒化できる – クエリだけ集中して考えれば良い • 運⽤も楽になった –
フルマネージド – 但し、前後(Streams/Firehose)の流量には注意 • サーバコストも安くなった – ※もちろん、ケース次第です → トータルコストの削減+デリバリの短縮へ
宣伝 • エンジニアブログやっています http://data.gunosy.io/ http://tech.gunosy.io/
終わりに • ご清聴ありがとうございました