Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenTechLunch#5-元ウェブ系エンジニアが語るIaaS(VM屋さん)の開発ってなに...

Avatar for say3no say3no
January 24, 2023

 OpenTechLunch#5-元ウェブ系エンジニアが語るIaaS(VM屋さん)の開発ってなにしてんの?/opentechlunch5_whats_doing_iaas

クラウドプラットフォームではブラウザからポチポチしたらVMが出来上がるけれど、その開発ってなにしてんの? 元ウェブエンジニア(自称)で現仮想サーバー開発のソフトウェアアーキテクトが、NTT Com エンタープライズ向けのクラウド(SDPFクラウド)の仮想サーバー開発の全体像や課題、目指す姿などを話し、どんな開発をしているのか分かった気になれる話をします。

https://nttcom.connpass.com/event/272004/

Avatar for say3no

say3no

January 24, 2023

Other Decks in Technology

Transcript

  1. © NTT Communications Corporation All Rights Reserved. 2 ⾃⼰紹介 経

    歴 興味のある分野 好きな⾔葉 2018年 NTTコミュニケーションズ株式会社 ⼊社 仮想化と分散ストレージ ⼤規模な計算機を管理する上で重要な、仮想化と分散ストレージについて ⼀緒にはたらく仲間を探しています 千⾥の⾺は常に有れども、伯楽は常には有らず 2021年 スペシャリスト社員に転向 おしごと 企業向けクラウドサービス SDPFの仮想サーバーチームで IaaS(VM屋さん)として働いています NTT Com ソフトウェアアーキテクト 佐野 成 2017年 ウェブフリーランス/⼤学院⽣で⼆⾜の草鞋
  2. © NTT Communications Corporation All Rights Reserved. 6 Smart Data

    Platform (SDPF) クラウド c SDPFクラウド利⽤例 Firewall (VM) Load Balancer (VM) Application Server (VM) Database Server (Baremetal) Colocation Group A Group B Logical Network Internet FIC / VPN
  3. © NTT Communications Corporation All Rights Reserved. 7 SDPFクラウドを支える技術 c

    z z NW装置 NW基盤 サーバー基盤 SDN設定機能 SDN監視機能 共通系機能 認証機能 課金機能 DNS / NTPなど z ユーザーリソース Internet IP-VPN Colocation Storage Baremetal VM Hypervisor Virtual Server / NFV
  4. © NTT Communications Corporation All Rights Reserved. 9 今日話すのはこの部分(NFV除く) c

    z z NW装置 NW基盤 サーバー基盤 SDN設定機能 SDN監視機能 共通系機能 認証機能 課金機能 DNS / NTPなど z ユーザーリソース Internet IP-VPN Colocation Storage Baremetal VM Hypervisor Virtual Server / NFV ここやで
  5. © NTT Communications Corporation All Rights Reserved. 13 Applications Data

    Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking サービス提供者の責任分界(よく⾒るやつ) IaaS PaaS SaaS
  6. © NTT Communications Corporation All Rights Reserved. 14 Applications Data

    Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking VM屋さんの責任範囲 IaaS PaaS SaaS 責任
  7. © NTT Communications Corporation All Rights Reserved. 15 Applications Data

    Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Applications Data Runtime Middleware OS Virtualization Servers Storage Networking 「ラーメンを作る」で⼩⻨の種まきから始めるのは稀 IaaS PaaS SaaS 責任 依存 依存
  8. © NTT Communications Corporation All Rights Reserved. 16 Server Storage

    Networking VM屋さんってどんな商売︖ Server Server 1. 巨⼤な計算機リソースの⼭を作る • 便利でスケールする(※) Network を⽤意します • Servers(CPU/Memory)の⼭を⽤意します • 巨⼤な Shared Storage を⽤意します
  9. © NTT Communications Corporation All Rights Reserved. 17 Applications Data

    Runtime Middleware OS Virtualization Server Storage Networking VM屋さんってどんな商売︖ Applications Data Runtime Middleware OS Virtualization Server Applications Data Runtime Middleware OS Virtualization Server 1. 巨⼤な計算機リソースの⼭を作る • 便利でスケールする(※) Network を⽤意します • Servers(CPU/Memory)の⼭を⽤意します • 巨⼤な Shared Storage を⽤意します 1. 計算機リソースを割譲する仕組みを⽤意 • QEMU/KVM等
  10. © NTT Communications Corporation All Rights Reserved. 18 Applications Data

    Runtime Middleware OS Virtualization Server Storage Networking VM屋さん: 巨⼤なリソースプールを切り売りする Applications Data Runtime Middleware OS Virtualization Server Applications Data Runtime Middleware OS Virtualization Server 1. 巨⼤な計算機リソースの⼭を作る • 便利でスケールする(※) Network を⽤意します • Servers(CPU/Memory)の⼭を⽤意します • 巨⼤な Shared Storage を⽤意します 1. 計算機リソースを割譲する仕組みを⽤意 • QEMU/KVM等 1. 割譲する/した/しているリソースのマネジメントをする • 誰が/どこに/どれくらいのリソースを使っているか • SDPF クラウド 仮想サーバーでは OpenStack を採⽤
  11. © NTT Communications Corporation All Rights Reserved. 19 OpenStack: Open

    Source Cloud Computing Infrastructure クラウド基盤を提供するOSS群 • 30 個程度のコンポーネントから成る VM 担当: Nova NW 担当: Neutron 認証認可: Keystone などなど Python, Go だったりで書かれている
  12. © NTT Communications Corporation All Rights Reserved. 20 Applications Data

    Runtime Middleware OS Virtualization Server Storage Networking リソース管理のAPIを提供するOpenStack Applications Data Runtime Middleware OS Virtualization Server Virtualization Server ①サーバplz
  13. © NTT Communications Corporation All Rights Reserved. 21 Applications Data

    Runtime Middleware OS Virtualization Server Storage Networking リソース管理のAPIを提供するOpenStack Applications Data Runtime Middleware OS Virtualization Server Virtualization Server ①サーバplz ②管理/調停
  14. © NTT Communications Corporation All Rights Reserved. 22 Applications Data

    Runtime Middleware OS Virtualization Server Storage Networking リソース管理のAPIを提供するOpenStack Applications Data Runtime Middleware OS Virtualization Server Applications Data Runtime Middleware OS Virtualization Server ①サーバplz ②管理/調停 ③VM作成
  15. © NTT Communications Corporation All Rights Reserved. 23 Applications Data

    Runtime Middleware OS Virtualization Server Storage Networking リソース管理のAPIを提供するOpenStack Applications Data Runtime Middleware OS Virtualization Server Applications Data Runtime Middleware OS Virtualization Server ①サーバplz ④接続情報 ②管理/調停 ③VM作成 SSHできた
  16. © NTT Communications Corporation All Rights Reserved. 24 ニッチだが知っている⼈は知っているOpenStack 商品としてでなくとも、

    ⼤量の計算機リソースを効率的/経済的に管理するために OpenStack が適しているケースはそこそこある https://www.openstack.org/use-cases/ を⾒てるとあそこが︕︖ってユースケースが発⾒できて楽しい
  17. © NTT Communications Corporation All Rights Reserved. 31 いま動いているものを維持する営み さまざまな理由により保守開発が必要

    • ホストOS のバージョンアップ • OpenStack のバージョンアップ • サーバーのファームウェアバージョンアップ • ストレージの諸サービスのバージョンアップ ホストOS Server ゲストOS (VM) Network Storage
  18. © NTT Communications Corporation All Rights Reserved. 32 VMがあるホストはダウン出来ない︖ さまざまな理由により保守開発が必要

    • ホストOS のバージョンアップ • OpenStack のバージョンアップ • サーバーのファームウェアバージョンアップ • ストレージの諸サービスのバージョンアップ …なのだけれど、 • ゲストOS(VM)の実体はホストOSの1プロセス • ホストOSの停⽌を伴うバージョンアップはどうす ればいいのか︖ ◦ ホストがダウンすれば、VMももちろんダウン ホストOS Server ゲストOS (VM) Network Storage
  19. © NTT Communications Corporation All Rights Reserved. 33 Live Migration

    で VMプロセスを他ホストへ移動 Virtualization Server Storage Networking Virtualization Server Virtualization Server ゲストOS (VM) ゲストOS (VM) Live Migration 仮想サーバーでは巨⼤なStorageをたくさんのServer がマウントしているのはお話した通り Live Migration 機能によって 移⾏先のホストにメモリコピー(転送)をすることで、 移⾏元から移⾏先へVMを引っ越しすることができる ただし、Live Migration は全くゲストに影響を与え ないわけではない
  20. © NTT Communications Corporation All Rights Reserved. 34 これまでの保守に関する登壇はこちら https://www.youtube.com/watch?v=PZU-xKxxGmg

    https://www.youtube.com/watch?v=cwVzn5aY5nM ライブマイグレーションを繰り返すことで ホストOSをローリングアップデートした話。 CODT 2021 ⼤賞をいただきました。 保守のコストが重すぎて新規開発する体⼒がなく て⾟い︕CICDでインフラのデリバリーコストを 劇的に下げている話。CODT 2022 登壇
  21. © NTT Communications Corporation All Rights Reserved. 36 新規開発 ①Hardware

    の進化で⽣まれた新機能を、仮想的にも提供できるようにする • 新しいHWの暗号化機能を提供可能にしたい • 新しいCPUを仮想的に提供したい • 新しいゲストOSを提供したい • 新しい仮想化の機能を提供したい • 上記までを提供するインターフェースとして OpenStack に機能追加したい ②管理上より利便性の⾼いインターフェースをお客様に提供したい • より直感的な Observerbility が実現可能なインターフェースを提供したい • 仮想サーバーの多様な変数をより簡便に管理できるようにしたい ③収益効率の⾼い収容設計やスケジューリングを実装したい • VMのリソースモニタリングを強化してより平準化されたVMアロケーションを実現したい
  22. © NTT Communications Corporation All Rights Reserved. 37 HWの新機能を仮想的にも提供するには…︖ 1.

    Storage/Server の検証機の購⼊ 1. ホストOSとの結合検証 1. ゲストOSとの結合検証 1. 既存の機能との互換性検証 1. HWの新機能が有効に使えるか検証 1. OpenStack から新機能を使うための実装 ホストOS Server ゲストOS (VM) Network Storage 安定度の⾼い具象で、ボブおじ的には「苦痛ゾーン」である
  23. © NTT Communications Corporation All Rights Reserved. 38 HWの新機能を仮想的にも提供するには…︖ 1.

    Storage/Server の検証機の購⼊ 1. ホストOSとの結合検証 1. ゲストOSとの結合検証 1. 既存の機能との互換性検証 1. HWの新機能が有効に使えるか検証 1. OpenStack から新機能を使うための実装 下から上まで横断的な知⾒が必要かつ 単純に⼯数が多い →インフラのデリバリーコストが課題に 安定度の⾼い具象で、ボブおじ的には「苦痛ゾーン」である ホストOS Server ゲストOS (VM) Network Storage
  24. © NTT Communications Corporation All Rights Reserved. 39 新規開発 ①Hardware

    の進化で⽣まれた新機能を、仮想的にも提供できるようにする • 新しいHWの暗号化機能を提供可能にしたい • 新しいCPUを仮想的に提供したい • 新しいゲストOSを提供したい • 新しい仮想化の機能を提供したい • 上記までを提供するインターフェースとして OpenStack に機能追加したい ②管理上より利便性の⾼いインターフェースをお客様に提供したい • より直感的な Observerbility が実現可能なインターフェースを提供したい • 仮想サーバーの多様な変数をより簡便に管理できるようにしたい ③収益効率の⾼い収容設計やスケジューリングを実装したい • VMのリソースモニタリングを強化してより平準化されたVMアロケーションを実現したい
  25. © NTT Communications Corporation All Rights Reserved. 40 インターフェースやスケジューリングの開発 OpenStack

    はあくまでも VM をマネジメントするた めのサービスであり、実際のハードウェアとはある程 度独⽴して機能する OpenStack は仮想化の知識がそれほどなくても貢献 できるが、保守開発とHW機能開発で⼿⼀杯。 なかなか⼿が回らない… ホストOS Server ゲストOS (VM) Network Storage 基本的にはOpenStackに閉じる
  26. © NTT Communications Corporation All Rights Reserved. 41 インターフェースやスケジューリングの開発 OpenStack

    はあくまでも VM をマネジメントするた めのサービスであり、実際のハードウェアとはある程 度独⽴して機能する OpenStack は仮想化の知識がそれほどなくても貢献 できるが、保守開発とHW機能開発で⼿⼀杯。 なかなか⼿が回らない… これからインフラや仮想化の知⾒を深めたいウェブ系 エンジニアは是⾮転職先としてご検討ください ホストOS Server ゲストOS (VM) Network Storage 基本的にはOpenStackに閉じる SDPFクラウド 仮想サーバー開発 エンジニア | エヌ・ティ・ティ・ コミュニケーションズ株式会社
  27. © NTT Communications Corporation All Rights Reserved. 43 インフラデリバリーコストの最適化問題に取り組む 「インフラだからデリバリーに時間がかかるのしょうがないよね」に立ち向かう

    サーバーの多様化・増加に対してもスケーラブルなチーム開発体制の強化 1. 物理的で、多種多様かつ台数の多いものを、なるべく抽象的に扱えるようにする • 総数/変数が増え/売上が増えていくことに反比例するように保守運用上のコストを下げて利益を上げるには、適切な抽象化が必要 • より多くのものを IaC で管理し、 Argo CD のような GitOps を物理のホストOS/ストレージにまで拡充 1. コスト支配項の一つである Live Migration 運用のコスト低下 • ホストダウンを伴う変更作業は LM が必須となるがそのコストは高い • 理論的にはLMが完了しない Memory Intensive な VM のデータを取得し、なんらかのワークアラウンドシステムを作る • Virtualization(qemu-kvm, virtio) のスペシャリスト採用強化やLM実験場の構築
  28. © NTT Communications Corporation All Rights Reserved. 44 まとめ •

    IaaS(VM屋さん)は巨⼤な計算機リソースのプールを切り売りしている • SDPFクラウドではそのために OpenStack という OSS を活⽤している ◦ 言い忘れていたがスポンサーをしており上流にコミットもしている • IaaS(VM屋さん)はその機能の保守のためにハードウェア/ホストOS等のメンテをしている • NWとStorageを共有しているホスト間でなら、VMはライブマイグレーションで他ホストに移れる • 新規機能の開発には下から上までの横断的な知⾒が必要 • 下から上までを知らなくても、その⼀部を知っていればコントリビュートは可能なので 経験者採⽤の応募をお待ちしております︕︕︕︕︕︕︕