目次:
ビデオ: Faith Evans feat. Stevie J – "A Minute" [Official Music Video] (十一月 2024)
現在、コンテナはIT部門にとって馴染みのある概念です。 最も機敏な中小企業(SMB)または企業が既にそれらを使用している場合があります。 アプリケーション開発とITインフラストラクチャに関する限り、Linuxコンテナは、この種のテクノロジで見られるものとほぼ同じくらい流行しています。
実際、451 Researchは、アプリケーションコンテナー市場を2016年の7億6, 200万ドルから2020年までに27億ドルに拡大すると予測しています。一方、ガートナーは、グローバル組織の50%以上が2020年にコンテナー化されたアプリケーションを実行すると予測しています。 2017年。
マイクロサービスのモジュール式アプリケーションアーキテクチャが、開発およびITチームの作業効率を高め、新しい機能や機能を追加するコストと複雑さを軽減する方法については既に説明しました。 テクノロジーの観点から見ると、コンテナーはそのDevOps方程式の触媒となります。 これらは、DevOpsとITチームがアプリケーションのコード、構成、依存関係を迅速かつ一貫してやり取りできる便利なパッケージです。
しかし、それはあなたのビジネスにとって実際にはどういう意味ですか? エンタープライズITソリューションおよびオープンソースソフトウェア会社のRed Hatと話をして、調べました。 この説明者は、コンテナとその動作方法だけでなく、テクノロジーを理解すると、データセンターまたはクラウドインフラストラクチャ上でコンテナ化された展開を使用して高品質のソフトウェアをより迅速に提供できるさまざまな方法を説明します。
コンテナ101
最も基本的なレベルでは、Linuxコンテナは、頻繁に見られる金属製の輸送コンテナにちなんで適切な名前が付けられています。 貨物船、貨物列車、または大型のリグトラックの後ろにあるかどうかにかかわらず、コンテナ自体は商品を輸送するのと同じ均一な容器です。 Red HatのIntegrated Solutions Business UnitのゼネラルマネージャーであるLars Herrmannは、同社のLinuxコンテナテクノロジーを監督しています。 Herrmann氏は、企業はコンテナを新しい作業単位として単純に見るべきだと述べました。
「コンテナはすべて敏a性についてのものです」と、ハーマンは言いました。 「複雑な組織では、機能を提供する自由とともに責任を割り当てることが重要です。コンテナは、セキュリティ、可用性、規制順守などの重要なすべての責任を管理しながら、すべてを統合するためのこのテクノロジーを提供します。」
完全なインフォグラフィックの画像をクリックします。 画像クレジット:Twistlock
このように、コンテナの均質性により、コンテナは使いやすくなっています。 これらは、運用効率とバージョン管理を考慮したマイクロサービスアーキテクチャを構築できる、小さなプラグ可能なユニットです。 同時に、DevOpsおよびITチームは、インフラストラクチャリソースの展開方法をきめ細かく制御できます。 Herrmannはまた、コンテナは基本的にオペレーティングシステム(OS)テクノロジであると指摘しました。
「コンテナはオペレーティングシステムを取得し、2つの部分に分割します」とHerrmann氏は説明しました。 「一方では、DevOpsチームが最適化できる方法でアプリケーションコードと依存関係を含むアプリケーションのワークユニットを取得し、必要に応じて意思決定を行うための自律性と制御を提供します。他のチームを待ちます。
「もう1つはオペレーティングシステムカーネルです。OSカーネルとコンテナーペイロードは、ストレージ、ネットワーク、セキュリティなど、必要なリソースとプリミティブのサポートを提供します。コンテナーはOSテクノロジーであるため、どこでも仮想で実行できますホストまたはパブリッククラウド。そのハイブリッドな品質により、DevOpsチームを強化しながら、同じテクノロジーを使用して、あらゆる環境のアプリケーションを管理できます。」
コンテナも仮想化と同じものではありません。 Herrmannは、コンテナと仮想化は相互的な力であると説明しました。 仮想化は、さまざまなソフトウェアスタックを実行する仮想ハードウェア環境をエミュレートします。 抽象化レイヤーと呼ばれるものを提供し、アプリケーションとデータの構造化および展開方法を柔軟にクラウドコンピューティング環境に提供します。 したがって、単一の仮想化OSカーネルで、複数のサーバーまたはインスタンスを実行できます。 コンテナはインスタンスです。
「コンテナと仮想化の混同には依然として多くの混乱があります」とHerrmann氏は言います。 「仮想化は別の問題を解決します。コンテナと仮想化は互いに非常にうまく補完し合うと考えています。仮想化は抽象化とエミュレーションを提供します。膨大な運用効率ですが、2つを分離するのは難しい場合があります。」
コンテナランドスケープの簡単な内訳
コンテナに関して話しているDevOpsとアジャイルの原則は、上記のマイクロサービスの説明で詳しく説明しているサービス指向アーキテクチャ(SOA)の概念に戻っているため、新しいものではありません。 Dockerがゲームを変更したときに、最新のLinuxコンテナが発明されました。 Dockerはいくつかの異なるものですが、何よりもまず、2013年にDockerプロジェクトによって開発された非常に人気のあるオープンソーステクノロジーです。これは、あらゆるアプリケーションを軽量コンテナーとして梱包、出荷、実行するために設計されています。 2017年に、DockerはHyper-Vテクノロジーを使用してWindows上でLinuxコンテナーを実行する機能を追加しました。
Dockerは、テクノロジーとスペースの形成を支援しているいくつかのオープンソースプロジェクトの1つです。 もともとGoogleによって開発され、現在はCloud Native Computing Foundationによって管理されているKubernetesは、コンテナの展開、スケーリング、および管理を自動化するためのオープンソースシステムです。 DockerとKubernetesは、テクノロジーの開発に最も大きな影響力を持つ2つの強力なオープンソースプロジェクトです。 実際、4月にDockersはDocker Enterprise Edition(EE)2.0をリリースしました。これにより、ユーザーは、マルチLinux、マルチOS、またはマルチクラウド環境全体でKubernetesのワークロードを管理および保護できます。 この柔軟性により、企業が特定の技術やインフラストラクチャに縛られる可能性が低くなります。 Dockerによれば、EE 2.0により、企業は単一の制御インターフェースからアプリケーションを管理して、画像、ストレージ、ネットワークを追跡することで、コスト効率を高めることができます。
Red HatのProject Atomic(Docker / Kubernetesスタックを組み合わせたもの)およびLinux FoundationのOpen Container Initiativeには、コンテナに関するオープンな業界標準を作成することを目的とした他の企業が多数あります。 Dockerにとって、開発の世界に火をつけたのはDockerイメージでした。 コンテナには、コード、ライブラリ、および構成ファイルが保存され、任意の場所でイメージを実行できます。 「コンテナはすべて、Dockerがイメージベースの展開の概念を導入するまで、同じノードにサービスを配置していました」とHerrmann氏は言います。
完全なインフォグラフィックの画像をクリックします。 画像:Docker調査、2016年
Dockerはスタートアップ(2010年にdotCloudとして設立)であり、2億4, 200万ドル以上の資金を調達しています。 同社は、データセンターおよびプライベートクラウドでのDocker導入向けのエンタープライズサービス型コンテナ(CaaS)ツールのスイートを提供しています。 もちろん、エンタープライズコンテナ管理に関して言えば、Dockerはこの分野だけではありません。 Red Hatは、Red Hat Enterprise Linux(RHEL)、OpenShift、およびJBoss製品全体で、開発者ツールの独自のエンタープライズCaaSスイートを提供しています。
ますます多くの有名なハイテク企業もこの行動に参加しています。 Amazon Web Services(AWS)、Microsoft Azure、およびGoogle Cloud Platform(GCP)はすべて、組み込みのコンテナオーケストレーションおよび管理ツールをそれぞれのクラウドインフラストラクチャとしてのサービス(IaaS)プラットフォームに統合しています。 5月8日、Microsoftは、開発者がAzureでコンテナベースのソフトウェアを実行できるようにするため、Red Hatとのパートナーシップを発表しました。 同日、IBMはRed Hatとのコラボレーションを拡大し、開発者が統合コンテナプラットフォームでアプリケーションを構築できるようになると報告しました。 数年のうちに、コンテナスペースはかなり混雑しました。
コンテナはどのようなビジネス上の問題を解決できますか?
企業内で最新のアプリケーションアーキテクチャとDevOpsの原則を実装する場合、コンテナは多くの問題に対する答えです。 特に、組織がレガシーテクノロジーと従来の開発ポリシーに固執している場合、コンテナはその下に簡単に統合できるプラットフォームであり、IT部門での移行を円滑にし、簡単にします。
「現在、コンテナ化は、クラウド、DevOps、およびマイクロサービスを環境に導入する最も実用的な方法であると考えています。コンテナは、既存のテクノロジと自然に統合されます」とHerrmann氏は述べています。
Red Hatのミドルウェア製品管理担当シニアディレクターのRich Sharples氏は、品質の高いソフトウェアをより速いリズムで提供することがすべてだと語っています。 すべての企業は、自社の市場で競争するためにソフトウェアをより早く投入しようとしています。そして、その圧力はしばしば過労のIT部門にかかっています。 Sharples氏によると、コンテナは、品質を維持しながら、新しい機能の追加や重要なセキュリティ修正の追加など、より迅速に変更できるアプリケーションやサービスを作成する方法です。 また、企業がマイクロサービスに対応できるようにするための橋渡し役として、コンテナ化されたインフラストラクチャについても話しました。
「この設計原則があります。アプリケーションを残すことはできません」とSharples氏は言います。 「私たちはDevOpsとアジャイルソフトウェア開発のこの素晴らしい新しい世界にいます。しかし、企業はパーティーに参加するためにすべてのアプリケーションを書き換えることはできません。これらの新しいアイデアにどのように動かしますか?
「コンテナなどのプラットフォームへの投資は、組織がマイクロサービスのようなものを構築する準備を整えることを保証する方法です。マイクロサービスとコンテナを一緒に使うことが本当の力です。単一のマイクロサービスには何も興味がありません。機能の個別のチャンクで構成される協調ネットワーク。」
画像クレジット:Docs.Docker.com
コンテナに投資して採用するかどうかを評価するのは、技術だけではありません。 Sharples氏は、コンテナとマイクロサービスを組み込んだDevOpsへの移行を成功させるには、アーキテクチャ、基盤となるプラットフォーム、アジャイルプロセスが必要であることを説明しました。
「これは単なる技術上の決定ではありません」とシャープルズは言いました。 「組織の準備ができているかどうか、解決する必要のある特定のソフトウェア配信の問題があるかどうかを検討し、自動化とDevOpsのビジネスドライバーがどのように見えるかを理解する必要があります。主要な要件を理解し、さまざまなプロジェクトのニーズを調べ、クラウド、アプリケーションアーキテクチャ、コンテナテクノロジーのどの組み合わせがそれを実現できるかを決定します。」
Herrmannは、コンテナが組織にどのように適合するかを検討する際に、エンタープライズIT部門に3つのアドバイスを提供しました。
1.始めましょう
Herrmannによると、DevOps、アジャイル、コンテナー、マイクロサービスの組み合わせは、単独でのテクノロジーの変更ではありません。 「それは、あなたのビジネスの運営方法に非常に大きな変化をもたらす旅です」と彼は言いました。 「私の最初のアドバイスは、競合他社がいるから始めることです。アーリーアダプターがそれらをまとめるのは、追いつくことができないため、間違った戦略です。」
2.包括的なビジョン
Herrmannは、より全体的な観点からコンテナにアプローチすることを勧めました。 「あなたの最も重要な目標を選んでください」と彼は言いました。 「ソフトウェアをより迅速に提供する能力は素晴らしい出発点です。その1つの目標に基づいて、組織をプロセスに導入する方法を考え、既存の運用にリスクとチャーンなしでこの作業を構築します。」
3.生態系
Herrmann氏は、多くの企業がレガシーアーキテクチャ、プロセス、プラットフォームに制約されるようになっていると指摘しています。 「頼りにしたいプラットフォームを考えずにアーキテクチャを変えることはできない」と彼は言った。 「質問は、誰と仕事をするのか、誰と話すのか、ということです。テクノロジーの問題だけでなく、技術、プロセス、あらゆる面で変革を管理できる企業を探すことをお勧めします。クラウド、DevOps、コンテナ、およびマイクロサービスをすべて扱う場合、短期間で成功をもたらし、行き止まりからあなたを救うことができるエコシステムに頼りたいと思います。」