お問い合わせはこちら

Kubernetes の普及で何が変わる?スピード感が重要な開発の世界に CI/CD を取り入れる【開発者コラム】

公開
更新
Kubernetesについて

はじめに

この記事を読むとわかること

読者の皆さんは、「コンテナ仮想化」、「Docker」、「Kuberfnetes」や「Rancher」などのワードをどの程度理解されているでしょうか。日進月歩のこの分野では、「つい先日まで聞いたことがなかった」というワードがいきなりトレンドに挙がることも珍しくありません。

それらすべてを常に網羅することは決して簡単なことではありませんが、これらの技術が「何のために」、「何を期待されて」普及し始めたのかという根本を理解しておけば、それらが持つ機能・役割の取捨選択もやりやすくなるはずです。

この記事では、「Kubernetes」をメインとしたコンテナ仮想化環境についてカゴヤ内の活用例も交え、根本である「何ができて、どういった場面で必要とされるのか?」について学んでいきたいと思います。既に活用されている方でも活用例を知ることで、新しいアイディアに繋がれば幸いです。

今回の重要ワードをピックアップ!

■「Kubernetes」

よく目にするが、理解するのは難しい。しかし、このワード無しでは語れない。

… 技術情報誌、ベンチャー企業の立ち上げ裏話など、どこかしらでこの言葉を見た人は多いはずです。

「みんな知っている言葉だから、いまさら聞けない」と思っていませんか?大丈夫です。国内で Kubernetes について深い知識を持っている人はまだまだ珍しい状況です。言葉に委縮せず、「何ができるものなのか」を理解することから始めましょう。

■「 CI/CD 」

サイクルを廻すようなイメージ図ではわかりやすいが、構築するとなると急激に難しく感じてしまう。

… これも「Kubernetes」と同様に、「この環境を用意することで実際何ができて、得なのか?」という視点から見ていきましょう。専門用語だと難しく感じてしまいがちですが、「技術者がより便利な環境を使いたい」がために、それぞれのワード・アプローチが生まれています。まずはその目的を知ることが理解の助けになるでしょう。

以降では、上記のワードについての理解を掘り下げていきますが、あわせて「Docker」などのコンテナ仮想化に関する言葉も出てきます。今一度再確認しておきたい場合、サーバー研究室内の以下の記事も参考にしてみてください。

■その他、「Docker」や「コンテナ仮想化」関連記事のご紹介

【入門】コンテナ技術とは?基本をわかりやすく解説します

【入門】コンテナ技術とは?基本をわかりやすく解説します

日常生活でコンテナは知っていても、IT業界のそれとどう関連するのかわからない方に向けに、この記事であらためて解説しています。もともとコンテナが使われてきたのは貿易業界で、そこでの意味もご紹介しています。これで、なぜコンテナが「技術」として大切かご理解いただけると考えています。キーワードは「整理整頓」と「効率化」です。 貿易業界の「コンテナ」とは? まずは貿易業界で使われている「コンテナ」についてご…

VPS + Docker で トレンド技術を使いこなす【 第1回: コマンド1行でアプリが動く Docker 】

VPS + Docker で トレンド技術を使いこなす【 第1回: コマンド1行でアプリが動く Docker 】

「クラウド」という言葉が世間一般に広く浸透した今の時代、様々なサービスが毎日のようにリリースされ、ユーザーである私達の生活はどんどん便利に、快適になっています。それらのサービスは「クラウド」という言葉が指す通り、雲の向こうでどのように動いているのかを詳しく知らなくとも手元のデバイスから直感的に利用することができ、ユーザーとしては嬉しい限りです。その反面、実際に「サービスがどのように動いているのか」…

※全4回
※サーバー研究室内のタグ「コンテナ」でソートすると関連記事を一覧表示することもできます。

「Kubernetes(K8S)」?「CI/CD?」 … ワードよりも「意味・用途」が大切

※ 本記事を読み進める際に、「コンテナ仮想化」というものを再確認しましょう。(より詳しい内容は前述の、サーバー研究室内別記事でも説明されています。ここでは「どういうものか」を振り返る程度の記載にとどめていますので、言葉でつまずく部分があれば再入門記事も活用してください。)

■まずコンテナ仮想化により受けられる恩恵を考える

Docker などのコンテナ仮想化の技術を使うことでうれしいことは多くありますが、ポイントとして以下を挙げます。

  • 環境の再現性

「どの環境でも同じように動く」ということは非常に重要です。開発環境と公開環境で振る舞いが違えば、公開環境用のカスタマイズなど余計にコストがかかるでしょう。

  • 持ち運びの柔軟さ(環境のコード管理)

上記の「環境の再現が可能な環境」を、(同一のルールで)記述したファイルで管理することが可能なので、多くの技術者が親しい GitHub などによって環境を管理できます。これは、以下活用事例として挙げるカゴヤ内のシステムでも有効に機能しています。

前置きはここまでにして置き、「重要ワード」の理解を進めていきましょう。

Kubernetes …どんな課題に対応できる?

■ Kubernetes (k8s)

今回の、開発環境の最前線を語るうえでメインとなるワードです。

前項目での振り返りとして、コンテナ仮想化による恩恵について簡単に確認しました。ここで挙げた「再現性」や「柔軟さ」は、触ったことがある人も多いかもしれませんが、確かに感動する便利さです。ただし、複数のコンテナが複雑に機能している状態ではどうでしょうか?コンテナは簡単にいくらでも使いたい環境を用意できる反面、より高度なシステムを再現する場合は、コンテナ同士を組み合わせることが一般的です。(1コンテナ1アプリケーション)

ここで登場するのが Kubernetes です。Kubernetes は コンテナ仮想環境全体を統括して管理し・各コンテナの状態を監視します。特定のコンテナ同士を組み合わせてサービスを提供している場合は、サービスが停止しないように、不足しているコンテナの機能を補完するように振舞います。

このように、煩雑になりやすいコンテナ環境を統括して管理できるものを、「コンテナオーケストレーション」といいます。コンテナオーケストレーションの機能を持つものは Kubernetes だけではありませんが、すでにデファクトスタンダードとして地位を確立しています。

またポイントとして、OSの上でソフトウェアとして動くものなので、要件さえ満たせば管理する対象を選びません。リスク分散で複数のクラウドサービスを使うことも多くなってきていますが、それぞれのHW(及びその中に存在するコンテナ)がどこにあるかなどをあまり気にしなくてよくなり、開発者は Kubernetes というプラットフォームの上でサービスの開発から公開を行えるようになります。

CI/CD …どんな課題に対応できる?

■ CI/CD

コンテナによる開発サイクルの自動化を指すワードですが、これは具体例を見た方が理解しやすいでしょう。(「カゴヤ内での活用例を少しだけご紹介します」の項目で紹介しています。)継続的インテグレーション・デリバリー の言葉の意味通り、テストや運用を継続的に一連のサイクルで完結・自動化します。

少しかみ砕き、ポイントに分けて挙げてみます。

  • 生産性/開発スピードの 向上を実現する

プロジェクトの規模が大きく、また長期化するほど、従来の体制では開発担当と運用担当の連携がかみ合わないシーンが出てきます。こういった状態の場合、多くの問題発生が起こりえるでしょう。サービスや新バージョンのリリースまでの手続き(組織内の調整)が煩雑であったり、情報共有が十分でないことは誰もが避けたいと考えています。CI/CD では「継続性」を重視します。体制をシンプルにマニュアル化し、連携の不備などを最小限に抑え、スムーズに進めることを目指します。コンテナ仮想化・Kubernetes が登場したのは比較的最近ですが、上記のような連携ミスの解消や、体制をシンプルにすること自体は常に開発者及び運用者が目指してきたものだと考えます。コンテナの持つ 再現性や柔軟性 、Kubernetes の統括的なコンテナ管理などは、これらの理想を実現するための有効な手段です。

  • 開発運用体制の質・信頼性向上を実現する

シンプルで継続可能な体制が実現すれば、リリースまでのプロセスをスピーディーに進められるようになり、強い競争力を維持できます。移り変わりの激しいユーザーのニーズ変化にも、即座に対応できるようになります。また、自動化の過程をあらかじめ定義しておけば、担当者のミスなどの機会が減り、結果的に「早さ」と「信頼性」を両立できると言えるでしょう。

※ CI/CD 環境を用意したいとき、選択肢の一つとして Kubernetes が挙げられます。対して上記の通り、技術者は、開発・運用サイクルの自動化を実現するため、あらゆるソフトウェアの活用・体制の仕組みを試行錯誤してきました。それらの中には本記事の Kubernetes によるアプローチとは異なるものも多く、今なお最先端の現場で使われている仕組みも少なくありません。これらは組織のポリシーや規模、環境を変えるリスクなども絡むため、CI/CD 環境の形は各組織によって異なる場合があります。

(補足)クラウド型のサービスは数あれど…「目で見えるものは理解しやすい」

Kubernetes を一から構築することは難しい

Kubernetes は便利ということが分かったけれど、導入にハードルがある

→ Kubernetes 自体はOSSですが、それ自体の構築は非常に難易度が高いため、学習コストに加え予期しない脆弱性を突かれることも考えられます。一般的にはそのようなハードルをクリアするため、導入企業の多くはクラウドサービスで提供されている Kubernetes 環境を利用しています。

※ポイント :重要なのは「何ができるか」、「どんな課題を解決できるか」

Kubernetes が必ずしも最適解というわけではありません。逆にトレンドに従って単純に移行してしまうと、「こんなはずじゃなかった」ということもあり得ます。また専門家を招いたり、担当者を育てるためのコスト・リソースを割くことで全体の効用がマイナスになってしまうこともあるかもしれません。

移行の意味が大きい場合でも、ベンダーによっては扱いが難しいものや、日本語のマニュアルが存在しないものも多い状況です。

clooud tap 「コンテナサービス」の場合

cloud tap が提供する「コンテナサービス」では、構築済みの Kubernetes 環境にプラスして、Rancher という管理ソフトも組み込まれており、GUIでの管理も可能です。「目で見える状態」であることは、思った以上に重要です。(無料利用できる期間でお試しも可能です)

cloud tap|クリックひとつで、Kubernetesのすべてを制御。国産クラウドプラットフォーム

cloud tap は、構築済み Kubernetes 環境を提供する国産マネージドサービスです。

カゴヤ内での活用例を少しだけご紹介します

カゴヤでは、今まで説明してきた Kubernetes の環境を内部でも利用しています。その一例として、ユーザーの皆様へのサポートを充実させる、チャットボット基盤での活用を公開しています。

※該当記事 :GUIでラクラク管理!試せばわかるコンテナサービスの魅力(Software Design 2021年10月号掲載)

GUIでラクラク管理!試せばわかるコンテナサービスの魅力(Software Design 2021年10月号掲載)

GUIでラクラク管理!試せばわかるコンテナサービスの魅力(Software Design 2021年10月号掲載)

この記事は Software Design 2021年10月号 に掲載された取材記事です。 手厚いサポートと幅広いサービス展開で業界をリードする老舗レンタルサーバー企業のカゴヤ・ジャパンでは、サービスブランド"cloud tap"にて海外におけるトレンドの主流であるコンテナサービスを提供している。しかし、日本ではまだまだコンテナサービスの普及が進んでいない現状がある。そこで今回は、コンテナサービス…

活用の実績があることで、安心してご利用いただけるものと考えていますので、詳しい内容は是非リンクの記事をご参照ください。

以下、本記事内でも簡単に記事の概要をご説明します。

chatbot図解

解決したかった課題と解決へのアプローチ

■課題

カゴヤは国内のクラウド企業というメリットをよりユーザーの皆様に享受してもらうため、サポートに力を入れています。実際アンケートなどでも「サポートが良い」といった声をお聞きすることも多く、うれしい限りです。

そのサポートにおいて、テレワークなど新規システムの導入が各社で増え始め、お客様への迅速な対応が継続できないケースが出てくるようになりました。サポートのカゴヤとして、さらに充実したサービスを提供できるように現在チャットボットを導入しています。
サポートのお問い合わせ内容は、企業や担当者などによって千差万別で、日々サービスの刷新も行っているためできるだけリアルタイムに即した応答内容の実装が必要となるわけです。

■アプローチ

この「リアルタイムに即した」という要件を満たすためのシステムとして、 Kubernetes の環境を活用しています。コンテナ環境では前述のような、スピード感のある機能実装が可能となるので、まさにぴったりのケースといえるでしょう。

ベストプラクティスの「一例」であり、「絶対」ではない…技術は優劣ではなく、適材適所

「コンテナサービス」を提供する事業者として、上記のように必要な部分には積極的にコンテナ環境を導入していますが、これは コンテナ環境 で運用することが最適と判断したためで、採用する技術は都度使い分けている状況です。こういった適材適所のような使い方は、実際にそれぞれのサービスを運用している企業だからこそ挑戦できるもので、それらの成功体験をもとにして、ユーザーの方には安心して利用していただきたい思いがあります。

従来のレンタルサーバーやベアメタルサーバーにももちろんメリットがあり、この適材適所を打ち出すことがユーザーの皆様に向けたソリューションになりえると思います。

そして、幅広くサービスを提供しているカゴヤだからこそ、具体的なソリューションを提示できると考えています。興味がわいてきましたら、是非サービスサイトへお越しください!

「コンテナ」に力を入れるカゴヤとして、今後も様々な情報を発信していきます

「情報がない」ことや「情報があっても日本語化されていない」ことは、日本の市場において大きな損失につながる可能性もあります。「良い」と思ったものを「どんなものか理解できる」情報や、「実際に適した運用」などを定期的に発信することが、このサーバー研究室の一つの側面でもあります。

情報を多くの人と分かち合い、日本の企業として市場に貢献するべく、これからも各分野の情報を充実させていきます。

【カゴヤサービスを活用するお客様事例】のご紹介

また、ここでご紹介する記事のように、ユーザーの方と共同で情報を発信することも重視しています。

お客様の成功体験は、カゴヤの成功体験と同義ですので、サービスを提供して終わりではなく、提供開始からより関係が強まっていくことが皆様の満足度にも繋がると信じています。

※「コンテナサービス」導入の企業様事例を 記事として公開しています

コンテナ技術を活⽤したポータブルなフォトプリントサー ビスの実証事例

コンテナ技術を活⽤したポータブルなフォトプリントサー ビスの実証事例

はじめまして。株式会社スーパーソフトウエア ナタデココチームの⼭澤です。普段はプロダクトマネージャーとして⾃社サービスの運営に関わる全般的な業務にはじまり、サービス設計および提供基盤の整備、サーバサイドプログラムの開発を担当しています。今回、⾃社サービスのインフラ構築にカゴヤ・ジャパン様のサービスを活⽤させていただいているご縁があり、寄稿させていただきました。 スーパーソフトウエアは今年、複合商業…

(補足) カゴヤの期待・取り組み

カゴヤで事例を発信しませんか?

カゴヤは国内クラウド企業の中でもいち早くコンテナサービスをリリースしました。導入に興味がある方、試してみたい方はお問い合わせを是非お待ちしております。

また、ご希望があれば企業名を含め事例紹介として発信させていただきます。最先端の技術を導入していることをカゴヤと一緒に発信して、ユーザーへのPRにしましょう!

まとめ … 新しい世界へ一歩踏み出そう

この記事をまとめると…

「トレンドだから」、「みんな使っているから」という理由が最も当てはまらない分野の一つが ITやクラウド業界 だと考えています。お客様は千差万別、ビジネス内容も違えば、規模も違い、それぞれにベストな環境があるはずです。

それを実現する技術の一例として、今回は Kubernetes 周りの情報を発信しましたが、「違う分野の話も読んでみたい」、「もっと深く進めて Kubernetes を使いこなしたい」といった感想を持っていただけているとうれしい限りです。

別分野の記事はもちろん、この記事の深堀を、引き続き同ライターが発信していきます。

今後の予定 …

さらに技術的な部分に踏み込み、コンテナの世界を体験していきます。

今後の学習イメージを少しだけ公開して今回の記事は終了となります。今後は実際にカゴヤのエンジニアがどのように Kubernetes を操作しているのか、コマンドを記載しながら進行していく予定です。ご自身の環境でも一緒に操作を試しながら進めると、より理解につながりやすいと思います。

カゴヤには、サービスの数だけその分野のスペシャリストがいますので、今後もご期待ください。

30日間無料で試せる

cloud tap

コンテナ管理をこれから始めたいお客様に最適な、RancherでKubernetesを簡単に管理できるコンテナサービスと、サーバースペック 95パターン+ディスク容量 10パターンから選択できるクラウドサーバーを提供する国産クラウドプラットフォームです。