### インフラチームの挑戦
インフラチームはより多くのユーザーに価値を届けられるよう挑戦 しています。Infrastructure as codeが世の中に定着していますが、そのほとんどが既にあるツールを利用したものが多いと感じています。 Wantedly のインフラチームでは、自分たちにとって必要なツールは 何か?半年・一年後のWantedly がどうあるべきかを考え、必要であればツールの開発行うことをしています。ツールの開発ができる現場はそう多くはなく、Wantedlyならではの体験です。
### チーム構成
インフラチームは現在 @koudaiiiとインターンの @dtan4 の 2人です。
オペレーションを人海戦術で解決するのではなく技術で解決すべく、今後もできるだけ少人数でやっていきたいと思っています。
### まず自分たちが情熱的であるかどうか
インフラチームのタスクは大きく 2 種類に分けられます。
* やりたいと思っているプロジェクト
* 障害対応や開発チームからの依頼などアドホックに生まれるタスク
「情熱的に働く手助けをする」という理念は自分たち自身も例外ではありません。むしろ、自分たちが情熱的に働いてなければ周りの人の力になれるはずもありません。そのためインフラチームでは、各自情熱的に取り組めるプロジェクトを必ず 1 つ持つようにしています。同時に、事業に貢献する必要もあるため、そのプロジェクトは会社としてやるべきことと、やりたいことが重なる領域を選ぶようにもしています。
後者はジョブキューのようなイメージで、手が空いてるメンバーからタスクを消化していきます。中には面白くはないがやらなければならないタスクももちろん存在するのでそういったタスクはチームメンバー皆で片付けようという考えです。
### GitHub Flow で進める
仕事の進め方は GitHub が中心です。インフラチームはお互いにそれぞれが集中して作業に取り組む時間を確保するため、ミーティングをしたり、頻繁に話しかけて作業を中断しないよう意識してやっています。その代わり、丁寧かつ、こまめに GitHub Issue に今やっていることや完了したことをコメントで追記し、非同期で進めます。サーバのプロビジョニングやツールなどインフラの成果物もコードですので開発チームと同じく GitHub Flow で開発、テスト、レビュー、デプロイします。
### 技術スタック
以下はインフラチームが使っている技術スタックになります。
* サーバ: AWS VPC, EC2, ELB, RDS, S3, CloudFront, Elasticache / Virtualbox
* サーバ OS: Ubuntu 14.04 LTS, CoreOS beta
* プロビジョニング: Docker, cloud-config, Packer, Chef
* オーケストレーション: Capistrano, kubernetes
* アプリケーションモニタリング: NewRelic
* インフラのモニタリング: Datadog, Pagerduty
* ロギング: Logentries
* CI: Wercker, TravisCI, CircleCI
* コラボレーション: GitHub, Slack
* Docker レジストリ: Quay.io
* テストフレームワーク: Serverspec, Infrataster, Locust
* 言語: Ruby, AngularJS, golang
* バージョン管理: Git, GitHub
http://www.slideshare.net/ssusera9d121/dveloper-infrastracture-in-devlove2015