tjinjin's blog

インフラ要素多めの個人メモ

YAPC::Asia Tokyo 2015 に参加しました!

参加してきました!参加したトークを感想交えつつ簡単にまとめます。メモを雑にコピペしているので、細かい部分は目を瞑って下さい。

初日

Managing Containers at Scale with CoreOS and Kubernetes

kelseyhightower/yapc-asia-2015 · GitHub

  • ロボットレストランに行きましょう
  • コンテナをいかにスケールさせるか
  • コンテナイメージにいろいろ突っ込んで500MBとか大きすぎる。4MBくらいにできる
  • kubernetesの話が主に
  • node/pods/serviceの概念の話
  • namespace毎にリソースを制限できるか?
    • クオータでできる。特定のnamespaceを強化できる
  • kubernetesはオフラインで使える?
    • ローカルマシンでもできる。
  • プロダクションとかディベロップとか分けたほうがいい?
  • confd(テンプレートの動的アップデートができる。)テンプレートを使って動的にnginxの設定ファイルを動的に生成できる。
  • ストレージはどうするの?ステートレスアプリケーションが基本。コンテナが再起動するなら同じストレージが必要。etcdでホストのボリュームをマウントさせる?

  • 一番よかったのは、rolling updateのデモ。10pods中2つのコンテナをアップデートしたり、残りのコンテナを3秒ごとにupdateしていく様は震えた

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

speakerdeck.com

内部DNSがない。

  • chefで/etc/hostsで変えてた。
  • サーバをクラスタリング(3台以上)。Raftアルゴリズム
  • ヘルスチェックは3パターンで。HTTP・TTL(PUSH型)
  • key/value localhost:8500をみてればいいので楽。すべての問い合わせは基本的にリーダに問い合わせ。

内部DNSとしてのコンサル

  • resolve.confはポート指定できない
  • port 53開けるには特権ユーザが必要になり、危険
  • dnsmasqを使う

本番でConsulを

  • 3台とか5台ないとリーダ選出ができない。多い必要もないので、ベスト。
  • 2cpu/memory 30GB/disk 2MBくらいあればいい。KVS使うともっと増える。
  • 専用ホストでなくてもいいけど
  • デーモンのツールを導入してあげないとダメ
  • Leaderが落ちたら再度選出が必要だけど、だいたい2~3秒かかる。stale modeにしておくと、DNSとして引ける。
  • バージョンアップはRolling upgrade。
  • KVは提起バックアップ必要。

オートスケールしたい

  • uniqueなホスト名を付ける。
  • consulクラスタにジョイン
  • chefでプロビジョニング
  • デプロイ strecher
  • zabbixへ自動登録

strecher

  • デプロイ多いと大変
  • AWS code deployをマネた
  • AWSじゃなくても動く。
  • Consulのイベントでデプロイ
  • 中央サーバでtarを作ってS3に。
  • 各サーバがtarファイルとかを取ってきて実行する
  • consul watchで指定したイベントが来たらコマンドを実施。

送ったイベントの検知

  • Consul KV dashboard
  • chefとかserverspecとかcapとかの情報が一覧で
  • bash-completionでsshのホスト名補完

  • chefとかserverspecの結果を見れるdashboardが非常によさそう。

  • deployはpull型の方がいいのかな。

【sponsored contents】若手エンジニア達の生存戦略

  • 若い

Electron: Building desktop apps with web technologies

esa.io - 趣味から育てたWebサービスで生きていく

speakerdeck.com

  • 楽しさやモチベーションは直接コントロールできない
  • 楽しさやモチベーションを生み出す活動をしよう
  • 開発スケジュールを決めず、モチベーションに従って開発

  • 楽しんでやってる感が非常によい。こういう会社にしていきたい。

LT

yapcasia.org

  • どれも面白かった。
  • papixさんのmackerelからqiitaの記事を作成するのは試したい。
  • 定時に会社付近が雨振っているか検知するのは良さそう。

二日目

辛いことをやめる!から始まる業務改善とInfrastructure as Code

yapcasia.org

  • 辛いことをやめよう
  • 昔を踏襲するのは最善策ではない。今の環境に合わせて見直すことが大事
  • 変えることを嫌がる人はいる。そういう人にもメリットがあることを説明する
  • 変化を楽しむ社訓
  • 新しいツールを導入するときはハンズオンやるといい
  • CTOを味方に付ける
  • 敵を作って改善するのは、結果的に良くない
  • KPIは細かく決めてない。やったことに関して評価する

LT

yapcasia.org * Mysql5.7は罠がある * cssをチェックするツール t32k/stylestats · GitHub * vim scriptの解析大変

最後に

ここまでがっつり勉強会に参加したことなかったので、非常に楽しかったです。いつか自分も発表する側の人間になれるように技術力を磨いていきたいと思います。