ITインフラ部門の皆様へ
プロダクトマネージャの徳岡です。IT部のインフラ(サーバ、ストレージ、ネットワーク、セキュリティ等)をご担当されている皆さんに、マルチクラウド時代のITインフラとしてコンテナをご紹介します。
マルチクラウドって?、クラウドNative?、コンテナって?・・・・・言葉は知っているけど、まだ馴染み深くない方を対象に分かりやすく(IT部の先輩と後輩の対話形式)お伝えしていきます。
もし記事が面白いな!って思われた方は、皆様の部門内や同僚の方にも共有頂けると幸いです。
コンテナのWhy:コンテナが流行ってきている背景とは?
コーン:後輩
|
・新卒採用でIT部に配属されて3年目。
・主にネットワークの運用担当。そそかしいけどインフラ全般に興味あり
・北海道出身で実家はトウモロコシ畑。通称:コーン
|

ティナ:先輩
|
・外資アプリ会社から転職してIT部に配属されて2年目
・主にインフラ設計を担当。前職でアプリ開発&インフラ設計SEの豊富な経験あり。
・歌手のティナ・ターナーをこよなく愛す。通称:ティナ
|

コーン
|
うーん、わからないなーー うーーーん |
|
|

ティナ |
どうしたの?コーンちゃん |

コーン
|
聞いてくださいよ。ティナ先輩 |
|
|

ティナ |
何々。なんでも聞くよ! |

コーン
|
あのですね。最近コンテナ、コンテナってよく聞くんですけど... なかなか理解できないですよね.. |
|
|

ティナ |
なるほど!!コーンくんも悩んでいるんだね。これはティナ先輩が説明してあげよっかな |

コーン
|
さすが先輩!是非お願いします。 |
|
|

ティナ |
よしよし |

コーン
|
早速ですが、コンテナってなんで流行っているんですか? |
|
|

ティナ
|
そうだね~
ビジネス面から、なんで流行っているかを整理していくと良いかもね。
|

コーン
|
ビジネス面からですか? |
|
|

ティナ
|
今はとても変化の激しい市場環境と言われているの。その中でも、企業が収益を上げるためには、お客様にサービスを提供するよね。
なので、市場の変化に対応したサービス開発をするために、サービス開発スピードがとても重要視されていて、ビジネス拡大のKEYになっているの
|

コーン
|
確かに! 企業間の競争がどんどん激しくなっているので、勝つためにはビジネスのスピードをあげろって社長が言ってたな。 |
|
|

ティナ
|
そう。ビジネススピードを上げるって事を一つの具体例で言うと、変化に合わせてスピーディにアプリケーションを開発する事が求められているのよ |

コーン
|
アプリケーション開発を早くするには、どうしたらよいの? |
|
|

ティナ
|
ビジネスのスピードを上げるためにアプリケーションの開発手法そのもの変わりつつあるんだね |

コーン
|
具体的にどのように変わったの? |
|
|

ティナ
|
一つのアプリケーションは複数の機能で構成されていると考えることができるの。
例えば、ショッピングサイトのWebアプリケーションを考えてみようか
|

コーン
|
ふむふむ |
|
|

ティナ
|
ショッピングサイトで考えて見ると、まずはアクセスしたユーザーが商品を検索、表示して、気に入ったものを数を指定して発注して、決済を行い、商品の発送処理までを行うのよ。 |

コーン
|
はい |
|
|

ティナ
|
このショッピングサイトは商品画像を提供するカタログ機能、注文機能、支払い機能、広告機能、および配送手配と言った様々な機能の集まりでアプリケーションが構成されているの。 |

コーン
|
一つのサービスでもいろんな機能が必要なんだね |
|
|

ティナ
|
今までの手法ではこれらの機能を一つのシステム上で構築していたんだ。
このようなシステムアーキテクチャを難しい言葉でモノリシックって言うんだけど。モノリシックなアーキテクチャでは、単一のシステムに複数の機能が乗る状態だから、どこかの機能を拡張や改修したい場合に、システム全体に影響が及ぶため、どうしてもスピーディな開発が出来なかったの。
|

コーン
|
なんだか。。。難しくなってきた。 |
|
|

ティナ
|
ざっくり今までの手法(モノリシック)は、開発スピードに限界があったと覚えておけば良いかも。
|

コーン
|
了解っす。わかりやすい!!っで、開発のスピードを上げるにはどうしたら良いの?
|
|
|

ティナ
|
モノリシックに代わって、アプリケーション開発のスピードを上げる手法が、マイクロサービスなのよ。 |

コーン
|
マイクロサービス? |
|
|

ティナ
|
マイクロサービスでは、各機能を細かい単位でモジュール化して個別に機能開発しようというアーキテクチャのことね。 |

コーン
|
っという事は? |
|
|

ティナ
|
先ほどのショッピングサイトの例えで言うと、商品画像を提供するカタログ機能、注文、支払い、および配送機能を独立したモジュールとして個別に開発するのよ |

コーン
|
ふむふむ |
|
|

ティナ
|
一つあたりの機能が小さく独立しているので、他機能への影響を受けないの。これによって他の機能やアプリケーション全体を意識することく、個々の機能単位で開発ができるので、迅速なサービス開発が可能になるの。
絵で説明するとこんな感じかな。
|
 |

コーン
|
なんとなく理解!!マイクロサービスは疎結合だから、個々に機能開発できるのでアプリケーション開発全体としてスピードが出るんだね。ところで他にはどんなメリットがあるの?
|
|
|

ティナ
|
更には、容易にスケールメリットをだせるので、
結果的に、変化の激しい市場に合わせてアプリケーションの開発やリリースもさることながら、お客様のニーズやキャンペーンに合わせてスケールIn&Outが簡単に出来るのよ。
|

コーン
|
ふむふむ |
|
|

ティナ
|
そうだね。変化の多いビジネス環境で市場競争力を高める為に、変化に素早く対応できるアプリケーション基盤が必要になるの。 |

コーン
|
マイクロ・・・・ |
|
|

ティナ
|
マイクロサービス。ビジネススピードを加速するために、マイクロサービスの必要性が高まっての。 |

コーン
|
ところで、コンテナの話は? |
|
|

ティナ
|
よく聞いてくれたね。
コンテナは、マイクロサービスアーキテクチャと相性抜群、相思相愛のインフラ技術なの。
具体的には、マイクロサービスアーキテクチャによるアプリ開発をコンテナ環境で実施すると、開発のスピードをより上げることができるようになるのよ。
アプリケーションの変化について表でまとめるこんな感じ。参考にしてみてね。
|
 |

コーン
|
頭がつかれてきた・・・・ |
|
|

ティナ
|
コンテナの話は、次回にしようね。
|
|
|
|
今回のまとめ。コンテナのWhy:コンテナが流行ってきている背景とは?
|
|
※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。