Download - Aws発表資料(dac) 20160721
©2013 D.A.Consortium All rights reserved©2016 D.A.Consortium All rights reserved1
LINE ビジネスコネクトソリューションの裏側
©2016 D.A.Consortium All rights reserved.
AWS アドテクノロジー業界セミナー
テクノロジーサービス本部第一システム開発部由良 憲一2016.07.15
©2016 D.A.Consortium All rights reserved2
発表の流れ1. 自己紹介2. 会社概要3. サービス概要4. なぜ AWS を選んだのか?5. 開発フェーズから本日までどのように AWS と歩んできたか6. 今後 AWS で実現したいこと、してほしいこと7. 最後に
©2016 D.A.Consortium All rights reserved3
1. 自己紹介・名前 由良 憲一 ( ゆら のりかず )・趣味 キックボクシング・仕事で使ったことがある言語 Java / C++ / C# / Javascript / Perl / PHP / Ruby(Rails)・働いたことがある会社 4 社
:ポイントサイト ( アフィリエイト ) の開発、運用 :タイアップ広告の開発: DSP の開発: DialogOne のセールスエンジニア的な、 EffectiveOne の開発、雑用
1 社目 ( 約 4 年 )
2 社目 ( 約 3 年半 )
3 社目 (10 ヶ月 )
(2 年 4 ヶ月 )
©2016 D.A.Consortium All rights reserved4
0
1
2
3
4
5
6
7
8
勤務年数1. 自己紹介
©2016 D.A.Consortium All rights reserved5
2. 会社概要
社名:デジタル・アドバタイジング・コンソーシアム株式会社略称: DAC
読み方:でぃーえーしー ( だっく )
1996 年設立
40 億円資本金
2,175 名社員数 ( 連結 )
©2016 D.A.Consortium All rights reserved6
2. 会社概要
デジタル・アドバタイジング・コンソーシアムDAC は、インターネット広告に関する
プランニング、コンサルティング、メディアビジネスなど、トータルで支援するメディアレップです。
インターネット広告の黎明期にあたる 1996 年に設立し、2016 年は 20 周年を迎えました。
1996 年設立
40 億円資本金
1,449 億円売上高 ( 連結 )※2016 年度 3 月期
2,175 名社員数 ( 連結 )
©2016 D.A.Consortium All rights reserved7
2. 会社概要
©2016 D.A.Consortium All rights reserved8
2. 会社概要
©2016 D.A.Consortium All rights reserved9
3. サービス概要 (LINE の現状 )
国内利用者数は 6,800 万人以上。日本の人口の 53 %以上をカバーしています。
※1 出典元:自社調べ 2016/1/28 時点 ※2 DAU = Daily Active User ( 1 日に 1 回以上利用したユーザー)の略。 出典元:マクロミル社・インターネット調査 (2016 年 1 月実施 / 全国 15 ~ 69 歳の LINE ユーザーを対象 サンプル数 2,112)
※3 LINE の国内利用者数 6800 万人 ÷ 日本の総人口 1 億 2694 万人 ( 平成 28 年 1 月 1 日現在(確定値) 総務省統計局 )
毎日利用しているユーザー日本の人口の 53.6 % ※ 3
6,800 万人国内利用者数 ※ 1
+OVER
70.8 %アクティブ率 ※ 2
DAU
©2016 D.A.Consortium All rights reserved10
3. サービス概要 (LINE ビジネスコネクトとは? )LINE ビジネスコネクトの特長
LINE ビジネスコネクトの主な特長
一方通行から双方向へ一斉送信から 1:1 へ従来の企業からユーザーへ一方的に届ける公式アカウントから、ユーザーの送信内容や行動に応じて、ユーザー自身が望む情報を届けることができるようになり、相互のコミュニケーションが実現できる公式アカウントへと変化します。
プッシュ配信でリアルタイムコミュニケーションを実現
顧客データベースと連携してターゲティングが可能
双方向コミュニケーションであらゆる用途に利用可能
LINE 上で完結新たなアプリインストールが不要
©2016 D.A.Consortium All rights reserved11
3. サービス概要 (LINE ビジネスコネクトとは? )LINE ビジネスコネクトのしくみ
※ LINE 側では個別の LINE ID に紐付いた顧客データを保持しません。
LINE プラットフォーム上で API ( Application Programming Interface )を提供することで利用企業側システムとの連携が可能となります。 API 連携することにより、企業と LINE ユーザーとの双方向コミュニケーションが可能となります。
友だちメッセージ
配信
利用企業システム
API
LINE 側 ご提供範囲 利用企業側 開発範囲
メッセージング送受信サーバ
顧客 DB
管理画面
©2016 D.A.Consortium All rights reserved12
3. サービス概要 (LINE ビジネスコネクトとは? )
API で取得できる情報例受信 midテキスト
画像
動画
音声
位置情報
スタンプ(※ 1 )
リッチメッセージ
メッセージ IDメッセージ種類
送信者 mid送信日時
テキスト
位置情報
スタンプ
友だち追加時
mid
メッセージ受信
メッセージ送信
利用企業
request
ニックネーム
アイコン用画像
ステータスメッセージ
ユーザープロフィール取得
1
2
3
4
LINEAPI
(※ 1 )送信可能なスタンプは、プリセットされたLINE キャラクタースタンプと企業自身が提供するスタンプです。
※ 各項目は用途により利用企業側で選択する必要があります。
ユーザー識別子( mid )
利用企業
利用企業 利用企業
©2016 D.A.Consortium All rights reserved13
3. サービス概要 (DialogOne とは? )
友だちAPI
LINE 提供範囲
メッセージング送受信サーバ
利用企業システム
利用企業側 開発範囲
顧客 DB
管理画面
メッセージ配信
LINE ビジネスコネクトを利用するためには、利用企業様側での LINE 用のメッセージ配信システムの開発が必要となります。LINE ビジネスコネクトをご利用するために
\ 開発が必要 \
©2016 D.A.Consortium All rights reserved14
3. サービス概要 (DialogOne とは? )
DialogONE とは、 LINE ビジネスコネクト パートナープログラムのパートナーに認定された DAC( デジタル・アドバタイジング・コンソーシアム株式会社 ) が提供する LINE ビジネスコネクトを利用するためのメッセージ管理ソリューションです。
友だち
DAC 提供
API
LINE 提供範囲 利用企業様
メッセージング送受信サーバ
顧客 DB
業務システム
利用企業システム
CMS
DialogOne は CMS 部分を担当
©2016 D.A.Consortium All rights reserved15
3. サービス概要 (DialogOne とは? )
サービス開始日: 2014 年 10 月それ以降さまざまな機能のリリース、およびアライアンスを締結。
©2016 D.A.Consortium All rights reserved16
4. なぜ AWS を選んだのか?
- オンプレにするべきかクラウドにするべきか?- キャンペーンのタイミングでの突発的な 膨大なアクセスへの対処- 自社の他プロダクトでの実績- 人間関係
©2016 D.A.Consortium All rights reserved17
4. なぜ AWS を選んだのか?オンプレにするべきかクラウドにするべきか?・ローンチまでのタイムラグ (2 ~ 3ヶ月 ) がかかる。・サービスの検討時では、 サービスが継続されるかどうかを判断できない。
©2016 D.A.Consortium All rights reserved18
4. なぜ AWS を選んだのか?キャンペーンのタイミングでの突発的な膨大なアクセスへの対処 ・ピーク時に合わせてサーバーを用意しておく必要がある。 逆にピークの時以外はそんなに台数は必要ない。
2016-03-22 11:002016-03-22 12:302016-03-22 14:002016-03-22 15:302016-03-22 17:002016-03-22 18:302016-03-22 20:002016-03-22 21:302016-03-22 23:010
100
200
300
400
500
600
700
800
©2016 D.A.Consortium All rights reserved19
4. なぜ AWS を選んだのか?自社の他プロダクトでの実績- DAC で提供している他プロダクトでもすでに AWS を 利用している。 → 他プロダクトと将来的に連携する際に、 プライベート IP などで通信できるので、 セキュリティ面の向上や、開発の手間を減らせる。- サポートが手厚いことも理解している。 → 困った時に相談できるので、非常に助かっています。
©2016 D.A.Consortium All rights reserved20
5. 開発フェーズから本日までどのように AWS と歩んできたか
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
DialogOne の現状の構成Route 53
EC2
EC2
SQS
node.js
Go 言語fluentd
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
RDS
TreasureData
ElastiCache
DynamoDB
fluentd
その他・ ELB・ S3・ CloudFront・ Redshiftなども利用中
©2016 D.A.Consortium All rights reserved21
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
DialogOne の構成 (第 1弾 )
EC2
node.js
ELB
fluentd
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
5. 開発フェーズから本日までどのように AWS と歩んできたか
TreasureData
RDS
©2016 D.A.Consortium All rights reserved22
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
DialogOne の構成 (第 1弾 )
EC2
node.js
ELB
fluentd
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
5. 開発フェーズから本日までどのように AWS と歩んできたか
TreasureData
RDS
問題点・ユーザへの返信メッセージを構築する際、
複数の外部の WebAPI と連携しており、状況よっては全ての処理が完了してから同期的にレスポンスしようとすると、
1,000 ミリ秒以内に StatusCode200 を返せない事も。
解決策Go 言語 +SQS の Pub/Sub アーキテクチャによる
非同期化を実施。
©2016 D.A.Consortium All rights reserved23
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
EC2
EC2
SQSRDS
TreasureData
node.js
Go 言語fluentd
ELB
DialogOne の構成 (第 2弾 )
5. 開発フェーズから本日までどのように AWS と歩んできたか
©2016 D.A.Consortium All rights reserved24
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
EC2
EC2
SQSRDS
TreasureData
node.js
Go 言語fluentd
ELB
問題点・ユーザーを待たせずにレスポンスを返すには
RDS では耐えきれない。
解決策・ RDS の代わりに Redis と DynamoDB を導入。
DialogOne の構成 (第 2弾 )
5. 開発フェーズから本日までどのように AWS と歩んできたか
©2016 D.A.Consortium All rights reserved25
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
EC2
EC2
SQS
RDS
TreasureData
node.js
Go 言語fluentd
ELBElastiCache
DynamoDB
DialogOne の構成 (第 3弾 )
5. 開発フェーズから本日までどのように AWS と歩んできたか
©2016 D.A.Consortium All rights reserved26
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
EC2
EC2
SQS
RDS
TreasureData
node.js
Go 言語fluentd
ELBElastiCache
DynamoDB
問題点・予期しない突発的なアクセスが来るとELB のオートスケールが間に合わない。
解決策・ ELB をやめて、秒単位で TTL を設定できる
Route53 のDNS ラウンドロビンを使用。
DialogOne の構成 (第 3弾 )
5. 開発フェーズから本日までどのように AWS と歩んできたか
©2016 D.A.Consortium All rights reserved27
5. 開発フェーズから本日までどのように AWS と歩んできたか
LIN
E ビ
ジネ
スコ
ネク
トサ
ーバ
ー
DialogOne の構成 (第 4弾:現在 )Route 53
EC2
EC2
SQS
node.js
Go 言語fluentd
銀行口座を開くには?
以下の回答が見つかったよ!line://ch/xxx/
銀行口座を開くには?
RDS
TreasureData
ElastiCache
DynamoDB
fluentd
その他・ ELB・ S3・ CloudFront・ Redshiftなども利用中
©2016 D.A.Consortium All rights reserved28
6. 今後 AWS で実現したいこと、してほしいこと
・ ELB や EC2 のオートスケールをもっと短時間で 実現してほしい。・ CloudFront の料金が他の CDN に比べてちょっと高い。・ SQS に詰め込める数を制限できるとうれしい。・リザーブドインスタンスの稟議書を通すのが、 工数的にも心理的に辛い。
©2016 D.A.Consortium All rights reserved29
DAC( とくに DialogOneチーム ) ではエンジニアを切実に募集しております。少しでも興味がございましたら、会社の採用ページにアクセスし、応募ボタンを押していただければと思います。もしくは以下のブログからお願いします。
7. 最後に
DAC エンジニアブログ:アドテクゑびす界http://yebisupress.dac.co.jp/
dac エンジニアブログ
©2016 D.A.Consortium All rights reserved30
ご静聴ありがとうございました。
7. 最後に