最近、お仕事ではこんなことを調査していたりします。最近流行りの
CI(Continuous Integration)の手法ですね。日本語では継続的インテグレーションとか言うようです。「インテグレーション」が日本語になっていませんが、そう言われているようです。
現在調査しているのは...
クライアント→ ブラウザー → Jenkins+Ansible+GitLab → サーバー構築
クライアント→ CLI → Ubuntu Juju →OpenStackのコンピュート上で(アプリケーション)サーバー構築
の二つ。Jujuの方がレイヤーが一つ少なく、OSのデプロイもやってくれるので私は好きですけどね。
ちなみに、Ubuntu Jujuを使ってOpenStackを構築する...のではなくて、構築済みのOpenStackとJujuを連携させて、Jujuでコマンドを実行するとコンピュート上にポコっとインスタンスが立ち上がって、Jujuがユーザーから要求されたアプリケーションをインストールする...というのを調べていました。この需要、それなりにあると思うんだけどあまり見ないので、そのうちまとめて会社の方のサイトかどこかで資料を公開します。公開したら報告します。
これでサーバーが必要な時にJujuやJenkinsを使って特定用途のサーバーを作る環境ができました。
ところでJujuについてはOpenStackだけでなく、AWSや最近人気のAzure、ローカルのLXCやLinux KVMへのデプロイメントも対応しています。インストールすると便利ですよ。
JujuとOpenStackの連携の件は以下のサイトが特に参考になりました。