Developers Summit 2013 Summer 参加して来た「DevOps と Mobile」
こんにちは、8月1日に開催された開発者向けのイベントに参加してきました。残念ながら業務の都合で参加できないセッションがありましたが、参加者がDevOpsに対してものすごく興味を持っているなと感じました。数年前、Flickr のような大規模サイトで1日に10回以上のデプロイを行っているという話題と共にDevOpsという言葉が広がり、DevOpsを現場で実施している事例紹介では自分たちがやっていたことがDevOpsだったのか….などソフトウェア開発のプラクティスとして当たり前に受け止めた方も居たようです。
夏サミは、DevOpsについて自分の知識やこれまで知っていたことを整理する上でとてもよいイベントでした。 当日は運営側の細かな配慮が随所に見られ、来場者の細かな要望に対応しているところはすばらしいと思います。
さらに運営がまとめ資料を公開しているのでイベントに参加できなかった方は講演資料を読むだけでも「DevOpsとは?」が理解できると思います。
DevOps とは?
DevOpsは決まったやり方があるわけではなく、現場によって実現方法は違っている。でも、DevOps に必要な考え方と方向性は共有されつつあります。
考え方(文化)
- チームが尊敬しあう
- チームが信頼しあう
- トラブルに対する柔軟な対応
- お互いに非難しない
ツールによる現場の方向性
- インフラストラクチャーをコードで管理(インフラの自動化)
- バージョン管理システム
- 継続的インテグレーション
- 自動監視
- サービスのメトリクス、だれでも見られるよう情報共有
考え方はすぐに理解できるけどそれを具体的な行動に落とす時は、自分たちの目的、目指すべき所(何が成功?)をじっくり考える必要がありそうです。ツールによる現場の方向性についても理解できるが、実現するとなるとそれなりに求められるレベルが高く、難しいと感じてしまいます。
「DevOps すごくいい!!といってすぐに導入できるものではなく、またパッケージを買ってくればよいわけでもない。」
開発現場で当たり前のことを継続して、その上でもっと効率よく、サービスの質を上げることができないか、を現場で考えていくべきだと思います。
私が思う当たり前のことは、
- ソースコードの管理にバージョン管理を使うこと
- 障害管理、課題管理システムを使うこと
- 仕様書を作成すること
- コードレビューをすること
- テストの自動化
- チームのスケジュールが管理されていること
- など、ベストプラクティスとして考えられていること
このあたりをリストにするともっとたくさん挙がってきそうですが、すぐに思いつくソフトウェア開発の当たり前(基礎)はこんなところです。
自分たちにとって、「DevOps とは」「成功とは」目指している方向は会社やチームによって違います。 組織の中で考えるチームを作るきっかけに DevOps がなればよいなと思います。