Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

IT技術 (Technology)

クラウドネイティブとは?(コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ等)

投稿日:2021年6月22日 更新日:

<目次>

(1) クラウドネイティブとは?(コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ等)
 (1-1) コンテナ
 (1-2) サービスメッシュ
 (1-3) マイクロサービス
 (1-4) イミュータブルインフラストラクチャ

(1) クラウドネイティブとは?(コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ等)

クラウド技術を用いて、より「短時間」で、より「スケーラビリティ」があり「疎結合」で「可観測性の高い」システム構築をするための手法を「クラウドネイティブ」と呼びます。いうなれば「変化に強い」システムを通るためのアプローチとも言えます。

(1-1) コンテナ

「コンテナ」はアプリケーションが載る基盤に関わらず、「環境間の移行を素早く」かつ「安定的に稼働」させるためのソリューションです。VMと似ているように思えますが、大きな違いとしてVMはハードウェアレベルで仮想化しているのに対して、コンテナはOSレベルでの仮想化をしています。OS上で複数のコンテナが稼働するため、OS全体の起動と比較して速く、かつメモリの消費も少ないという利点があります。

目次にもどる

(1-2) サービスメッシュ

「サービスメッシュ」はマイクロサービスにおける各サービス同士の通信を円滑にしつつ、信頼性やセキュリティや可観測性を向上させる目的で使われる「ソフトウェアアーキテクチャのパターンです。各マイクロサービスに対して「サイドカーProxy」を持ち、サービス同士の通信はこのサイドカーProxyを通じて行う事で、高負荷のネットワーク間のサービス間の通信を処理する事が可能です。「サービスメッシュ」の機能を提供する代表的な製品では「Istio」などがあります。

目次にもどる

(1-3) マイクロサービス

「マイクロサービス」はシステムのアーキテクチャの一種で、アプリケーションを構成する際に、以下のような条件を満たすサービスの集合体として形成する事です。

・可用性が高くテストが用意
・各サービス同士が疎結合である
・各サービスは独立してデプロイが可能
・少ない人員でもメンテが可能である(小規模である)
 
このような概念の誕生の背景としては、近年は「アジャイル」(小単位で実装・テストを繰り返す手法)や「DevOps」(開発者と運用者が連携する開発手法)がより盛んになっている状況とも密接に関連しています。
 

(1-4) イミュータブルインフラストラクチャ

「イミュータブルインフラストラクチャ」はシステムインフラの新しい枠組みで、文字通り一度構築したら「immutable」(不変)なシステムを指します(正確には都度、新しいものに置き換わる)。

逆に、今までのシステム開発では「mutable」(可変)なサーバ構成という事になります。サーバのOSやパッケージはSSHやリモートデスクトップでサーバにログインして、パッチ適用等で定期的にアップデートされ、中のconfigファイルやアプリケーションは随時改修が入り、新しいものに置き換わっていきます。そうした点から「可変」なサーバ構成と呼んでいます。

なので「イミュータブルインフラストラクチャ」では、一度デプロイしたら変更が入る事はなく、もし更新が必要な場合は、共通のテンプレートから必要な設定を加えた新しいものを作り、全体を置き換えます(リプレース)。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-IT技術 (Technology)

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

コンテナとは?VMとの違いを交えてご紹介

  <目次> (1) コンテナとは?VMとの違いを交えてご紹介  (1-1) コンテナとは?   (1-1-1) コンテナの仕組み概要   (1-1-2) コンテナの利点は?   (1-1- …

no image

Gremlinとは?セットアップとHello Worldまで

<目次> (1) Gremlinとは?セットアップとHello Worldまで  概要  (1-0) STEP0:前提条件  (1-1) STEP1:Gremlin Consoleのセットアップ  ( …

SlackのAPIでメッセージを投稿する方法(Pythonのサンプルコード付き)

  <目次> (1) SlackのAPIでメッセージを投稿する方法(Pythonのサンプルコード付き)  (1-1) STEP1:Slackでボット用のアプリを作成  (1-2) STEP2 …

OutlookでSkypeボタンが押せない時の復旧方法について

  <目次> (1) OutlookでSkypeボタンが押せない時の復旧方法について  (1-1) 事象概要  (1-2) 原因 (1) OutlookでSkypeボタンが押せない時の復旧方 …

Webスクレイピングとは?実施する際の注意事項について

  <目次> (1) Webスクレイピングとは?実施する際の注意事項について  (1-1) やりたいこと  (1-2) 概要  (1-3) スクレイピングをする上での注意事項  (1-4) …

  • English (United States)
  • 日本語
Top