読者です 読者をやめる 読者になる 読者になる

ほわいとぼーど

ぷろぐらまのメモ帳

YAPC参加メモ 8/21 1日目

勉強会 YAPC

YAPC参加メモ 8/21 1日目

メリークリスマス Larry Wall

いきなりホビット物語と指輪物語から入っていてオーディエンスが付いてきてなさげではあった。
バスには注意して欲しい。
よくわかってないけど正規表現の話?で$1が$0になるよって言ってて、
それって大丈夫なんだっけって少し思った。

世界展開する大規模ウェブサービスのデプロイを支える技術 aerealさん

  • Miiは全てhtml game内からもブラウザを起動して表示している
  • ゲーム内からも投稿できる
  • JP/US/EU
  • DB multi-master + region replication
  • PCからは全世界USにつながる
  • タイムライン、共感、通知はマルチサービスREST API
  • Miiverse deploy
    • capstrano2 + Git
    • region超える+台数が多くて同時git pull耐えられない
    • slave+random accessで分散
    • git slaveを各regionに配置 lsyncdの監視上限に到達してしまった Capstrano
      • Mackerel利用し、同じRoleを設定
      • AutoScaleは事前にpoolしたマシンを利用している
      • deployは一時的に全台あげて実施して不要分は落としている
  • 開発フロー
    • 初期 redmine -> 最近 GithubEに移行中 コードレビュー
    • Gitが2台になり同期ツール必要
      • hesokuri, ghm検討し新規開発することに
  • 新git同期システム
    • JSON over HTTP API
    • git pull & git push
  • 今後のデプロイ
    • 一般課題
      • deployに必要なものを全てcommit必要 repo肥大化
      • ビルドする場合、時間かかる
    • Miiverse課題
      • 台数 git負荷
      • region
    • consul + stretcher
    • jenkins build->s3->consul+stretcher
    • perf git: 1149 s consul+stretcher: 29 s
      • 40倍
  • QA
    • git同期システムおよび周辺->perl5 デプロイ周期 2週間+bugfix
    • pull型で一台だけ失敗した場合の検出?->失敗時の処理も書ける
    • pull req mergeは同期システムを導入した箇所では使えるようになった
    • codedeploy: 時期的に検討してない
    • consulのつらいところ: 各イベントの集約が難しそう。完了をそろえるのが?
    • どのくらいの規模からconsul? 30くらいからGit pullきつくなる

数年前からよくregion間運用の例としてウォッチしてたので聴けて良かった。
多チーム連携してるせいか課題や性能値がハッキリしててわかりやすい。

Consulと自作OSSを活用した100台規模のWebサービス運用 fujiwaraさん

  • Lobi スマホ向けコミュニティ プレイ実況とかも
    • 2010- AWS US 4台, 2011- 自社 4-20台, 2013- AWS max 100 AutoScale
  • hostの種類多い
  • perl, node.js, Go
  • AWS移行時の悩み DNSがない Chefで/etc/hosts
  • AutoScaleしたい
  • 内部DNSの代わりとしてConsul検討
  • failedだとDNS引ける left(自分から離脱したとき)は無理
  • rawってつけるとBodyだけ帰ってくる Base64decodeいらない
  • 全ての問い合わせをLeaderが処理する => stale modeにすると他も応答する
  • Consule server 2CPU 20MBMEM 2GBDisk
  • root command投げれないようにユーザプロセスにして、、、
  • 1年以上運用しているがAgentが落ちたりしたことはない
  • オペミスでLeader選出できない台数まで減らすと崩壊する・・・・
  • モンストにLobi SDKが入った=>大量の動画が、、、
    • Spot Instance + 自前AutoScale
  • クラスタ内でuniqueな名前が必要
  • Stretcher
    • AutoScaleするにはpullでないと、、、
  • Rolebackしやすい eventで前のMANIFEST指定しなおすだけ
  • Deploy完了を待つには->kv dashboard
    • 100台が失敗で100個ログ流れないようにkvsに入れて管理
    • trigger
  • Consul lock を使うと部分実行できる => BlueGreen
    • あるいはRole分ける
  • server内

完全に前のMiiverseの発表の課題解決みたいになっててお得感ある。 自分の場合は台数はそこまでじゃないけど、種類が多くてpushは指定がつらい感じ出てきて pull(remote trigger)が気になっていてconsulの説明が詳しくてありがたかった。
kv dashboardの意図も自分の懸念と合致していて色々タイムリー。Stretcherも検討したいなー。

Conway's Law of Distributed Work caseywestさん

  • remote で作業を行う様々なツール
  • remoteしていてもためにOfficeに来るの重要
    • 他に人がいることを意識する 機会
    • 意図的にremoteの人もchatやvideo chatの議論に巻き込む
  • 分散チームにもCAP定理
  • 分散化されたシステムを作るには分散化されたチームが必要(?)
  • なぜJIRAが嫌いか?
    • Administratorが全ての設定やWorkflowを変えれてしまう
    • 今まで自分が見ていたものが変わってしまう。
    • confluenceのhosted jiraだと、制限があるので安心
  • remote workだと働きすぎたりしないか?
    • 自分のスケジュールを厳しく管理
    • 帰宅を促す
    • 責任分担
  • Google docsGoogle等は信用できるのか?
    • 信じている
    • hipchatは履歴を暗号化してない過去があった
    • S3に関しては状況に応じて適用を変えるルールを決めた
  • code review とペアプロを同時にするか?自分はどちらかにすることが多い
    • 選択的にやる
    • ペアプロしてれば十分だが、第3の目が必要であればリクエストをかける
  • Timezoneに差がある場合はどうするのか?
    • 難しい いくつか方法があるう
    • いくつかの場所に人をまとめる 特定の機能をまとめて担当させる
    • 個人がばらばらの場合は非常に難しい
  • meetup頻度?
    • min:4半期に1回 
    • remoteで難しいこと 2つ
      • 人間関係の構築
      • 長期的なプランニング
  • languageが異なる場合の効果的なコミュニケーション
    • あまり体験がないが、英語ベースでやっていた
  • smartphoneでのChat 特にVacations
    • もちろん便利
    • 休みの時には気をつける 置いておく

英語+通訳だけど非常にわかりやすい内容だった。(翻訳も鬼)
すごい特殊なことをしてるわけではなく、でも色々と気を配ってるようなイメージ。
remoteやってみたいけど集中力がなー。悩ましい。

うっかりをなくす技術 karupaneruraさん

立ち見だったのでメモなし 自分の趣向的に運用期待だったのでプラグラマーかーという(当たり前)
「リーダブルコード読んどけ」はアグリー

感想

LT...は部屋に入れずに帰った。
前の時間の最後、部屋を出る人が多くて感じ悪かったがこういう事かと。
中に着てたYAPC TシャツにLT時になろうと思ってたのだが。。ちょっと残念だった。

いくつか見たいけど満室で無理なものもあって、明日はもっと激戦なのでYAPC半端ねーなー、すげーわーって感想(小並感)
以前にチケット買ったのに来なかった時もあってすごい損した気になってきた。
今回は個人スポンサーに何故かしたけどそれだけの価値はあると思った。