[和訳]ワークロードのポータビリティを利用可能にし、ロックインに対処するには #docker
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は Enabling Portability of Workloads And Fighting Lock-In, with Docker (2016/3/31) の和訳です。
Dockerポータビリティを使って、ワークロードのポータビリティを利用可能にし、ロックインに対処するには
ポータビリティ
おそらくこれは、Docker Containers-as-a-Service(サービスとしてのコンテナ)プラットフォームの特徴のうち、最も優れているものでしょう。結局はこの特徴が、Dockerが今日こんなにも人気にしているのです。わずか3年で、今や20億を超すDocker Hubのプル、そして40万を超す固有のDocker Hub利用者がいて、また、20万を超すDocker化アプリケーションが存在し、顧客は何千といます。採用の要因の大部分は、ポータビリティにあります。ポータビリティこそが、ユーザーが強く求めているものなのです。開発者とIT運用チームの両方が業務の成功のために必要とする柔軟性を提供するからです。ところで、ポータビリティとは正確にどのようなものなのでしょう?
Docker社ではポータビリティを、ワークロードを異なるインフラ環境に移すことができる能力と定めています。企業向けのハイブリッドクラウドとマルチクラウドを利用可能にしながら、一貫性を保ちます。ポータビリティは、開発ライフサイクルを通して、企業にアプリケーションを開発・テスト・本番テスト環境、最終的には(音楽スタート!)商用の製品へと適用させることを可能にさせる魔法です。そして実行するインフラに関係なく、それらを全く同じ方法で実行できます。それはまた、企業がクラウドインフラからベアメタルサーバーへワークロードを移すことを可能にしてもいるのです。
今や、マルチクラウド構造を採用し、AWSのようなクラウドプロバイダからAzureのような他のクラウドサービスプロバイダへワークロードを移す企業もいます。それについてはもう少し後のほうで触れます。Containers-as-a-Serviceプラットフォームを備えたDocker社の目標は、IT運用チームと開発者の両方に、アプリケーションの構築・出荷・実行を可能にさせることで、企業の“DevOps”を手助けすることです。それゆえ、ポータビリティは大いに価値があるのです。それでは、CaaSが運用するポータビリティ(機敏性とコントロールとともに)がどのように両者を夢中にさせているのか見てみましょう。
開発部門向けのポータビリティ
開発者は、デジタル構築家・建設者です。彼らは素晴らしいアプリケーションを素早く設計・構築したいと思っています。以前は、バグやパッチや遅れが原因でアプリケーション開発サイクルが長かったため、アプリケーションを構築することは開発者にとって悪夢であり、組織にとってはお金のかかるものでした。今日では、開発者はDockerを使ってこの問題を解決できます。Dockerエンジンはどんなインフラ上でも実行可能なので、アプリケーションはどんな環境においても全く同じように実行できます。開発者はDocker Toolboxを使ってアプリケーションを開発し、テストを行い、Docker Trusted RegistryやDocker HubのようなDockerレジストリ(イメージを保存し、保護するレジストリ)にイメージを保存することができます。IT運用チームがイメージを取り出し、それらをテストし、Universal Control PlaneまたはDocker Cloudを用いて商用環境で実行します。このようにして、全体のプロセスを効率化できます。
次の図は、ポータビリティによって可能になるCI/CDパイプラインです。GitHubでAPIを使用し、Jenkinsでイメージをテストし、Docker Trusted Registryにイメージを保存し、それらをUniversal Control Planeによって商用環境で実行しています。
IT運用部門向けのポータビリティ
ITオペレーションチームはIT環境を管理し、保護するだけでなく、ビジネスについても常に念頭に置いておかなくてはなりません。IT運用チームは、自分の会社の営業に最も適しているサービスを選択する必要があります。ITチームはビジネスにおけるニーズに合わせて、ハイブリッドクラウドを採用する等の選択や決断をしなければなりません。現代の企業は、クラウドとfirewallの後ろ側のローカルでホストされるベアメタルサービスが可能なデュアルアプローチを好みます。これが機能するには、クラウドやオンプレミス環境でワークロードを移動できる必要があります。ポータビリティ―こそがこれを可能にするのです。
別の例としてマルチクラウドを見てみましょう。X社がAWSを使用しているとします。ところがこの会社は別のプロジェクトでMicrosoftとも密接に関わって仕事をしています。Microsoftは、X社がワークロードをAzureへ移すのならば、喜んで大幅に割引をするとしています。それはX社にとって大きな節約となります。そこでチームは、すべてのAWSワークロードをAzureへ移す手段が必要となります。Dockerはクラウドを選ばないので、ITチームはUniversal Control PlaneまたはDocker Cloudを使用して、ワークロードをAWSからAzureへ移すことができます。そして、Azureに移した場合の費用に抑えることができます。このユースケースをこれまでITチームは見過ごしてきました。そのため、私はこの話をする重要性を感じたのです。
次の構築事例は、分散化された開発インフラを示しています。これはIT部門により維持される集中化されたポータルであり、クラウドやオンプレミスで、Docker Datacenter(UCP + DTR + Support)と一緒に実行するアプリケーションです。ワークロードがどのように、ハイブリッドインフラ間で移動でき、有るクラウドサービスプロバイダから別のプロバイダへと移動できるかについても説明しています。
PaaS Black Boxを回避するには
Caasが提供するポータビリティについて話をしているときに生じてくる疑問があります。"Paasについてはどうか?"という疑問です。CaaSの普及に先駆けて、多くの組織がPaaS (Platform-as-a-Service)というルートを通りました。あなたの会社もその一つかもしれません。 問題はPaaSソリューションが固定されていて、しばしばソリューションと一緒にパッケージ化されていることです。それらは、仕事を完了させるために必要としていたものを提供してくれますが、今日のチームが必要とするような柔軟性やポータビリティは提供してくれません。(ユーザーは後からこれに気づくものです)PaaSサービスは頑固で、ユーザーに自分のインフラだけを使用させるように構築されています。自分のスタック以外に目を向けるのが難しくなっているのです。 このために、開発部門が開発の仕事をし、IT運用チームが商用環境のためにすべてを書き換えるなど、組織はしばしば二倍の仕事をするはめになります。PaaSソリューションには、開発者がアプリケーション構築に使用するAPIを活用できない事が多く(多くがDocker APIをサポートしていなく、変換が必要)、また、CaaSが提供するようなプラグ対応能力がありません(Docker CaaSに備わっている電池は交換可能です)。
私どもの目標は、アプリケーションの構築・出荷・実行をすべてのユーザーに非常に簡単にやっていただくようにすることです。ポータビリティは、その目標に近づくための一つのキーとなる方法なのです。あなたがcloudのみのショップであろうと、ベアメタルファンであろうと、ハイブリッドクラウドの愛好家であろうと、マルチクラウド主義者であろうと、どんな人もDocker CaaSプラットフォームのポータビリティによる恩恵を受けることができます。あなたにはポータビリティが必要です。
このオンラインセミナーを再生してみてください。私とMike ColemanがDockerのクラウドポータビリティについて話しています。また、MikeはUniversal Control PlaneやDocker Datacenterの一部を使っていくつかの異なったクラウドサービスプロバイダ間で、ワークロードの移行に関する素晴らしい説明をしています。
動画はこちらを参照してください。
https://blog.docker.com/2016/03/enabling-workload-portability-fighting-lock-in-docker/
Docker CaaSについてさらに学習するためには、これらの資料をチェックしてください:
・Docker Datacenterの30日間無料トライアルに登録しましょう
・SaaSファンでしたら、今日Docker Cloudを入手しましょう
・CaaSの概観についてのオンラインセミナーを見ましょう
・次に予定されているDockerオンラインセミナーに登録しましょう
Dockerに関してさらに学ぶには
・Docker初心者は、10分のオンラインチュートリアルをご覧ください。
・画像、自動構築などを無料のDocker Hubアカウントでシェアしてみましょう。
・Docker 1.10リリースノートを読んでみましょう。
・Docker Weeklyを購読してみましょう。
・次に予定されているDockerオンラインMeetupに登録してみましょう。
・次に予定されているDocker Meetupに参加してみましょう。
・DockerCon 2016に登録してみましょう。
・DockerCon EU 2015のビデオを見てみましょう。
・Dockerコミュニティへの貢献を始めましょう。