PHPConference2013Presentation #phpcon2013

PHPConference2013Presentation #phpcon2013

PHPカンファレンス2013 11:20〜11:50 小展示ホール発表
ミッションクリティカル&ハイパフォーマンスシステムにおける技術統合と運用の勘所

3f1fad1dcac9f7e38db511df060a192d?s=128

Toshiaki Koshiba

September 14, 2013
Tweet

Transcript

  1. ミッションクリ ティカル&&ハイ パフォーマンス システムにおけ る技術統合と運 用の勘所 @@bbaasshh00CC77 こしば としあき ((株))VVOOYYAAGGEE

    GGRROOUUPP,, ((株))ZZuucckkss
  2. 『古きよき時代から来ました  真面目なSSEE 真面目にSSEE』 優等生担当、bbaasshh00CC77こと こしばとしあき 基幹業務からBB22CCサービス運営まで、 管理・設計・開発・運用を幅広くかつ フルスタックに担当 株式会社VVOOYYAAGGEE GGRROOUUPP

    エンジニア  アジャイル戦略室ファウンダー  株式会社ZZuucckkss アドネットワーク事業部 関西RRuubbyy会議0055スピーカー((22001133//0088)) 東京RRuubbyy会議1100実行委員長((22001133//0011,,0033)) SShhiibbuuyyaa..rrbb
  3. 闇PPHHPPMMaattssuurrii22001111首謀者 IUUQUFDIWPZBHFHSPVQDPNBSDIJWFTIUNM

  4. 広告配信システムというミッションクリティカルかつハ イパフォーマンスが要求されるシステムの開発・運用を 通じて会得した技術的・チーム的な知見をお話します。 IUUQQIQDPOQIQHSKQX ミッションクリティカル&&ハイパフォーマンス システムにおける技術統合と運用の勘所

  5. l 11.. このようなシステムで PPHHPPがはどのような部分で 活躍するのか

  6. l 22.. PPHHPPを含めて様々な技術 要素を統合した""システム""と して成り立たせるためには 何が必要か

  7. システム

  8. スマートフォン向�け クリック課金型アドネットワーク ZZuucckkssアドネットワーク IUUQ[VDLTDPKQTFSWJDFBEOFU

  9. ス マ ホ 広 告 大 戦 争 IUUQTUVETKQ.0#J41300'IUNM

  10. 22001133年77月新システムに フルリプレース完了

  11. 特徴

  12. ✓リアルタイムレポート ✓莫大な配信ボリューム ✓無停止メンテナンス ✓柔軟な改�修対応

  13. None
  14. ✓インフラ ✓アプリケーション ✓モニタリング

  15. インフラ

  16. ほぼAAWWSS ((DDNNSSとCCDDNNは他所))

  17. 鉄板の富豪構成パターン MMuullttii LLooaadd BBaallaanncceerr MMuullttii--DDaattaacceenntteerr MMuullttii--SSeerrvveerr

  18. MMaannaaggeemmeenntt CCoonnssoollee IUUQBXTBNB[PODPNKQDMPVEGPSNBUJPO

  19. 作業の再現性が皆無 手順書頼りになる…�

  20. の、ようなもの IUUQBXTBNB[PODPNKQDMPVEGPSNBUJPO

  21. CClloouuddFFoorrmmaattiioonn IUUQBXTBNB[PODPNKQDMPVEGPSNBUJPO

  22. l システム開発や運用保守において は、テスト環境やステージング環 境を準備するのが一般的である。 これらの環境は常時利用するもの ではないので、本番環境と同じ台 数のサーバーを用意するのはコス ト効率が悪い。 IUUQBXTDMPVEEFTJHOQBUUFSOPSHJOEFYQIQ $%14UBDL@%FQMPZNFOUύλʔϯ

  23. テンプレート ++ CCLLIIの併用

  24. テンプレから変更が少ない ネットワーク部分を構築

  25. 次にCCLLIIでネットワーク上に 置く変更激しいもの設置

  26. 富豪構成らくらく実現

  27. インフラまとめ

  28. インフラ、変更怖い…� テンプレ化で脱手順書 クイックな変更の考慮

  29. アプリケーション

  30. None
  31. 11.. ddllvv((配信)) SSccaallaa 22..99 ++ SSeerrvvlleett 33..00 22.. jjss SSccaallaa

    22..99 ++ SSeerrvvlleett 33..00 33.. kksskk((計測)) PPHHPP 55..44 ,, GGaauucchhee 00..99 44.. mmss((管理画面)):: PPHHPP 55..44 ++ SSyymmffoonnyy22
  32. 開発環境

  33. ✓テストコード完備 ✓PPuullll RReeqquueesstt運用 ✓継続的インテグレーション完備 ✓ワンクリックデプロイ完備 ✓本番同等検証環境完備

  34. ワンクリックデプロイ

  35. zzggookkコマンド

  36. どの種類のAAPPサーバでも zzggookk ((ssttaarrtt||uuppddaattee||ssttoopp))

  37. 夜も寝れない こわーいこと

  38. サ ー ビ ス 停 止 ! IUUQGBSFBTUWJCFTDPNXQDPOUFOUVQMPBET*%0-JT%&"%QOH

  39. 配信できない 計測できない

  40. ✓ぼっちで動く ✓レスポンスだけ速攻返却 ✓書き込みを調整

  41. ぼっちで動く

  42. None
  43. レスポンスだけ速攻返却

  44. 薄いAAPPと ffaassttccggii__ffiinniisshh__rreeqq uueesstt

  45. 11.. リクエスト受ける 22.. ffaassttccggii__ffiinniisshh__rreeqquueesstt を呼んでレスポンス返す 33.. AAPPのアクセスログ出力 44.. 別プロセスでログからDDBB 書き込み

  46. 書き込みを調整

  47. フロントが吐いたログを バックが読んでDDBBに書き込む

  48. fflluueennttdd IUUQqVFOUEPSH

  49. TPVSDF ņUZQFUBJM ņQBUIQBUIUPMPH ņUBH[HPLBE ņLFZTMPH@UZQF WFSTJPO SFRVFTU@UJNF  TPVSDF NBUDI[HPLBE

    ņUZQFFYFD ņDPNNBOEFOWHPTIQBUIUPBQ ņLFZTMPH@UZQF WFSTJPO SFRVFTU@UJNF  NBUDI
  50. ✓事実上リアルタイム処理 ✓パフォーマンス調整 ✓自動リトライ機能 ✓手動リカバリー容易

  51. レスポンスを速攻返却

  52. 例えばPPHHPPをやめる

  53. AAPPに囚われない

  54. 富豪的解決

  55. 鉄板の富豪構成パターン MMuullttii LLooaadd BBaallaanncceerr MMuullttii--DDaattaacceenntteerr MMuullttii--SSeerrvveerr

  56. スケールアウト + スケールアップ

  57. アプリケーションまとめ

  58. ワンクリックデプロイ、テス ト、CCIIなど活動の基礎 必要さを満たす技術を選ぶ 富豪的解決の道も大いにあり

  59. モニタリング  

  60. None
  61. だいたい鉄板

  62. ✓fflluueennttddでログ収集 ✓GGrroowwtthhFFoorreeccaassttでグラフ化 ✓XXyymmoonnでアラート通知

  63. fflluueennttdd IUUQqVFOUEPSH

  64. ✓インスタンスのログ集約 ✓hhttttppステータス集計 ✓レスポンスタイム集計 ✓CClloouuddWWaattcchhの情報集約 ✓総CCPPUU利用率取得 ✓インスタンス台数取得 ✓などなど

  65. GGrroowwtthhFFoorreeccaasstt

  66. グラフ事前定義不要

  67. XXyymmoonn(旧HHoobbbbiitt)

  68. クライアントからppuusshh

  69. fflluueennttddのデータも扱いたい IUUQqVFOUEPSH

  70. XXyymmoonnサーバにTTCCPP でメッセージ投げ ssttaattuuss ##{{hhoossttnnaammee}}..##{{tteessttnnaammee}} ##{{ccoolloorr}} ##{{ttiimmee}} ##{{bbooddyy}}

  71. ӡ༻؂ࢹπʔϧʹ౤͛Δ qVFOUग़ྗϓϥάΠϯ qVFOUQMVHJO YZNPO IUUQSVCZHFNTPSHHFNTqVFOUQMVHJOYZNPO IUUQTHJUIVCDPNCBTI$qVFOUQMVHJOYZNPO

  72. モニタリングまとめ

  73. 手軽に計測 手軽に監視 足らんなら作って公開

  74. スマートフォン向�け クリック課金型アドネットワーク ZZuucckkssアドネットワーク IUUQ[VDLTDPKQTFSWJDFBEOFU

  75. ✓インフラ ✓アプリケーション ✓モニタリング

  76. l 11.. このようなシステムで PPHHPPがはどのような部分で 活躍するのか

  77. どこでも。 あなたがそれが良い 選択だと評価できる ならば。

  78. l 22.. PPHHPPを含めて様々な技術 要素を統合した""システム""と して成り立たせるためには 何が必要か

  79. 自分たちで 検討して、動かして、 測定して、評価する。

  80. そして、これから ttoo BBee

  81. 新しい事業を展開 より多くのトラフィック

  82. もっとシンプルに もっと高速に もっと構成要素を少なく 他、色々!

  83. 目 下 、 大 戦 争 激 化 中 IUUQTUVETKQ.0#J41300'IUNM

  84. 変 わ り 続 け な け れ ば 死

    ぬ IUUQGBSFBTUWJCFTDPNXQDPOUFOUVQMPBET*%0-JT%&"%QOH
  85. 変わり続ける 事が安定 cchhaalllleennggeerr

  86. 暁の水平線�に勝利を刻め IUUQXXXRFUJDKQNBJOXQDPOUFOUVQMPBETOFXT@CJT@NBJOKQH DF