アジャイル DevOpsの記事
IBMのアジャイル DevOpsの記事があったのでリンクしておく。
アジャイル DevOps: ソフトウェア・リリース・プロセスのフラット化
アジャイル DevOps: あらゆるものをバージョン管理する
アジャイル DevOps: Chaos Monkey を使用する
クラウドは今はとても重要な技術の一つ。
その意味は、環境が単に仮想化できるという意味だけではない。
どんな環境も即座に作れるようになったことで、インフラ構築もアジャイルな設計・構築が可能になったことだ。
従来のインフラ構築では、リリース後に使われる性能要件をあらかじめ予想して、サーバー・メモリ・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
インフラ構築すらもプログラマブルにしてしまうというクラウドの発想は、今後も注目し続けていく。
| 固定リンク
「プログラミング」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのモジュールシステムは複雑性をより増している(2022.09.10)
- Javaはなぜ関数型言語になろうとしているのか(2022.09.02)
- Javaのラムダ式の考え方(2022.08.10)
- Javaはオブジェクト指向言語ではなく関数型言語だった~「[増補改訂]関数プログラミング実践入門」はお勧めの本だ(2022.08.06)
「ソフトウェア」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- 実践した後に勉強するのがエンジニアの本来の道(2022.01.09)
「ソフトウェア工学」カテゴリの記事
- QAエンジニアの役割は開発チームのガードレールみたいなものという考え方(2023.08.21)
- テストアーキテクチャ設計モデルとJSTQB概念モデルの比較(2023.07.02)
- パターンカタログよりもモンスターカタログの方が面白いね #jasstkansai(2023.06.24)
- 「ゲームをテストする バグのないゲームを支える知識と手法」の感想(2023.06.10)
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
「構成管理・Git」カテゴリの記事
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- プログラミングしてる時はでっかいピタゴラ装置を作ってるみたいな感じ(2022.01.09)
- チケット駆動開発のプロセスとチケット管理システムの全体像 #Redmine(2021.12.28)
- 第21回東京Redmine勉強会の感想 #redmineT ~Redmineは業務も組織も包み込む柔軟性がある(2021.11.28)
「Agile」カテゴリの記事
- 日本のアジャイル開発の先人による話が良かった(2023.07.15)
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
- DDPは品質管理に役立つのか(2022.12.13)
「Jenkins」カテゴリの記事
- 第12回東京Redmine勉強会の感想 #redmineT(2017.05.14)
- 技術的負い目の記事がすごい(2016.01.03)
- RedmineとGitLabを連携すると、RedmineをGitHub化できるか(2014.10.17)
- 「チーム開発実践入門」が発売されている(2014.04.08)
- 最近、ツールとプロセスを組合わせたソフトウェア開発手法の本が増えている(2014.04.03)
コメント