DraftとKubernetesを比較

    「Draft」と「Kubernetes」の概要

    「Kubernetes」はDockerコンテナ群管理フレームワークであり、「Draft」は「Kubernetes」クラスタ上へのデプロイと継続的インテグレーション機能を提供します。

    ■「Draft」とは

    DraftはMicrosoftが提供する「Docker」コンテナデプロイサポートツールです。

    「Kubernetes」クラスタ上へのデプロイと継続的インテグレーション機能を提供します。

    Draftを使用すると、Kubernetesクラスタ上で動くコンテナベースアプリケーションの開発工程を簡素化できます。開発者は、Docker/Kubernetesの管理作業から解放され、アプリケーション開発に専念できます。

    ■「Kubernetes」とは

    Kubernetesはクラウドネイティブコンピューティング基盤のためのDockerコンテナ群管理フレームワークです。

    Kubernetesは「アプリの運用負担を軽減するためのエコシステムのコンポーネントとツールの整備」を目指しており、「可搬性」「拡張性」「自動修復性」などの特徴によりコンテナ管理の自動化を推進できるコンテナオーケストレーションシステムです。

    Kubernetes作業サポートツール「Draft」

    ■Kubernetesの「kubectlコマンド」による作業の煩雑さ

    Kubernetesが提供している「kubectlコマンド」を実行してクラスタ操作を行うことも可能ですが、「作業工程が複雑な場合」や「デプロイされたアプリケーション間に複雑な依存関係があるマイクロサービスの場合」などには、作業が煩雑になりすぎて対処できないケースもあります。

    ■Kubernetes作業サポートツール

    Kubernetesにおける作業をサポートする複数のツールが提供されており、その中の1つが「Draft」です。

    「フィードバックループ(code-deploy-refactor)」の高速化支援を主な目的としており、Kubernetesでの開発を実施する開発者にとっては有用なツールとして利用できます。

     

    参考元サイト
    Medium →The ultimate guide for local development on Kubernetes: Draft vs Skaffold vs Garden.io

    ※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

    「Draft」基本情報

    概要

    Draft(ドラフト)とは、「Docker」コンテナデプロイサポートツールです。Microsoftが提供しています。「Kubernetes」クラスタ上へのデプロイと継続的インテグレーション機能を提供します。

    基本説明

    Draftを使用すると、Kubernetesクラスタ上で動くコンテナベースアプリケーションの開発工程を簡素化できます。

    開発者は、Docker/Kubernetesの管理作業から解放され、アプリケーション開発に専念できます。

    「Kubernetes」とは

    「Kubernetes(クーベルネイテス)」とは、Dockerコンテナ群管理フレームワークです。コンテナ群のデプロイ/オーケストレーション/クラスタリング管理/運用管理などの各機能を提供します。
    →OSS×Cloud News →オープンソースの運用管理・運用自動化/Kubernetesとは

    経緯

    Draftは、2017年5月、オープンソース公開されました。

    TOPに戻る

    主な特徴

    Draftのターゲット

    Draftは、開発者のワークフローである「インナーループ」をターゲットしています。

    「インナーループ」とは「コード記述中状態(バージョン管理コミット前)」を意味しています。

    2ステップでKubernetesへデプロイ

    Draftを使用すると、2つのコマンドのみで、Kubernetesへのデプロイを行えます。

    ステップ①「draft create」
    1. Draftが対象アプリケーション言語を検知
    2.「Dockerファイル」と「Kubernetes用パッケージマネージャHelmに対応したパッケージング」をソースツリー出力

    ステップ②「draft up」
    1. Dockerファイルを基にビルドを実行
    2. Kubernetesへデプロイ

    継続的インテグレーション

    Draftでデプロイされたコンテナアプリケーションのコードをローカル環境で修正すると、継続的インテグレーションが行われます。
    1. 自動的にKubernetesへデプロイ
    2. バージョン管理システムにコミットしてプッシュ

    Docker/Kubernetesのインストール不要

    Draftを使用する場合、ローカル開発環境にDocker/Kubernetesのインストールは必要ありません。

    サポート言語

    主要な開発言語をサポートしています。
    Python
    Node.js
    ・Java
    Ruby
    PHP
    Go

    TOPに戻る

    同様製品

    同様な機能を提供する製品として、次のようなものがあります。

    オープンソース製品:「Paus」「Rancher」など。

    TOPに戻る

    ライセンス情報

    Draftのライセンスは「MIT License」です。

    詳細について、こちらを参照ください。
    →GitHub →Azure →Draft →LICENSE

    TOPに戻る

    ダウンロード

    →GitHub →Azure →Draft

    TOPに戻る

    参考元サイト

    ・GitHub →Azure →Draft
    ・Azure →Blog →Announcements →Streamlining Kubernetes development with Draft
    ・ZDNet →MS、コンテナベースのアプリ開発を効率化するオープンソースツール「Draft」リリース
    ・Publickey →マイクロソフト、アプリを自動的にDockerコンテナ化してKubernetesへデプロイしてくれる「Draft」をオープンソースで公開
    ・OSDN →Magazine →米Microsoft、Kubernetesで動くコンテナアプリ構築ツール「Draft」を発表
    ・TechCrunch Japan →MicrosoftのDraftはコンテナ化の面倒を引き受けるクラウドサービス、デベロッパーはアプリケーションのコードをローカルに書くだけ
    ・Wantedly Engineer Blog →Docker Compose を使った オープンソース PaaS: Paus のご紹介

    TOPに戻る

    ※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。


    「Kubernetes」基本情報

    ■概要

    Kubernetes(クーベルネイテス)とは、クラウドネイティブコンピューティング基盤のためのDockerコンテナ群管理フレームワークです。

    ■基本説明

    Kubernetesは、Dockerコンテナ群に対する「デプロイ」「オーケストレーション」「クラスタ管理」「運用管理」などの各種管理機能を提供し、アプリケーションを構成するコンテナを論理的な単位にグループ化し管理性を向上させます。

    「メンテナンス機能」「スケーリング機能」「ノード群スケジューリング機能」「ワークロード動的管理機能」「ユーザー定義状態の共有/管理機能」「ロードバランサー機能」「死活監視機能」などの豊富な機能を備えています。

    Kubernetesは「アプリの運用負担を軽減するためのエコシステムのコンポーネントとツールの整備」を目指しており、「可搬性」「拡張性」「自動修復性」などの特徴によりコンテナ管理の自動化を推進できるコンテナオーケストレーションシステムです。

    ■経緯

    ・2014年 初版リリース
    ・2015年 Linux Foundation傘下「Cloud Native Computing Foundation」に移管

    Kubernetesは、Google社内で開発/運用されている開発生産ワークロードを15年間実行してきた経験を基に、コミュニティの優れたアイデアやプラクティスやノウハウを結集して開発されたもので、プロダクションレベルに対応できるオープンソースプラットフォームです。

    ■オフィシャルサイト情報

    オフィシャルサイト

    →Kubernetes(Production-Grade Container Orchestration - Kubernetes)

    ライセンス情報

    Kubernetesのライセンスは「Apache License 2.0」です。

    詳細について、こちらを参照ください。
    →GitHub →kubernetes →LICENSE

    動作環境

    Kubernetesは「ローカル環境」「Google Cloud」「Amazon Web Services」「Microsoft Azure」「OpenStack」「CloudStack」などの環境に対応します。

    ダウンロード

    →Kubernetes →Setup

    導入事例

    →Kubernetes →Kubernetes User Case Studies