• Like
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Upcoming SlideShare
Loading in...5
×

Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)

  • 3,797 views
Uploaded on

http://www.awssummittokyo.com/session.html …

http://www.awssummittokyo.com/session.html

「AWS re:Invent2013」においてドコモが公表した音声エージェントサービスのEC2数千規模のAWS大規模実装について紹介する。数か月という短期間でのシステム開発、米国西海岸と東京をまたがるクロスリージョンでのシステム運用、可用性とスケーラビリティを担保するためのデザインパターンがその内容である。またオンプレミスと同等レベルの高セキュリティ化構成を新たなシステム開発事例として紹介して、AWSの利用がビックデータ処理にまで進展している事例を述べる。
さらに開発スタイルそのものを変革することの重要性、部署間にまたがる課金、リソース配分最適化など大組織特有の課題についても議論する。

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,797
On Slideshare
0
From Embeds
0
Number of Embeds
9

Actions

Shares
Downloads
71
Comments
0
Likes
17

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. © 2014 NTT DOCOMO, INC. All rights reserved. NTTドコモ事例から見る モバイル&クラウド時代のサービス開発について 1 栄藤 稔 @mickbean NTT DOCOMO
  • 2. WebサービスのAWS大規模利用 © 2014 NTT DOCOMO, INC. All rights reserved. モバイル&クラウド時代のお話 2 使ってみることが大事 社内の反応にも変化 クラウド機能の進化 開発スタイルにも変化 業務系サービスのAWS大規模利用 ビリングの最適化も課題
  • 3. © 2014 NTT DOCOMO, INC. All rights reserved. 3 AWS re:Invent 2013
  • 4. © 2014 NTT DOCOMO, INC. All rights reserved. 基本アーキテクチャ2010 Logging Voice
 Recognition Task
 Recognition Logging Voice text text contents Service Providers’ DB contents text Text to speech (inspired by Microsoft Bing, and Google Voice Search) 4
  • 5. © 2014 NTT DOCOMO, INC. All rights reserved. 急発進 •Mar 2012 –0.5M accesses/day •Apr 2012 –1.5M accesses/day •Jul 2012 –2.5M accesses/day 5
  • 6. © 2014 NTT DOCOMO, INC. All rights reserved. Version 1 Implementation (Mar. 2012) A LB B Started with two local cloud providers in Japan, and soon faced two difficulties: •Scalability in terms of #servers •Inflexible monthly payment 6
  • 7. © 2014 NTT DOCOMO, INC. All rights reserved. 引っ越し2回 • 2012年4月 • ローカルクラウド事業者からAWSへ ! • 2012年7月 • 東京から北カリフォルニアへ • Deploy mixture instance types (c1.xlarge and m2.4xlarge) ! • Sep 2012 • 北カリフォルニアから東京へ –Unified to m2.4xlarge –遅延の改善 7
  • 8. © 2014 NTT DOCOMO, INC. All rights reserved. システムアーキテクチャ2012 Availability Zone #1 SmartPhone Management Server Log Server for VR Availability Zone #2 Voice Recognizer(VR) Task Recognizer(TR) Log management system Same as AZ #1 TR Servers ELB (across multiple zones) Tokenizer Access Log Servers Availability Zone #3 VPC VR Servers LB ELB (across multiple zones) ELB (across multiple zones) 8
  • 9. © 2014 NTT DOCOMO, INC. All rights reserved. 必須デザインパターン: Multi-Data Center Availability Zone #1 Availability Zone #2 LBLB VR servers Route 53 m2.4xlarge x ~300 !! HAProxy Voice VPC VR servers Voice Recognition Part 9
  • 10. © 2014 NTT DOCOMO, INC. All rights reserved. Cloud Nativesでよかった! • 他のサービスも含めて21のデザインパターンを利用 (総計48) ! • とくに ‘Queuing  Chain’  と  ‘Scale  Out’  パターンを多用. 10
  • 11. © 2014 NTT DOCOMO, INC. All rights reserved. 他にも大事なデザインパターン •Scheduled Scale Out ! •Clone Server 11
  • 12. © 2014 NTT DOCOMO, INC. All rights reserved. Traffic Pattern 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 Normal traffic 12
  • 13. © 2014 NTT DOCOMO, INC. All rights reserved. サーバー起動の準備 AMI の毎日リフレッシュ –音声認識モデルの更新 スパイクトラフィックに対応 したAMI の起動 –10 min - 30 min前に準備 13
  • 14. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 © 2014 NTT DOCOMO, INC. All rights reserved. Auto-Scaleで追いつかない爆発的トラフィック TV commercial causes a spike traffic. 30x traffic # of servers 20:38 20:40 20:43 20:45 10min 14
  • 15. © 2014 NTT DOCOMO, INC. All rights reserved. プラットフォーム テクノロジー リーダー グローバルな 顧客基盤 AWS 革新的 パートナー エコシステム パートナーエコシステム Scale! 15
  • 16. © 2014 NTT DOCOMO, INC. All rights reserved. Cloud 2.0 な設計とは? ① 「Design for failure」「共有責任モデル」を使いこなす。 ② クラウドに多くの機能を求めない。As Isで使う。依存しない。 ③ ハードを意識しない。ソフトで調整する。 ④ 小さく作って大きく伸ばす(伸ばせる)ようにする。 ⑤ 従来より「設計」に時間とコストをかける。 ⑥ 従来の常識やルールから一度離れ、何が本質かを考える。 16 Cloud 1.0 Cloud 2.0 # # # #
  • 17. © 2014 NTT DOCOMO, INC. All rights reserved. ほんまに5人で 作ったんか? やっつけ仕事 の割には良く できている。 17
  • 18. © 2014 NTT DOCOMO, INC. All rights reserved. 「リーンスタートアップモデル」 構築する 製品 学ぶ データ 少ない予算と人数で 素早い製品展開 素早い投資判断 柔軟な資金調達 アドバイザー ユーザーの声 アイデア 計測する 18
  • 19. © 2014 NTT DOCOMO, INC. All rights reserved. 閑話休題:あるデータ蓄積系サービス開発の例 (1) アーキテクチャ改善-メディア変換部の非Shard化   ! (2) アーキテクチャ改善-PUSH方式のGCM化によるインスタンス数削減   ! (3) 実際のトラフィックに応じたインスタンス数、EBSサイズ等の見直し 19
  • 20. © 2014 NTT DOCOMO, INC. All rights reserved. Cloud Non-Native:真逆のデザインパターン • Try fast, think later –とりあえず既存のコンポーネントの組み合わせで非効率だとわかっていながらサービスを作っ てしまう。その後、徐々に最適化を図り、後で減らす。 –サービス提供と品質を優先し、最適化とコストは後回し。パフォーマンスも重要。 –初版ではセキュリティ対策やトラフィック対策は過剰に。その後改善。 •大量のウィルス検知、IPS/IDSシステムをそこら中に → 実績見合いで減らす •自動でスケールアウトできないものは多めに置く → 実績見合いで減らす •デザインは初版は出来るだけTraditionalで実績の多いものを → 徐々に新しい方法にチャレ ンジ。 •どんなにトラブっても大丈夫なように出来るだけバックアップは多めかつ頻繁に。 → バグ の収束とともに、不要なものを精査、除去。 •Avoid deadlock –我慢してRIは買わない •どんなにコストが高くてもRIを買うと事後の最適化の意味がなくなる 20
  • 21. © 2014 NTT DOCOMO, INC. All rights reserved. パブリッククラウドに対する3大懸念 セキュリティ ! SLA ! スイッチングリスク 21
  • 22. © 2014 NTT DOCOMO, INC. All rights reserved. 使い始めてからの変化 oクラウドに対する意識! ➢クラウドはよくわからない → クラウドも使い方次第 oセキュリティに対する意識,対策! ➢物理的境界 > 論理的境界 → 物理的境界 ≧ 論理的境界 ➢AWSの豊富なセキュリティ機能をフル活用 ✓VPC,SSE/CSE,NACL,VPN,IAM,MFA,etc. o使いながら改善していくことが大事! ➢実運用データを分析してScaling ➢機能集約,機能分割 ➢AWSの新機能リリース ✓独自構築から機能利用へ •CloudTrail !! 22
  • 23. © 2014 NTT DOCOMO, INC. All rights reserved. AWSの利用スパイラル 23 Not  Using   AWS Dive to AWS Analyze, Study, Discuss Deploy,  Verify,     Use,  Use,  Use! Analyze,  Study,    Discuss Data, Result, Record, New Service/Function Improvement
  • 24. © 2014 NTT DOCOMO, INC. All rights reserved. 24 Dive to AWS (2012) Dive to AWS (2014) ミッションクリティカルシステム Webサービスシ ステム 業務系システム
  • 25. © 2014 NTT DOCOMO, INC. All rights reserved. ドコモにおけるビッグデータ活用 インターネット ペタバイト級のデータ+機械学習+並列分散計算モデル ! ! ! ビッグデータからの行動パターン分 析によるサービス利用促進/ユーザ ビリティ向上 ! ! 多種多様なログに基づくクロスレコ メンド/チューニングによる精度向 上/対象ユーザ・コンテンツのカバ レッジ向上 ! ! ビッグデータを用いた辞書構築によ る文字認識・画像認識精度の向上 /ソーシャルメディア情報活用によ るユーザ動向把握 ! ! ビッグデータを用いたネットワーク ルーティングの最適化/解約につな がる行動パターン発見 ! ビッグデータを用いたハザードマップ /犯罪発生マップの高精度化・カバ レッジ向上 ! ! ! 交通機関・公共施設の運行最適化 による待ち時間の最小化 マーケティング リコメンデーション メディア理解オペレーション最適化 セキュリティ 社会インフラ最適化 業務システム のデータ 様々な ログファイル CRMシステム の顧客データ Webサイト、 ブログ ソーシャル メディア 静止画、動画 センサデータ Business Intelligence Data-Driven Innovation 25
  • 26. © 2014 NTT DOCOMO, INC. All rights reserved. システムの要求条件の位置づけ Hot  data Warm  data Cold  data レイテンシ:ms 以下   容量:~Tbyte   対象:何万人 レイテンシ:ms ~sec   容量:Tbyte~ Pbyte レイテンシ:sec以上   容量:Pbyte以上   対象:バッチ処理 常に一定のデータ量がある   常に業務システムに組み込まれている   利用停止=業務停止につながる 使いたいときに使える、使いたい時が一定ではない   データ容量が予測できない・一定ではない オンプレミス クラウド 26
  • 27. © 2014 NTT DOCOMO, INC. All rights reserved. Data Analysis Lineups from Amazon • Amazon RDS - 汎用データベース。MySQL/OracleDB/PostgreSQLなど • DynamoDB – 性能保証型Key-Value Store • ElasticChache – In memory キャッシュ。Redisなどに相当。 • RedShift – MPP型データベース。DWH用途向け。Greenplum/Netezza相当。 • Elastic MapReduce (EMR) – Hadoop相当。分析台数に応じて課金。データストアはS3 • Amazon S3 OLTP系   処理機構 DWH系   分析機能 大容量   データストア 97
  • 28. © 2014 NTT DOCOMO, INC. All rights reserved. Products of Hot  data Warm  data Cold  data RedshiftRDS&ElasticChache
 &DynamoDB &  Kinesis EMR VPC
 DirectConnet Datapipeハイパフォーマンスな
 データベース群 S3,  Glacier低コストストレージ データフロー   マネージメント 低コスト
 高パフォーマンス
 DWH Map&Reduce   アプライアンス セキュアな
 NW 既存設備 28
  • 29. © 2014 NTT DOCOMO, INC. All rights reserved. 更なる利用拡大 oAudit機能の充実 •Direct Connect Support by CloudTrail (2014.5) •CloudTrail Delivery for Tokyo Region (2014.6) oRedShiftの機能充実 •Query Flexibility (2014.5) oセキュリティ対策機能の充実 •Resource level permissions by IAM policies (2013.7) •MFA-protected API Access (2012.7) 29
  • 30. © 2014 NTT DOCOMO, INC. All rights reserved. RedShiftを利用したデータ分析基盤 30 Data o業務系システム(分析)での利用検討を開始 DOCOMO DATA CENTER
  • 31. © 2014 NTT DOCOMO, INC. All rights reserved. Cloud-based DWH architecture 31 Intranet Encryption・logging DOCOMO datacenter VPC Load Proxy GW Storage Server Clients ODBC JDBC BI Existing DWH VPC  only VPC
 read  only Data  pipeline EMR Redshift DM
 DWH Data
 Handling GW Data
 Handling GW Customer  info. Usage  info. The same
 IP addresses Snapshot Load Direct Connect 10Gbps x 2 Social  media   (Twitter,  el.) querying result S3 1.  Transparency 2.  No  provisioning 3.  Sandbox
  • 32. © 2014 NTT DOCOMO, INC. All rights reserved. Sandbox examples • Hadoop – Trying new analytics(e.g. machine learning, unsupervised clustering) with programming language ! • Graph database – Trying social influence analysis ! • Streaming process, In-memory database – Enabling real-time recommendation of EC sites ! • ETL – Testing new data and injection to DWH ! • BI and analytics platform (e.g. R) – Providing dashboard to internal customer temporary – Enabling to use favorite language of data scientists 32
  • 33. © 2014 NTT DOCOMO, INC. All rights reserved. お金の面でクラウドにおいて変わること 33 安定的・計画的・大きなお金・前払い 予測不能・変化しがち・小さなお金・後払い レガシー クラウ
  • 34. © 2014 NTT DOCOMO, INC. All rights reserved. クラウドコストの変化の因子 34 クラウドの支払い OSタイプ(Linux/Windows) インスタンスタイプ   リージョン(9箇所) 為替変動 購入方法   • オンデマンド   • リザーブド   •1年/3年   •Light/Medium/Heavy • スポットインスタンス 意外と
 大きい ※AWSは利用料は全てドル払いのため
  • 35. © 2014 NTT DOCOMO, INC. All rights reserved. Purchasing Options •On-Demand Instances •通常の1時間単位の支払い •Reserved Instances –Upfront + Hourly の支払い –1年と3年のオプション:3年のほうがトータルが安い –Light/Medium/HeavyによってUpfrontとHourlyのバランスが違う •Heavyはhourlyは使用時間に関わらず全時間分支払い義務
 (その代わり単位時間では最安値) –ConsolidateBilling配下のすべてのユーザで余剰分の使い回しが可能。 •余った分をわけあえる –RIを購入すると立ち上げ保証(RI購入台数までは必ず起動できる保証)が付く •ただし、購入したアカウントのみ。Consolidate配下の他のアカウントでは提供され ない •Spot Instances –入札によるインスタンスの購入 35 単位   価格 高 安
  • 36. © 2014 NTT DOCOMO, INC. All rights reserved. Spot Instancesの活用 • 何に使うのか? – サーバの中断は避けられないので、中断しても良いジョブ用 1. オプションのタスク。追加で実施しておきたいなど。分析系など。 2. 遅延可能なジョブ。リアルタイムは必要ない。バッチジョブなど。 3. ブースト系。基本的な処理量はオンデマンドで確保。 4. お金がない。でも大量に一度にマシンが必要。シミュレーション。 ! • 使い方と戦略 – オンデマンド以下で入札 • とにかく安く済ませたい。優先度低。 – オンデマンドと同じで入札 • 最悪同じ価格で、最低でもお得になる。 – オンデマンド以上で入札。 • 止まってほしくないけど、安くなればラッキー。 36
  • 37. © 2014 NTT DOCOMO, INC. All rights reserved. Consolidated Billingの罠 37 A B RI買った人 RIはUpfront(先払い)を行って   利用料を安く抑える仕組み.  でも・・・ m3.xlarge x5台   Light  Usage A アカウント上の
 みかけの利用料 コンソリ無し   の利用料 B なんで? ラッキ~ アカウント上の
 みかけの利用料 コンソリ無し   の利用料 なにもしてない   のに利用料が
 下がるように見える RIを買ったのに
 期待したほど   利用料が下がらない Consolidated Billing
 にしていない場合 等 分 割 Consolidated  Billingにすると   請求時には合算して利用(時間)で   同種(サイズ・OS種別)のインスタンス毎に   等分割されて各アカウントに乗せられる Blended
 rate On-demand
 で利用分 RIで購入分
  • 38. © 2014 NTT DOCOMO, INC. All rights reserved. プロジェクト管理面での問題 38 Project  A Project  B ワークロードに   対して最適化を   してRIを戦略的に
 購入して・・・云々 どうせ会社が   払ってくれるんだから
 何にもしなくて   よくね?? Project  Aの努力が   Project  Bに反映されてしまう あんだけ頑張ったのに
 対して減ってないんじゃ   やる気なくすわ なんかしらんけど   今月はいつもより
 ちょっと少なかったなぁ 特にProject  Aが小さくて、   Project  Bが大きい場合にはより顕著に・・・。 これでは   コスト最適化の   モチベーションは   下がるばかり 月末
  • 39. © 2014 NTT DOCOMO, INC. All rights reserved. コスト管理ツール 6/17/2014 39 リザーブドインスタンスの
 有効利用度の表示   ! •有効なRI数(購入RI数)   •RI利用数   •RI利用率   •RI余剰数   ! •利用アカウント別   •利用サービス別   •日付指定   •1時間毎/1日毎切り替え   •リザーブド(RI)指定絞込   •利用AZ絞込   •利用インスタンスタイプ絞込   ! などなど 時系列でのコスト表示機能   ! •利用料表示   •利用台数表示   •利用アカウント別   •利用サービス別   •日付指定   •円換算(為替反映)   •1時間毎/1日毎切り替え   •リザーブド(RI)指定絞込   •利用サービス絞込   •利用AZ絞込   ! などなど
  • 40. WebサービスのAWS大規模利用 © 2014 NTT DOCOMO, INC. All rights reserved. 本日話したこと 40 使ってみることが大事 社内の反応にも変化 クラウド機能の進化 開発スタイルにも変化 業務系サービスのAWS大規模利用 ビリングの最適化も課題