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

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

関連記事

Windows10でアイコンの間隔が広くなる不具合の対処

  <目次> (1) Windows10でアイコンの間隔が広くなる不具合の対処  (1-1) 発生状況・エラーメッセージ等  (1-2) 原因・対処 (1) Windows10でアイコンの間 …

Anaplanのトレーニングの受講方法について

  <目次> (1) Anaplanのトレーニングの受講方法について  (1-1) 受講方法の概要  (1-2) Anaplan Communityの登録手順  (1-3) Anaplanの …

Azure DevOpsのReposをデスクトップアプリで操作する方法についてご紹介

  <目次> (1) Azure DevOpsのReposをデスクトップアプリで操作する方法についてご紹介  (1-1) 「GitHub Desktop」の導入手順  (1-2) 「GitH …

システムの品質評価を実施する際の観点について

  <目次> (1) システムの品質評価を実施する際の観点について  (1-1) 品質評価の流れ  (1-2) 定量評価  (1-3) 定性評価 (1) システムの品質評価を実施する際の観点 …

システム開発における設計品質の分析の進め方(一例)について

  <目次> (1) システム開発における設計品質の分析の進め方(一例)について  (1-1) まえがき  (1-2) 前提事項  (1-3) 進め方  (1-4) 参考:分析の手法について …

  • English (United States)
  • 日本語
Top