Managing Containers with RHEL Atomic Host Training Guide やがてDockerはアプリケーション開発とインフラ管理の垣根を取り払う!

開発作業の効率化とアプリケーションの
品質向上を実現するDocker

これまでアプリケーション開発とインフラ管理の仕事には、伝統的な役割分担がありました。アプリケーション開発者が開発作業を行う際には、インフラ管理者に依頼をして、OSからアプリケーションの実行環境までを含む開発環境やテスト環境を用意してもらうというのが常識でした。

そこにPaaS(Platform as a Service)と呼ばれるクラウドサービスが登場し、一連の開発環境をアプリケーション開発者に自動提供できるようになったことで、開発者の人たちはインフラ管理者に環境構築を依頼する手間が不要になり、開発作業に集中できるようになると期待されました。しかし現実的には、PaaSが提供する実行環境には、開発者が使いたいフレームワークが無い、あるいは必要なライブラリーが不足しているなどの問題があり、“お仕着せ”の実行環境では開発者に不便が生じるという状況が浮き彫りになってきたのです。

そして次に現れたのが、オープンソースのPaaSエンジンである「Docker」です。アプリケーション開発者はDockerを利用することで、自分たちの書いたアプリケーションプログラムとその実行環境をまとめて“Dockerイメージ”として管理し、それをそのままデプロイすることまで、できるようになりました。これにより今まで実現困難と言われていた “Immutable Infrastructure” までもが可能となります。

さらにDockerを上手に活用すれば、例えば企業は数百人規模の開発者に対して同一の開発環境を簡単に提供できるようになり、またその環境に修正や変更が発生した場合でも、元のDockerイメージに手を加えて再配布するだけで済むようになります。そのイメージはテスト環境や本番環境でもそのまま利用できるので、今システムの世界で叫ばれている “DevOps” の実現にも繋がります。こうしてDockerをフル活用することが、アプリケーション開発の効率化とアプリケーションそのものの品質向上に繋がり、ひいては企業競争力の強化にも繋がることになります。

Dockerを活用したアプリケーション開発の世界

しかし全社システムの観点から見た時、現在の状況は企業にとって、必ずしも好ましいとは言えません。それというのも、ガバナンスが効いていない状態で、個々の開発者が自分に使いやすい環境を勝手に作っていけば、システム全体での環境統一を図ることが難しくなるからです。また開発者の人たちにとって、Dockerは開発作業を効率化してくれる“便利なツール”に過ぎず、その裏側の技術までを理解しているわけではありません。そのため今の使い方では、作ったアプリケーションが正しく動かない、もしくは将来のアプリケーション開発に大きな制約をもたらすなどの恐れもあるのです。

アプリケーション開発でのDocker利用を支えるのは、
他ならぬインフラ管理者

今後Dockerを正しく使いこなし、企業としてその効果を獲得していくためにインフラ管理者に求められるのは、アプリケーション開発者が取り組むDockerベースの開発スタイルや開発プロセスがどのようなものなのかという“Dockerの世界観”を理解した上で、Docker技術を習得し、全社レベルでガバナンスの効いたアプリケーション開発環境を提供することです。

今後アプリケーション開発者の間で、便利なDockerの利活用が広がっていくことは間違いありません。その際に、Dockerの利用を高品質なアプリケーション開発に結び付け、さらに企業競争力の強化へと繋げていくためには、インフラ管理者がDocker技術を深く理解し、ガバナンスを効かせて、適切な開発環境を提供していくという取り組みが必要不可欠になるのです。

また現在、アプリケーション開発の領域では “マイクロサービス” という考え方が登場し、今後はDockerが利用するコンテナ技術を使って、様々な機能を持った複数のコンテナを組み合わせることで、1つのアプリケーションを作成するという世界が待ち受けています。そこではアプリケーション開発とインフラ管理の境界線は、現在とは大きく変わっていくでしょう。言い換えれば、アプリケーション開発とインフラ管理のコラボレーションが、とても重要になるということです。

こうした状況は、インフラ管理者にとって非常に大きなチャンスだと捉えることができます。コンテナ技術の知識を持っているインフラ管理者が、コンテナベースの新たなアプリケーションアーキテクチャーを学んでいくことで、自分のスキルをアプリケーション開発領域にまで広げていくことが可能となるのです。それは今後の企業システムに求められているスキルだとも言えるでしょう。

まずはコンテナ技術とコンテナ
オーケストレーションの知識を習得する

レッドハットでは、ディスクのI/Oなどのチューニングが施されたDocker専用のLinuxディストリビューション「Red Hat Enterprise Linux Atomic Host」を使用して、コンテナ技術から複数のDockerサーバーをオーケストレーションするノウハウまでを習得する研修コース「Managing Containers with RHEL Atomic Host」をご用意しています。

KubernetesによるRHEL Atomic Hostのオーケストレーション

実機演習を通じて、コア技術としてのDocker、またコンテナ技術を使って実際のDockerイメージがどのように作られているのか、さらにはオーケストレーションツールである「Kubernetes」を利用して複数のコンテナをオーケストレーションする方法、本番環境への展開の方法、運用フェーズでのトラブルシューティングなどを学びます。

このコースで習得した知識は、コンテナ技術をベースとした新たなPaaSを実現する「OpenShift v3」の世界の実現にも必ず貢献できるものです。コンテナを含むDockerやコンテナオーケストレーションのノウハウを身に付けたインフラ管理者の価値は、今後さらに高まっていくと言えるでしょう。

Keywords

Immutable Infrastructure
アプリケーションの設定変更やバージョンアップなどを行う際、稼働中の本番環境に手を加えるのではなく、大元のコードを変更して再テストした後、本番環境を新規構築してそっくりそのまま置き換えるという運用手法のこと。これによって運用中に環境変更を行うリスクを回避し、常にテスト済みの環境を本番環境に提供することが可能となる。ImmutableInfrastructreは、Dockerイメージによる自動デプロイによって実現することができる。
DevOps
アプリケーション開発者(Development)と運用管理者(Operation)とが連携を取りながらアプリケーションの開発を行うというソフトウェア開発手法。アジャイル開発とアプリケーションの自動配備、運用環境との連携などを実現するもので、開発者と運用者が協力して継続的なインテグレーションを短期間のうちに何度も繰り返しながら開発を行うことで、ビジネス側のニーズをより反映したアプリケーションの開発が可能となる。
マイクロサービス
1つのアプリケーションを、特定の開発フレームワークに従って構築するのではなく、軽量な複数のサービス(=マイクロサービス)を連携させて構築しようとする考え方。異なるプロセスで動作する複数のマイクロサービスを組み合わせることで、アプリケーションのコンポーネント化を実現する。

Dockerのコア技術からコンテナのオーケストレーション、
トラブルシューティングまでのスキルを習得できるプログラムをご用意しています。

Managing Containers with RHEL Atomic Host
コースコード RH270
コース概要 Managing Containers with Red Hat Enterprise Linux Atomic Host(RH270)は、Red Hat Enterprise Linux Atomic Hostを使用してコンテナ化されたアプリケーションを管理する経験豊富なLinux管理者、アーキテクト、開発者向けに設計されています。このコースでは、サーバー上のRed Hat Enterprise Linux Atomic Hostのインストールおよび更新方法を学習します。コンテナイメージは、ダウンロード、デプロイ、カスタマイズ、および新しいイメージとして保存することができます。Dockerfileで作成したコンテナイメージを公開するために使用できるプライベートイメージレジストリの作成方法などを学習します。また、複数のRed Hat Enterprise Linux Atomic Host間で多層アプリケーションをデプロイするためにKubernetesを使用します。Red Hat Enterprise Linux Atomic Hostで利用できるトラブルシューティングツールを使って、システムの情報を収集し、問題を診断する方法も学習します。
コース内容
  • • Course Introduction
  • • Installing Red Hat Enterprise Linux Atomic
  • • Updating Red Hat Enterprise Linux Atomic
  • • Managing Containers
  • • Publishing Custom Container Images in a Private Image Registry
  • • Deploying Multitiered Applications with Containers
  • • Orchestrating Multitiered Applications with Kubernetes
  • • Replicating Multitiered Applications
  • • Troubleshooting Red Hat Enterprise Linux Atomic
受講対象者
  • ・プライベートクラウドの管理に責任を持つLinuxシステム管理者およびクラウド管理者
  • • Red Hat Enterprise Linux Atomic Hostを使用してコンテナアプリケーションを管理する、Linux管理者、アーキテクト及び開発者
  • • RHCSA認定または同等レベルの知識をお持ちであることを強く推奨致します。
  • ※適切なスキルセットの知識を持っているかどうかがわからない場合は、こちらのオンラインスキルチェックで確認してください。
日数/時間 3日間9:30-17:30
標準価格 162,000円(税別)

コーススケジュール/開催場所

日程 実施日程は下記をご確認ください。
http://jp-redhat.com/training/pdf/Schedule_RedHatTraining.pdf
開催会場 【品川御殿山会場】
日本サード・パーティ株式会社 クラウドコンピューティング教育センタ内
〒140-0001 東京都品川区北品川 4-7-35 御殿山トラストタワー
※最寄り駅 JR品川駅高輪口よりシャトルバス5分
詳細はこちら ≫
お申し込み方法
お問い合わせ レッドハット株式会社 研修サービス部 03-6408-1699
もしくは training-jp-admin@redhat.com までお願い致します。