マイクロソフト、アプリを自動的にDockerコンテナ化してKubernetesへデプロイしてくれる「Draft」をオープンソースで公開

2017年6月5日

マイクロソフトは、アプリケーションを自動的にDockerコンテナとしてパッケージ化し、Kubernetesのクラスタへデプロイしてくれるツール「Draft」をオープンソースとして公開しました

これは同社が先月買収したばかりのDeis社のエンジニアが開発しているもので、これまで複雑とされていたKubernetesクラスタへのアプリケーションのデプロイの手順を、わずか2つのコマンドで自動化しています。

1つ目のコマンドは「draft create」。このコマンドは、アプリケーションの開発言語を自動的に判別し、それに合わせてDockerファイルを作成、Kubernetes用のパッケージマネージャであるHelmに対応したパッケージングを行います。

現在のところプログラミング言語はNode.js、Go、Java、Python、PHP、Rubyに対応。

2つ目のコマンドは「draft up」で、これはdraft createによってDockerコンテナにパッケージ化されたアプリケーションをKubernetesへデプロイしてくれます。

そしてDraftをバックグラウンドで起動しておくと、コードの変更を察知し、コードが変更されるたびに自動的にKubernetesへのデプロイを行ってくれます。明示的にコマンドを起動することで継続的統合や継続的デプロイの一連のプロセスに組み込むことが容易な点も特長です。

Draftは、Cloud FoundryやDeisで実装されていたビルドパック(buildpack)のコンセプトにインスパイヤされて開発されたものと説明されています。

(参考:PaaS基盤「Cloud Foundry V2」内部で使われるBuildpack、Wardenコンテナの仕組みとは?(前編) - Publickey

Draftが作動している様子

下記は、マイクロソフトが公開しているDraftの動作をアニメーションGIFで紹介した動画のなかから、ポイントを抜き出したものです。

Pythonのアプリ「app.py」があります。catコマンドで中身を見ると、「Hello Draft!」を表示するという簡単なアプリケーションです。

fig

「draft create」コマンドを実行すると、Pythonのアプリケーションを検知、Kubernetes対応のDockerコンテナへパッケージングを実行。

fig

「draft up」コマンドを実行。するとdocker upで自動作成されたDockerファイルを基にビルドを実行し、Kubernetesへのデプロイを始めます。

fig

自動的にKubernetesへのデプロイを実行。そのままbgコマンドで「draft up」をバックグラウンドで実行させておきます。

「curl」コマンドでアプリケーションを呼び出してみると、「Hello Draft!」の文字列が返ってくるので、きちんとデプロイされたことが分ります。

fig

そこで、さきほどの「app.py」を一部書き換えて「Hello Azure!」の文字列を返すようにします。

fig

ファイルを保存してviコマンドを終了すると、コードが変更されたことを察知して、自動的にデプロイが始まります。

fig

そしてKubernetesへ再びデプロイされました。「curl」コマンドでアプリケーションを呼び出してみると、(2回目には)「Hello Azure!」の文字列が返ってきました。

fig

下記がオリジナルのアニメーションGIFです(「Streamlining Kubernetes development with Draft | Blog | Microsoft Azure」から)。

fig
このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ Docker / Kubernetes / コンテナ型仮想化 / Microsoft



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準
アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本