主要なソフトウェアアーキテクチャ

DevOpsの基礎概念

Cem Sakarya

DevOps Risk Advisor

ソフトウェアアーキテクチャ

 

ソフトウェアアーキテクチャとは、ソフトウェアシステムの基本構造およびそれらを設計する学問を指します。各構造は、ソフトウェア要素、それらの関係、両者の特性から成ります。

建築図面

1 https://en.wikipedia.org/wiki/Software_architecture
DevOpsの基礎概念

アプリケーションプログラミングインターフェイス(API)

 

アプリケーションプログラミングインターフェイス

  • データはAPIを通って流れる
  • ソフトウェアとアーキテクチャに不可欠
DevOpsの基礎概念

多様なアーキテクチャ方式

考慮すべき要因

  • ソフトウェアの種類
  • マシン内かブラウザ内か
  • 複雑さ
  • 単純な部分は一つの単位として扱う
  • 複雑なら部品を分割する
DevOpsの基礎概念

マイクロサービス

大きな立方体と、小さな立方体の集まり(マイクロサービスの象徴)。

  • 複雑なソフトウェアで最重要のアーキテクチャ
  • 現代の組織で一般的
  • 大きな単一体ではなく、小さな独立ユニットを多数持つ
  • これらの小ユニットをマイクロサービスと呼ぶ
  • 相互にAPIで通信する
DevOpsの基礎概念

顧客がアプリで利用可能なホテルと車を問い合わせる。

DevOpsの基礎概念

  顧客のスマホ上のアプリが、利用可能な予約をバックエンドに問い合わせる。

DevOpsの基礎概念

  ホテルとレンタカーの各マイクロサービスが、顧客のスマホ上のアプリに情報を返す。

DevOpsの基礎概念

マイクロサービスのDevOps

ホテルのマイクロサービスがバージョン1から2に更新され、他のマイクロサービスは無変更のまま。

DevOpsの基礎概念

マイクロサービスにおけるDevOpsの利点

  • 大規模組織ではソフトウェアは常に変化する
  • 一度に1つずつ変更できる
  • マイクロサービスはより安全で信頼性が高い
  • 1つに不具合が出ても、他は正常に動作する
DevOpsの基礎概念

練習してみましょう!

DevOpsの基礎概念

Preparing Video For Download...