K's Atelier

個人的な学習記録

Cloud-Native Engineer養成講座案

最近,「クラウド系技術のイントロ講座があるといいのかな」と思うようになった。 世の中にある講座が,みんな「AWSでやるとこうなる」というところからスタートしていて,オンプレ時代からの連続性はまだ充実していない気がする。 ということで学習トピックの構造化からスタート。

クラウドとオンプレミス

クラウドのメリット

クラウドの使いどころ

  • スモールスタート
  • 変化が予測できない分野

IaaS,PaaS,SaaS

マイクロサービスとモノリス

マイクロサービスの特徴

  • インタフェース
  • サービス単位のデプロイ

マイクロサービスのメリット

  • 技術選択の柔軟性
  • 変更容易性
  • スケーラビリティ

マイクロサービスのデメリット

  • 適切なサービス分割は簡単ではない
  • サービス横断的機能の実現 -- セキュリティ
  • パフォーマンス

仮想化技術

仮想化の対象

サーバ

  • ホストOS
  • ハイパーバイザ
  • コンテナ
  • サーバレス

ネットワーク

  • VLAN
  • オーバーレイネットワーク
  • ストレージ -- SANとNAS

仮想化のメリット

  • 変更容易性
  • スケーラビリティ
  • コスト効率
  • 可用性
  • 物理障害と論理障害の分離

サーバレス

サーバレスのメリット

  • コスト効率::利用しただけ課金(待機には無課金)
  • サーバ管理不要
  • 開発リソース削減
  • スケールアウトしやすい::基本的にステートレスで作成する

サーバレスのデメリット

  • 標準化されていない
  • ローカルテストしにくい

Cloud-Nativeな設計

機能

ドメイン駆動設計

インタフェース

WebAPI

セキュリティ

認証と認可

データベース

ネットワーク

  • ロードバランサ
  • プロキシ
  • ファイヤウォール
  • DNS

コンテナ

開発支援

  • DevOps
  • CI/CD

監視・運用

移行