BPStudy#47に参加しました
詳細: BPStudy#47 : ATND
というわけで久しぶしにBPStudy参加。
XenServerによるお手軽開発用サーバ運用 @tokibitoさん
Webシステムを作るに当たって
- 本番に近い環境、お客さんに見てもらう環境を作りたい
- Wikiや課題管理をしたい
という事で、開発用のサーバを立てたくなる時がよくあると。ただし…
- 費用がかかりすぎては本末転倒なのでコストはかけない
- あれもこれも盛り込みすぎてもダメなので、今必要のないものはいらない
この2点を念頭に置いて立てる。
実際にサーバを立てる
色々な方法があるが…
- レンタル?(共用サーバ、専用サーバ、VPSなど)
- 自前?
プロジェクト毎に別の環境(OSなども)を作りたいので共用サーバでは設定的に難しい。1〜3ヶ月が1プロジェクトの平均サイクルなので、データセンターなども難しい。じゃあ自前でやろう。
自前サーバに導入できるXenServerを選んだ。なぜXenServerなの?
- 対抗はVPS
- メモリ増やしたりとかはVPSより自前の方が融通がきく
- XenServerが無料になったので!
Xen
- オープンソースのフリーウェア
- サーバの仮想化
- ハードウェアの上で直接動作するOS
- Amazon EC2 とかでも使ってる
のっけ方 VM Xen ゲストOS VM OS OS OS ホストOS XenServer HW HW
- Linux、Windowsを動かせる
インストール方法
- iso落とす
- XenCenterを管理用端末にインストールする(XenCenterは残念ながらWindows専用)
- ライセンスファイルを取得し、XenCenter経由でライセンスファイルをインストールする
XenCenter特徴
- GUI
- 複数管理も楽
- スナップショットとって壊しても戻せる
- VM単位でバックアップが取れる
- まったく同じ構成の環境も簡単に作れる
- リソース割り当てもXenCenterから簡単に
- 別のホストにVMをまるごと移動できる
めんどい事
- ネットワークの設定…IPを固定したりホスト名変えたり
- なのでスクリプト組んだ https://gist.github.com/1113337
- ユーザ管理もめんどい
運用管理
- VMの管理はスプレッドシートとかで原始的にやるしかない
- リソースははじめは少なめに作って足りなかったら管理者に言って! という方針
今後
- バックアップ強化したい
ちなみに
- XMLRPCのAPIが使える
- なのでWebアプリに組み込んでWebから起動とかバックアップとかできる
非アジャイラーにアジャイルという言葉を使わずにアジャイルな見積りについて語ってみた+α @bash0C7さん
プロジェクトとは
- 戦略/ポートフォリオ/プロダクト/リリースにわけられる
プロジェクトの成功とは
- 予定通りの期間、予算で最初の定義したフィーチャを実現できている事
- …でもほんと? それだけ?
- 最初に定義したことが必ずしも最高とは限らない
- すべてうまくいったとしてもメンバーが全員疲弊したら意味ないよね
失敗する要因
-
- …いっぱい!
- 原因の一つとして見積もりミス
- …でも見積もり無駄じゃないか?
- そうでもない。実施価値判断、優先順位付け、体制検討に見積もりは使える
とりあえず3つ覚えて帰ってくださいね。不確実性コーン、規模と期間、正確さと労力
-
- 不確実性コーン
- 横軸がウォーターフォールにおける各工程(要件定義とか?)、縦軸が誤差
- プロジェクトの最初の段階は誤差が生じやすい
- が、工程が進むことによって少しずつ誤差は収束する傾向にある(最後でだいばくはつする事もある)
- 詳しくはぐぐる
- 不確実性コーン
規模と期間
- たとえば、東京-大阪間でかかる時間。のぞみだと2時間40分かかる、こだまだともっとかかる=期間。乗り物(開発者)によって変わる。
- 乗り物(開発者)によってかかる時間(規模)を求め比率で出してみる
- ユーザ追加機能は3くらいだから…削除機能は2? みたいな
正確さと労力
- 見積もりに時間かけ過ぎてもいかん。見積りなんか天気予報と同じ。
- どんだけやっても100%にはならないので、適度な所で切り上げることも大事
アジャイルな見積もりと計画づくり
- このあたりの内容は「Agileな見積もりと計画づくり(Amazon)」に乗っている。簡単に絶版になるらしい(!)
アジャイルの手法? というか流れ?
Product Backlog | これからやることを積んでおく |
---|---|
Sprint Backlog | 「これ」を達成するためにやらないといけない「あれ」や「それ」 |
Sprint Review | 成果物確認(1週間ごと) |
Test Release | まずは自分の環境 -> そしてチーム内 -> 最終的にお客さんに見せるように |
Sprint Reviewの内容 | 週一の進捗報告。こんなものつくりましたーな成果物デモのみ。コードレビューは別の場で |
- 成果物がないと動かせるものがないので進捗報告がモロに出てしまう…だがそれがいい
最後に
アジャイル導入は環境的にムリダナと思いつつ、何か一部だけでも取り入れられないかなーと思うものの、なかなか難しい。。。とりあえず、アジャイルあんまり関係ないけど「Excel管理」と「ソースファイルに日付入れてバックアップ」やめればっ!? っつってSubversionとRedmine導入しようとしてみてます。
また、皆の自由な開発環境*1を手に入れるためXenServerがけっこういい感じというのも知れたのでちょっと導入できるか探ってみようとおもいました。
そして流れるように懇親会へ…。@haru860さんの顔認識能力に驚愕;;
お疲れさまでした。
*1:入れても使う人いるのかは知らない。