« トヨタのかんばん方式とバグ追跡システムの密接な関係 | トップページ | 3/23に「プロジェクトマネージャー・リーダー必見!成功するプロジェクトのための開発基盤と手法」セミナーで講演します »

2013/02/19

アジャイル DevOpsの記事

IBMのアジャイル DevOpsの記事があったのでリンクしておく。

アジャイル DevOps: ソフトウェア・リリース・プロセスのフラット化

アジャイル DevOps: あらゆるものをバージョン管理する

アジャイル DevOps: インフラストラクチャーの自動化

アジャイル DevOps: Chaos Monkey を使用する

アジャイル DevOps: 一時環境

クラウドは今はとても重要な技術の一つ。
その意味は、環境が単に仮想化できるという意味だけではない。
どんな環境も即座に作れるようになったことで、インフラ構築もアジャイルな設計・構築が可能になったことだ。

従来のインフラ構築では、リリース後に使われる性能要件をあらかじめ予想して、サーバー・メモリ・HDD・ネットワークなどのハードウェアを購入する必要があった。
何故なら、それらハードウェアはとても高価だったし、たとえ安くなったとは言え、リリース後に性能を増強するのは、稼働中のサーバーを止めることができない故に難しいからだ。
だから、インフラ構築は、設計・構築・テストというWF型のプロセスが今もなお主流。

でも、AWSのようなクラウドが普及していく中で、インフラ構築もアジャイルな構築が可能になってきている。
計各時の性能見積もりに厳密さを求めなくても、試行錯誤しながら、クラウド上のインスタンスをスケールアップすればいいだけだからだ。
その場合、インスタンスの設定やスケールアップの作業そのものも、プログラミングで自動化することができる。
ChefやPuppetはそういう類のツールだと思った方がいいだろう。

さようならPuppet、こんにちはChef - Masatomo Nakano Blog

サーバの構築作業やシステム管理を自動化する「Chef」|サイバーエージェント 公式エンジニアブログ

すると、環境構築の設定をプログラム化できると、それらのバージョン管理が必要になり、更には即座にデプロイするビルド管理ツールも必要になってくる。
デプロイメントの自動化としてCapistrano、ビルド自動化としてJenkinsなどが使われるわけだ。

今更聞けないCapistranoでリリースの自動化 - プログラマになりたい

また、DBスキーマの変更管理として、LiquibaseというOSSのドメイン特化言語(DSL)まであるらしい。
これはこれで面白そう。
「DBリファクタリング」をツールで実現しているみたいだ。

Liquibase | Database Refactoring | ja:home

簡単に環境を作れるとなると、性能テストだけでなく障害テストのような信頼性のテストも行うことができる。
性能負荷テストではJMeterが良く使われてきたけれども、障害テストならChaos Monkeyを使って、故意に障害を起こして耐障害性を高める修正を行うこともできるだろう。

サービス障害を起こさないために、障害を起こし続ける。逆転の発想のツールChaos Monkeyを、Netflixがオープンソースで公開 - Publickey

インフラ構築すらもプログラマブルにしてしまうというクラウドの発想は、今後も注目し続けていく。

|

« トヨタのかんばん方式とバグ追跡システムの密接な関係 | トップページ | 3/23に「プロジェクトマネージャー・リーダー必見!成功するプロジェクトのための開発基盤と手法」セミナーで講演します »

Agile」カテゴリの記事

Git・構成管理」カテゴリの記事

Jenkins」カテゴリの記事

ソフトウェア」カテゴリの記事

ソフトウェア工学」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« トヨタのかんばん方式とバグ追跡システムの密接な関係 | トップページ | 3/23に「プロジェクトマネージャー・リーダー必見!成功するプロジェクトのための開発基盤と手法」セミナーで講演します »