SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
Report
SmartNews, Inc.
Follow
SmartNews, Inc.
May. 23, 2016
•
0 likes
•
10,569 views
1
of
53
SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
May. 23, 2016
•
0 likes
•
10,569 views
Download Now
Download to read offline
Report
Technology
SmartNewsのニュース配信を支えるサーバ技術 @ JJUG CCC 2016 Spring Speaker by Kazhiro Sera @ SmartNews,Inc.
SmartNews, Inc.
Follow
SmartNews, Inc.
Recommended
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
47.8K views
•
91 slides
マイクロにしすぎた結果がこれだよ!
mosa siru
132.1K views
•
32 slides
WebSocketのキホン
You_Kinjoh
24K views
•
63 slides
Azure API Management 俺的マニュアル
貴志 上坂
21K views
•
223 slides
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
59.7K views
•
45 slides
Redis勉強会資料(2015/06 update)
Yuji Otani
52.4K views
•
103 slides
More Related Content
What's hot
脱RESTful API設計の提案
樽八 仲川
13.9K views
•
53 slides
DevOps with Database on AWS
Amazon Web Services Japan
40K views
•
47 slides
AWSのログ管理ベストプラクティス
Akihiro Kuwano
76.7K views
•
57 slides
アジャイル開発とメトリクス
Rakuten Group, Inc.
5.8K views
•
172 slides
Parquetはカラムナなのか?
Yohei Azekatsu
3.2K views
•
47 slides
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon Web Services Japan
9.4K views
•
119 slides
What's hot
(20)
脱RESTful API設計の提案
樽八 仲川
•
13.9K views
DevOps with Database on AWS
Amazon Web Services Japan
•
40K views
AWSのログ管理ベストプラクティス
Akihiro Kuwano
•
76.7K views
アジャイル開発とメトリクス
Rakuten Group, Inc.
•
5.8K views
Parquetはカラムナなのか?
Yohei Azekatsu
•
3.2K views
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon Web Services Japan
•
9.4K views
サーバーレスWebアプリケーションを作ろう~AWSと比べてみる~
拓将 平林
•
2.3K views
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
•
1.6K views
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
•
8.1K views
Istioサービスメッシュ入門
Yoichi Kawasaki
•
39.3K views
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
•
60.3K views
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
•
137.8K views
Serverless時代のJavaについて
Amazon Web Services Japan
•
12.9K views
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
•
3.3K views
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
•
5.5K views
Docker超入門
VirtualTech Japan Inc.
•
8.7K views
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
Hiroshi Tokumaru
•
2.6K views
Azure Event Grid 事始め
Masahiro Nishimura
•
1.4K views
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
•
12.7K views
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
•
14.8K views
Similar to SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
インフラ初心者向け・サーバの選び方(第31回さくらの夕べ in 仙台 ~全国さくら前線ツアー2016 #さくらクラブ ~)
さくらインターネット株式会社
1.4K views
•
22 slides
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
Amazon Web Services Japan
9.7K views
•
127 slides
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
Amazon Web Services Japan
11.1K views
•
127 slides
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
Amazon Web Services Japan
9.4K views
•
127 slides
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
Hinemos
2.8K views
•
34 slides
AWSによるサーバーレスアーキテクチャ
真吾 吉田
3K views
•
26 slides
Similar to SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
(20)
インフラ初心者向け・サーバの選び方(第31回さくらの夕べ in 仙台 ~全国さくら前線ツアー2016 #さくらクラブ ~)
さくらインターネット株式会社
•
1.4K views
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
Amazon Web Services Japan
•
9.7K views
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
Amazon Web Services Japan
•
11.1K views
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
Amazon Web Services Japan
•
9.4K views
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
Hinemos
•
2.8K views
AWSによるサーバーレスアーキテクチャ
真吾 吉田
•
3K views
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
Recruit Technologies
•
7.2K views
20190705 mas ken_azure_stack
Osamu Takazoe
•
581 views
db tech showcase2019 オープニングセッション @ 石川 雅也
Insight Technology, Inc.
•
694 views
AWS Black Belt Online Seminar 2018 re:Invent recap IoT and DevOps
Amazon Web Services Japan
•
3.5K views
AWS re:Inforce2019 re:Cap LT
Hibino Hisashi
•
6.5K views
AWS監視ソフトウェアの決定版 Hinemosが実現するAWS統合監視の全て
Hinemos
•
2.4K views
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
Tomo-o Kubo
•
1.4K views
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
Insight Technology, Inc.
•
2.2K views
Spring で実現する SmartNews のニュース配信基盤
SmartNews, Inc.
•
3.1K views
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
Amazon Web Services Japan
•
2.8K views
AWSにおけるセキュリティの考え方
morisshi
•
10.3K views
超基本! AWS 認定 SA アソシエイト 受験準備 (2020年3月10日)
Masanori KAMAYAMA
•
1K views
20160527_06_Azure Certified for IoT for 共創ラボ
IoTビジネス共創ラボ
•
229 views
2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)
BeeX.inc
•
1.4K views
More from SmartNews, Inc.
SmartNewsを支えるデータパイプラインとその運用
SmartNews, Inc.
3.7K views
•
10 slides
エンジニアからプロダクトマネージャーへ
SmartNews, Inc.
9.7K views
•
17 slides
SpringOne Platform 2016 報告会「A Lite Rx API for the JVM」/ 井口 貝 @ SmartNews, Inc.
SmartNews, Inc.
1.2K views
•
71 slides
Stream Processing in SmartNews #jawsdays
SmartNews, Inc.
22K views
•
45 slides
Building a Sustainable Data Platform on AWS
SmartNews, Inc.
19.3K views
•
81 slides
AWSの進化とSmartNewsの裏側
SmartNews, Inc.
12.8K views
•
51 slides
More from SmartNews, Inc.
(18)
SmartNewsを支えるデータパイプラインとその運用
SmartNews, Inc.
•
3.7K views
エンジニアからプロダクトマネージャーへ
SmartNews, Inc.
•
9.7K views
SpringOne Platform 2016 報告会「A Lite Rx API for the JVM」/ 井口 貝 @ SmartNews, Inc.
SmartNews, Inc.
•
1.2K views
Stream Processing in SmartNews #jawsdays
SmartNews, Inc.
•
22K views
Building a Sustainable Data Platform on AWS
SmartNews, Inc.
•
19.3K views
AWSの進化とSmartNewsの裏側
SmartNews, Inc.
•
12.8K views
SmartNews TechNight Vol.5 : AD Data Engineering in practice: SmartNews Ads裏のデ...
SmartNews, Inc.
•
20.5K views
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews, Inc.
•
35.2K views
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
•
32K views
SmartNews TechNight vol5 SmartNews Ads大図解
SmartNews, Inc.
•
25.6K views
NLP in SmartNews
SmartNews, Inc.
•
2.5K views
SmartNews's journey into microservices
SmartNews, Inc.
•
11.1K views
Strem処理(Spark Streaming + Kinesis)とOffline処理(Hive)の統合
SmartNews, Inc.
•
2.3K views
SmartNews の Webmining を支えるプラットフォーム
SmartNews, Inc.
•
10.1K views
AWS meetup「Apache Spark on EMR」
SmartNews, Inc.
•
7.4K views
Smartnews Product Manager Night
SmartNews, Inc.
•
12.7K views
SmartNews Ads System - AWS Summit Tokyo 2015
SmartNews, Inc.
•
16.9K views
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
SmartNews, Inc.
•
12.4K views
Recently uploaded
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
69 views
•
20 slides
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
170 views
•
16 slides
GraphQLはどんな時に使うか
Yutaka Tachibana
17 views
•
37 slides
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
11 views
•
24 slides
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
7 views
•
1 slide
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
125 views
•
31 slides
Recently uploaded
(13)
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
69 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
170 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
17 views
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
11 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 views
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
125 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
45 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
6 views
画像生成AIの問題点
iPride Co., Ltd.
•
13 views
CatBoost on GPU のひみつ
Takuji Tahara
•
780 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
28 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
149 views
SmartNewsのニュース配信を支えるサーバ技術 / Kazhiro Sera @ SmartNews,Inc. #jjug_ccc
1.
SmartNews のニュース配信 を支えるサーバ技術 Kazhiro Sera
@seratch SmartNews, Inc.
2.
http://about.smartnews.com/ja/team/ 自己紹介 2
3.
SmartNews とは 3
4.
4
5.
5
6.
今日はニキビの日 http://today.smartnews.com/ 6
7.
7
8.
SmartNews と AWS 8
9.
https://aws.amazon.com/jp/solutions/case-studies/smartnews/ https://aws.amazon.com/solutions/case-studies/smartnews/ 9
10.
http://www.slideshare.net/smartnews/20160127- awssmartnews 利用している AWS マネージドサービス 10
11.
http://www.slideshare.net/smartnews/20150415-smartnews-technightrev3 今日話すのは一部です(api、engine) 11
12.
http://www.slideshare.net/smartnews/20150415-smartnews-technightrev3 今日話すのは一部です(api、engine) 12
13.
ニュース配信の主要な構成(最新・一部略) 13
14.
フロントエンドの配信サーバ部分(api) 14
15.
バックエンドでの記事分析(engine) 15
16.
SmartNews と Java 16
17.
再掲:ニュース配信の主要な構成 17
18.
AWS マネージドサービスと話す Java
アプリ群 18
19.
Java アプリケーションの実装 ・Spring Boot
で実装された小規模なアプリケーションを連携させる構成 ・フロントエンド側はトラフィックの増減で scale out/in する Web サーバ(ASG の活用) ・engine 側は適切な粒度に分割された Java アプリケーション群 ・処理結果を Java SDK で AWS マネージドサービスと連携するのが主な責務(engine 内のサービス間は主に Kinesis ストリームを介して連携) ・処理結果を S3、DynamoDB などに適宜書き出す 19
20.
実装上の工夫など ・Java8 + Lombok(@Data、@Slf4j、@ToString) ・シンプルな
Java マルチスレッド処理 ・一部で RxJava を使った実装 ・Spring Boot + Swagger を使った API 仕様の公開 ・Apache Spark の活用は Scala で実装するのが主流 ・最近 Kotlin で書いているアプリケーションも 20
21.
一方 itamae を始め
DevOps 系は Ruby 中心 21
22.
DevOps は SRE
チームとの共同作業 ・SRE(Site Reliability Engineering)Team ・itamae-kitchen/itamae for provisioning ・winebarrel/roadworker for Route 53 management ・fluent/fluentd for log aggregation http://dev.classmethod.jp/study_meeting/classmethod-smartnews-awsnight/ 22
23.
http://developer.smartnews.com/blog/2015/10/01/20151001itamae-autoscaling-codedeploy/23
24.
データサイエンスを 活かすサービス構成 24
25.
バックエンドでの記事分析(engine) 25
26.
http://www.slideshare.net/smartnews/20150415-smartnews-technightrev3 バックエンドでの記事分析(engine) 26
27.
http://www.slideshare.net/smartnews/smart-news-webmining 記事分析基盤の概要(1) 27
28.
http://www.slideshare.net/smartnews/stremspark-streaming- 記事分析基盤の概要(2) 28
29.
http://www.slideshare.net/smartnews/stremspark-streaming- ログ解析基盤の概要 29
30.
http://www.slideshare.net/smartnews/stremspark-streaming- 記事ランキングのアーキテクチャ 30
31.
GitHub から始まる 開発ワークフロー 31
32.
開発ワークフロー ・GitHub の Pull
Request をコードレビュー ・GitHub の PR を自動で JIRA issue と連携 ・QA テスト確認した後 master へ merge 〜 CodeDeploy ・CircleCI ジョブがテスト実行だけでなく、ビルド成果物を S3 にアップロード、 CodeDeploy ジョブを kick するところまでやる ・itamae レシピ、Routefile も GitHub 上でレビューしてから反映 ・さらに NewRelic、Datadog、Slack、PagerDuty の活用 32
33.
開発 〜 デプロイ 33
34.
http://developer.smartnews.com/blog/2015/10/01/20151001itamae-autoscaling-codedeploy/ GitHub 〜 CircleCI
〜 CodeDeploy CircleCI でのビルドで S3 に置かれた リリースバイナリを CodeDeploy で EC2 インスタンス側から 取得して切り替え 34
35.
CircleCI Configuration (circle.yml) http://developer.smartnews.com/blog/2015/10/01/20151001itamae-autoscaling-codedeploy/ プロジェクト毎の差分がある場合は circle.yml
で調整することもある 35
36.
GitHub Pull Request
Template 開発フローの明確化 デプロイに関する暗黙知をなくす 36
37.
運用監視 37
38.
Datadog Datadog 38
39.
SmartNews と Datadog
(2015.02) https://speakerdeck.com/takus/smartnews-to-datadog 一年以上前の @takus の発表資料が詳しい 今では完全に SmartNews のインフラになっています 39
40.
Metrics をつくる Datadog Agent
でデータを送るようにしたら UI からメトリクスを可視化するだけ 40
41.
Dashboard をつくる 41
42.
Monitor をつくる 通知先は Slack
や PagerDuty を指定 42
43.
Slack 連携 43
44.
New Relic フロントエンドの Web
サーバだけでなく engine 側のオフラインバッチ処理も Non-Web transaction として trace する 44
45.
PagerDuty 45
46.
緊急時に電話・SMS がくるよう設定 46
47.
PagerDuty Incidents Triggered >
担当 Engineer が Acknowledge して対応 > Resolved 47
48.
SmartNews Ads 48
49.
http://developer.smartnews.com/blog/2016/01/15/smartnews-technight-vol5/49
50.
http://developer.smartnews.com/blog/2016/01/15/smartnews-technight-vol5/50
51.
これからの SmartNews 51
52.
52
53.
SmartNews を進化させるエンジニアを募集中です ・まだまだ道半ば、世界中の人たちに使ってもらうために ・小さなチーム、大きな仕事(外部サービスの活用、適材適所な技術選択) ・SmartNews というサービスに愛着がある ・世界展開するサービスを自ら実現したい ・得意な
Java / JVM で思う存分サービス開発をしたい ・データサイエンスでサービスに貢献したい ・興味のある方はぜひ懇親会でお話させてください 53