Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法

10,111 views

Published on

Presenter : Tetsuya Ohira (SmartNews, Inc.)

Published in: Engineering
  • Be the first to comment

インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法

  1. 1. ! インフラ専任エンジニアが一人も居ない SmartNews におけるクラウド活用法 #SmartTechNight / SmartNews Tech Night Vol.2
  2. 2. SmartNews
  3. 3. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 3
  4. 4. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 4 https://www.techinasia.com/smartnews-us-1m-monthly-active-users/
  5. 5. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 5 Edge of traffic(JP)
  6. 6. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 6 ML-Based News App
  7. 7. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 7 インフラ専任エ ンジニアがひと りも居ない
  8. 8. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 8 ≠インフラに強いエンジニアが居ない ! インフラ専任がいない
  9. 9. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 9 なぜ専任が居ないのか? • 組織が少人数である • クラウドサービスを活用している
  10. 10. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 10 エンジニアも少数精鋭 2012年末 : 1人
 2013年末 : 5人
 2014年末 : 15人
 2015年末 : ?? ! 少人数の組織
  11. 11. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 11 エンジニアも少数精鋭 2012年末 : 1人
 2013年末 : 5人
 2014年末 : 15人
 2015年末 : ?? ! 少人数の組織 SmartNewsリリース エンジニア:社長のみ
  12. 12. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 12 エンジニアも少数精鋭 2012年末 : 1人
 2013年末 : 5人
 2014年末 : 15人
 2015年末 : ?? ! 少人数の組織 300万ダウンロード(2014/02) サーバーサイドエンジニア:1人
 (他 : ネイティブアプリx1 / 機械 学習x2 / 社長x1)
  13. 13. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 13 エンジニアも少数精鋭 2012年末 : 1人
 2013年末 : 5人
 2014年末 : 15人
 2015年末 : ?? ! 少人数の組織 1000万ダウンロード(2015/02) 広告事業開始
 サービス規模相応の体制に (それでも少人数)
  14. 14. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 14 選択と集中 • 本当に大事なところだけに集中 • ネイティブアプリ/サーバーアプリ (API、機械学習)/データ解析 • それ以外は外部に任せる • ハードウェア、ネットワーク、etc… • 自社で管理するには人が足りない…
  15. 15. “If we have seen further, it is by standing on ye shoulders of Giants.”
  16. 16. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 16 クラウドを使う理由 • 以下、 釈 に説法です • 欲しい時に必要なコンピュート資源やサー ビス機能を調達することが出来る • それらをAPIを用いてプログラマブルにコ ントロールできる
  17. 17. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 17 クラウドを使う理由 • 以下、 釈 に説法です • 欲しい時に必要なコンピュート資源やサー ビス機能を調達することが出来る • それらをAPIを用いてプログラマブルにコ ントロールできる サーバーやネットワーク、データセン ターの管理や契約業務、必要機能の開 発などから開放される
  18. 18. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 18 クラウドを使う理由 • 以下、 釈 に説法です • 欲しい時に必要なコンピュート資源やサー ビス機能を調達することが出来る • それらをAPIを用いてプログラマブルに コントロールできる 日々のオペレーション業務を省力化・ 自動化することができる
  19. 19. クラウドサービスを活用するということ
  20. 20. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 20 最初期から現在まで、サービスのバックエ ンドのすべてがクラウドサービス上に存在 する ! SmartNewsとクラウド
  21. 21. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 21 なぜSmartNewsではクラウドをフル活用す ることができたのか? ! SmartNewsとクラウド
  22. 22. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 22 なぜSmartNewsではクラウドをフル活用す ることができたのか? 運が良かったから ! SmartNewsとクラウド
  23. 23. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 23 運とは? • クラウドサービスが実用に耐えるように なっていた(機能、安定性、お金、etc) • 10年前では無理 • 数年前でも無理かも • SmartNewsがクラウドサービス向けの アーキテクトになっているから
  24. 24. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 24 クラウドに向かない処理 • write heavyな処理 • 域内でハイトラフィックなネットワーク (over 10Gbps)が求められる処理 • リアルタイム性の高い処理 • その他、低レイヤーのカリカリのチュー ニングやカスタマイズが必要な処理
  25. 25. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 25 なぜ向かないか? • 仮想環境の限界 • ネットワーク最適化をユーザーが行う事 が難しい事が多い • ハードウェアのカスタマイズや導入が難 しい • Fusion IO, InfiniBand, FPGAなど
  26. 26. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 26 クラウドでも大丈夫な処理 • write heavyではなく、ディスクアクセス も少ない • そこまでの域内トラフィックは求められ ない • リアルタイム性がそこまで高くない
  27. 27. SmartNews
  28. 28. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 28 • 疎結合 • バックエンドは非同期処理を多用
 (同期的書き込みを減らす) • ディスクへのアクセスを極力減らす • 短期的なキャッシュを用いて大量のリク エスト処理を捌く システムの特徴
  29. 29. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 29 構成概略 http://aws.amazon.com/jp/solutions/case-studies/smartnews/
  30. 30. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 30 構成概略 記事を収集し分析するシステム。 大量の処理すべきデータを自作の分散 オンメモリストレージに保存 & 永続的 ストレージへ遅延書き込み。
  31. 31. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 31 構成概略 ネイティブアプリとのインタラクショ ンを行うAPI。engineの解析内容を短 期的にキャッシュしつつ高速に配信。
  32. 32. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 32 構成概略 分析engineと外部向けAPIは完全に別 システムで、RestfulAPIにて情報をや りとり。

  33. 33. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 33 構成概略 <other APIs> 他にも各種RestfulAPIと連携して処理 を行う(画像クオリティ判定API、国 籍判定API、固有表現抽出APIなど)
  34. 34. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 34 短期的なキャッシュの仕組み 簡易的なフレームワークを用いてデー タを短期的に各種キャッシュレイヤー に保存。データ構造も最適化した上で。
  35. 35. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 35 短期的なキャッシュの仕組み Cache API Background Origin
 API or DB <every N seconds> <on demand> データの種類によってCacheStrategy を切り替える。
  36. 36. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 36 • SmartNewsは比較的クラウド上で動作さ せても性能に支障が出ないアーキテクト になっている • そのように工夫している側面ももちろん ある システムの特徴
  37. 37. どのようにクラウドを活用しているか
  38. 38. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 38 • 全体の仕組みを話すと時間が足らないの で、以下に絞って話します • provisioning toolなどを活用した透過的 な運用 • SaaSの活用 • 情報グルーとしてのslack どのように活用しているか
  39. 39. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. • chefやfabricなどのprovisioning toolなど のツールを活用して透過的に誰でもサー バーの管理やdeployが行えるように • 弊社のエンジニアでchefのrecipeを書い たことの無い人はいない(はず)
 39 provisioning toolの活用
  40. 40. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 40 • 主に監視機能や、メトリクス可視化の強 化など、より安定したサービスをより高 速に提供するため。 • 多くのSaaSがAPIを提供しており、既存 のシステムにaddonで組み合わせて連携 することができる
 SaaS活用
  41. 41. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 41 Datadog
  42. 42. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 42 NewRelic
  43. 43. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 43 pagerduty
  44. 44. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 44 logentries
  45. 45. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 45 chartio
  46. 46. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 46 ref. #dd_sushi http://blog.takus.me/2015/02/26/dd-sushi/
  47. 47. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 47 ref. takusの資料 https://speakerdeck.com/takus/smartnews-to-datadog
  48. 48. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 48 • datadog、pagerdutyなどの監視アラート をslackに集約 • slack上で現状共有や対策の協議など 情報グルーとしてのSlack
  49. 49. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 49 情報グルーとしてのSlack • Slackにflow情報が集約されている • 「チラ見」してるだけでも色々なチーム の状況が分かる • ふらっと議論に参加もできる • 「情報」をAPIを使ってプログラマブルに 自由自在に組み立てられる
  50. 50. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 50 クラウドを使う理由 • 以下、 釈 に説法です • 欲しい時に必要なコンピュート資源やサー ビス機能を調達することが出来る • それらをAPIを用いてプログラマブルにコ ントロールできる
  51. 51. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 51 クラウドを使う理由 • 以下、 釈 に説法です • 欲しい時に必要なコンピュート資源やサー ビス機能を調達することが出来る • それらをAPIを用いてプログラマブルにコ ントロールできる 必要な時に、必要な機能を、APIを介し て、自社向けにさまざまな形でのりづけす るように組み立てていく事ができるのが、 クラウド時代のシステムである
  52. 52. intermission.
  53. 53. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 53
  54. 54. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 54 インフラエン ジニアとは?
  55. 55. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 55 “企業の情報システムを構成するコン ピュータや通信ネットワークなどの調達・ 導入や運用、管理、調整、更新などを専門 に行う技術者。また、そのような業務を担 う職種。” (IT用語辞典 e-wordsより引用) インフラエンジニアとは?
  56. 56. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 56 インフラエンジニアとは? インフラ設計 インフラ構築 インフラ運用 『インフラエンジニアの教科書』より引用
  57. 57. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 57 正直、私の知識と経験では網羅的に語る事 が難しいので、経験(Webサービス、スマ フォアプリ)から得た知見として話します インフラエンジニアとは?
  58. 58. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 58 サーバーシステムスタック 物理ネットワーク データセンター ハードウェア 論理ネットワーク OS ミドルウェア アプリケーション
  59. 59. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 59 サーバーシステムスタック 物理ネットワーク データセンター ハードウェア 論理ネットワーク OS ミドルウェア アプリケーション インフラエンジニア アプリケーション エンジニア
  60. 60. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 60 サーバーシステムスタック 物理ネットワーク データセンター ハードウェア 論理ネットワーク OS ミドルウェア アプリケーション クラウドサービス 事業者
  61. 61. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 61 サーバーシステムスタック 物理ネットワーク データセンター ハードウェア 論理ネットワーク OS ミドルウェア アプリケーション クラウドサービス 事業者 低レイヤーの環境についてはクラウド 事業者が提供するサービスを使用し自 前では管理しない、という選択肢が普 通になってきた
  62. 62. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 62 運用スタック M/W App 構築 監視 障害対応 H/W
  63. 63. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 63 運用スタック M/W App 構築 監視 障害対応 H/W インフラ アプリ
  64. 64. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 64 運用スタック M/W App 構築 監視 障害対応 H/W ハードウェア環境は クラウドサービス事業者に依存 インフラ アプリ クラウド
  65. 65. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 65 運用スタック M/W App 構築 監視 障害対応 H/W SaaSを用いた監視 インフラ アプリ クラウド SaaS
  66. 66. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 66 運用スタック M/W App 構築 監視 障害対応 H/W インフラエンジニアとアプリケーション エンジニアの対象となるレイヤーが重なっ てきている インフラ アプリ クラウド SaaS
  67. 67. まとめ
  68. 68. #SmartTechNight / SmartNews Tech Night Vol.2 © SmartNews Inc. All right reserved. 68 • 実際にSmartNewsはクラウドベースな サービスとして成立しています • 専任のインフラエンジニアは居ません • 一番インフラエンジニアっぽいtakus もプログラム書いてます まとめ
  69. 69. Thank you for your attention.

×