IT部門もアジャイル、DevOpsで行こう【第2回】
アプリケーションの開発と運用を加速するDockerとPaaS、両者の違いは?(1/3 ページ)
コンテナ技術の活用で注目を集めるDockerと、運用に必要な環境をサービスとして提供するPaaS。どちらもDevOpsの推進に適した仕組みだ。この2つはどう違い、どのように使い分けるべきなのだろうか。
前回の記事「求められるのは“スピード基準” IT部門が開発部隊になれない2つの壁」では、企業ITにおいても「アジャイルソフトウェア開発」や「DevOps」といった考え方が重要視されつつあり、それらを実現するための技術として「Docker」や「PaaS」(Platform as a Service)が脚光を浴びている背景について述べた。今回は、DockerやPaaSが実際にどのような仕組みで、どういったメリットをもたらすのか、両者の違いに着目しながら解説する。
Dockerとハイパーバイザー型仮想化との違い
Dockerは、コンテナ型仮想化実装およびデプロイ自動化のためのツールである。仮想化といえば、サーバそのものを仮想化してしまうハイパーバイザー型が知られているが、コンテナ型はそれとは異なる。OS内に隔離された空間を用意し、その空間内でプロセスを動かす手法をとっている。
加えてDockerが提供しているのは、アプリケーションやミドルウェアのデプロイメントのための仕組みだ。コンテナ型仮想化自体は新しいものではなく、Docker以前から幾つかの仕組みが存在している。しかし、この“コンテナ+デプロイ自動化”という2つをうまく組み合わせているところが、DockerをDockerたらしめる大きな要素となっている。
それでは、このDockerによってどういうメリットがもたらされるのか、詳しく見ていこう。
Dockerのメリット
Docker imageによるアプリケーションの迅速な展開
Dockerのメリットには、アプリケーションを迅速に展開できることや、隔離されたセキュアな環境が構築できる点が挙げられる。最もシンプルな例として、静的コンテンツをDockerにホストするケースを考えてみよう。HTMLやCSSといった静的コンテンツを公開するためには、「Apache HTTP Server」や「Nginx」といったWebサーバが必要だ。Dockerを使ってNginxを動かす場合、以下のようなコマンドを実行するとよい。
たったこれだけで、Nginxの実行が可能だ。試しにWebブラウザでポート8080番にアクセスすると、Nginxの初期ページが表示されるだろう。
今度はTCPポート8081番で起動してみよう。コマンドは以下の通りだ。
Webブラウザからアクセスすると、先ほどと同様にNginxが起動していることが分かる。
この時点では、2つのDockerコンテナが起動している状態だ。互いのコンテナはそれぞれ隔離された環境となっており、一方のコンテナの中身や状態を変更しても、もう一方のコンテナに影響することはない。こういった環境の隔離がDockerの特徴の1つだ。
しかし、Dockerを使う一番のメリットはそこではない。先ほどの例の場合、Nginxはいつどのようにしてセットアップされたのか、考えてみてほしい。
Dockerは、構築した環境を「Docker image」という形で保存することができる。この中には、OSやミドルウェア、アプリケーションまで、動作に必要なもの一式が全てアーカイブされている(正確には「差分」を保持しているのだが、詳細は割愛)。一度作成したイメージは、「Docker Registry」と呼ばれる場所にアップロードし、必要になった際にダウンロードして利用することが可能だ。
ユーザーが利用できるDocker Registryには、幾つかの選択肢がある。Dockerが提供するパブリックサービスである「Docker Hub」の他、「Amazon Web Services」(AWS)や「Google Compute Engine」(GCE)もレジストリサービスを持っている。それぞれ特徴があるため、要件に合ったレジストリを選択すればよい。先ほどの例の場合は、NginxがDocker Hubからインストール済みのイメージ(Docker image)をダウンロード(pull)して実行している。Docker imageの存在によって、アプリケーションの展開が非常に簡単かつ高速に行えることが分かるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
IT部門もアジャイル、DevOpsで行こう
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
AI時代の自律的なパートナー 「データエージェント」構築&活用ガイド -
製品資料
使用中のデータを保護して安全な共同開発へ、クラウド時代のデータセキュリティ -
製品資料
“AIによる高速な脆弱性検出”対策を行う、RHELの統合セキュリティ機能とは? -
製品資料
企業ITを支える定番Linuxの運用管理、手動の限界を乗り越える手法とは? -
製品資料
AIとクラウドネイティブの課題を解決する、シンプルで費用対効果に優れた方法
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
2
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
3
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
4
イーロン・マスク氏が生成AI「Grok」をオープン化する“語られない狙い”
-
5
LLMの「過学習」、正しく説明している文章はどれ?
-
6
GitHubが指摘 AIが書いた「おそらく動くコード」が招くシステム崩壊
-
7
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
8
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
9
ライオンが脱レガシーシステムのパートナーに「Google Cloud」を採用した理由
-
10
Azure Red Hat OpenShiftは脱VMware問題の救世主になるか? 技術資料で解説
ホワイトペーパーランキング PR
-
1
属人化や仕様バグはなぜ起きる? AI時代に必須のドキュメント文化の作り方
-
2
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
5分で分かる「AI駆動開発エージェント」 要件定義から設計・実装・テストまで
-
5
中小企業必見、Microsoft 365でゼロトラストセキュリティを実現する方法
-
6
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
7
コスト分析で見る「デバイス復旧」の代償 損失額から導きだされた投資戦略とは
-
8
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
9
“あのファイル転送”で暗躍するノーウェアランサム
-
10
オープンウェイトLLMの推論最適化事例:ローカル環境で応答速度を約15分の1へ
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー