Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラウドサービス事業者におけるOSS
Search
Satoshi Tagomori
February 21, 2025
Technology
3
900
クラウドサービス事業者におけるOSS
Open Source Conference 2025 Tokyo/Spring
Satoshi Tagomori
February 21, 2025
Tweet
Share
More Decks by Satoshi Tagomori
See All by Satoshi Tagomori
パブリッククラウドのプロダクトマネジメントとアーキテクト
tagomoris
4
1k
2000年てづくりキーボードの旅
tagomoris
1
200
Namespace, Now and Then
tagomoris
0
290
Namespace on read
tagomoris
2
510
ソフトウェアエンジニアの入力と出力
tagomoris
1
60
RubyKaigi Effect 2023, and ...
tagomoris
1
910
Namespace, What and Why
tagomoris
9
18k
Help Collisions, Isolate the Worlds
tagomoris
0
250
Avoid Collisions, Desire Co-existence
tagomoris
0
2.7k
Other Decks in Technology
See All in Technology
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
150
プロダクトエンジニア 360°フィードバックを実施した話
hacomono
PRO
0
100
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
2.5Dモデルのすべて
yu4u
2
890
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
120
RSNA2024振り返り
nanachi
0
590
プロセス改善による品質向上事例
tomasagi
3
2.6k
デスクトップだけじゃないUbuntu
mtyshibata
0
240
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
770
深層学習と古典的画像アルゴリズムを組み合わせた類似画像検索内製化
shutotakahashi
0
120
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
6
800
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1k
Featured
See All Featured
Designing for Performance
lara
604
68k
The World Runs on Bad Software
bkeepers
PRO
67
11k
A Philosophy of Restraint
colly
203
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building an army of robots
kneath
303
45k
Fireside Chat
paigeccino
34
3.2k
Side Projects
sachag
452
42k
Speed Design
sergeychernyshev
27
790
The Language of Interfaces
destraynor
156
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Producing Creativity
orderedlist
PRO
344
39k
Transcript
マネージドサービスとオープンソースSDK クラウドサービス事業者における OSS Open Source Conference 2025 Tokyo/Spring, 2025-02-21 Satoshi
Tagomori (@tagomoris)
@tagomoris Satoshi Tagomori Sakura Internet from 2024.08 Maintainer/Founder: OSS: Fluentd,
MessagePack, Norikra, Woothee, … Event: ISUCON Service: Pathtraq
None
本 日 のストーリー マネージドサービスとオープンソースSDK • さくらのクラウドというパブリッククラウド • パブリッククラウドにおけるサービス、プロダクト • クラウドの実装、マネージドサービスとOSS
• クラウドのオープンソースSDK • OSS、SDK、そしてマネージドサービス
さくらのクラウドという パブリッククラウド
None
さくらのクラウド IaaS型クラウドからフルスペックのクラウドサービスへ • IaaS型クラウドサービスとして2011年にサービス開始 • サーバ(VM)、ストレージ、ネットワーク • 高火力 (GPU)プランの追加など •
2023年、ガバメントクラウドの条件付き認定 • 〜2026年3 月 :認証や統制、PaaS含むマネージドサービス等を順次提供
ガバメントクラウド • デジタル庁が整備する、政府全体で共通利 用 するクラウドサービス基盤 • 既存の「パブリッククラウド」を活かし、柔軟迅速にセキュアなシステム基盤の 調達を可能とする • 政府や
自 治体アプリケーション開発を現代的なものとし、国 民 に利便性の 高 い サービスをいち早く提供することにつなげる • ガバメントクラウド対象クラウドサービスはデジタル庁にて認定 • デジタル庁から出ている技術要件を満たす必要がある
ガバメントクラウド技術要件 • 令和5年度募集の技術要件 • 17項 目 /約300件の技術要件を「全て」満たす必要がある • 基本事項、(1)コンピュート(サーバ)機能、(2)ストレージ、(3)データベース、 (4)サーバレス・コンテナ関連機能、(5)API関連機能、(6)アプリケーション連携機能、
(7)データ分析機能、(8)コードリリース機能、(9)ネットワークとCDN、 (10)システム運 用 管理機能、(11)ユーザ管理、(12)バックアップ、 (13)データポータビリティ・移 行支 援機能、(14)セキュリティ機能、 (15)暗号 管理とデータ保管セキュリティ、(16)機械学習関連機能 • 要件のリストは以下のURLから参照可能 https://www.digital.go.jp/procurement/3058bc41-ee8f-49bb-8f22-8def725f6f3f
ガバメントクラウド技術要件 基本事項からいくつか抜粋 大 項 目 項 目 項番 要件 基本事項
サービス全般 1 外部からネットワーク経由で提供される情報処理サービスであり、コンピュータや通信ネ ットワーク等の情報処理基盤を意識することなく、情報通信技術の便益やアプリケーショ ンを享受可能にし、サービスの利 用 結果が契約主体及び利 用 主体に定量的に明 示 できるこ と。 基本事項 サービス全般 3 災害時等において、公的に必要なサービスを優先する機能を有すること。 基本事項 サービス全般 4 いわゆるCOTS(commercial off-the-shelf)として広く提供されているサービスであ り、個別に開発されたものではないこと。 基本事項 サービス全般 7 技術的および物理的に共有されたところがなく完全に分離された複数のデータセンター 区画で「ゾーン」を構成し、冗 長 化を確保すること。 基本事項 サービス全般 10 情報資産はユーザが指 示 しない限り 日 本国内に保管されること。 基本事項 実績 15 日 本国内のデータセンターで当該クラウドサービスを 自 らが3年以上運営しているこ と。 基本事項 マネージドサービス 25 全てのマネージドサービスは、監視やログ管理等の運 用 系マネージドサービスと最初か ら連携しており、設定の詳細な操作ログや監視メトリクスが取得可能であること。
ガバメントクラウド技術要件 抜粋 大 項 目 項 目 項番 要件 コンピュート
(サーバ)機能 機密コンピューティ ング環境 4 クラウド利 用 者からは完全に分離し暗号化された仮想マシンでデータの暗号化/復号が 行 えるサービスまたはサポートが提供されていること。 ストレージ オブジェクト ストレージ 5 オブジェクトストレージは、99.999999999%以上のデータ耐久性を持ち、ファイルの 永続的な保管ができること。そのための仕組みを備えること。かつ 大 規模災害対策の観 点で複数リージョン間でのレプリケーションが利 用 可能であること。 アプリケーショ ン連携機能 メッセージングサー ビス 4 ユーザが構築するソフトウェア同 士 の連携を抽象化し 非 同期に 行 うためのメッセージング サービスが利 用 可能であること。(以下省略) アプリケーショ ン連携機能 メッセージングサー ビス 5 ユーザが意識せずとも 自 動的に、概ね無制限にスケーリングすること。ただし意図せぬ利 用 によって発 生 する 高 額請求を防ぐための制限は例外とする。 ネットワーク CDN 18 CDNサービスはグローバル10拠点以上で利 用 できること。
パブリッククラウドにおける サービス、プロダクト
サービス、あるいはプロダクト パブリッククラウドのサービス的特徴 • マルチテナント • オンデマンド • システム・オペレーションの構成部品 • フルスタック
マルチテナント あらゆる業種・業界の顧客が同居 • クラウド 自 体は業種・業界を選ばず、顧客層も広く分布 • クラウドの1サービスに多種多様なものが同居 • ユースケース
• ワークロード • それぞれに異なる要求をもつ顧客群 • 可 用 性、信頼性、性能、セキュリティ
オンデマンド 24時間いつでも、リクエストされたら即座に • IaaS • VM、ストレージ、ネットワークなどを要求に対して即座に提供 • PaaS、SaaS • 24時間常にオンライン、稼動のピークが読めない
システム・オペレーションの構成部品 あらゆるものの 一 部分となる • 顧客のシステムの動作基盤となる • VM、ストレージ、ネットワーク、ロードバランサ、CDN • 顧客のアプリケーションの
一 部となる • DB、キュー、ワークフロー、API Gateway、シークレットマネージャ • 顧客のオペレーションの実 行 基盤となる • 認証認可、バックアップ、コンテナリポジトリ、KMS
フルスタック データセンタから、PaaS、SaaSまで • SaaS:セキュリティ、認証、…… • PaaS:コンテナ実 行 、DB、キュー、ワークフロー、データ分析基盤、…… • IaaS:仮想化基盤(仮想マシン、仮想ストレージ、仮想ネットワーク)
• 機器:サーバ、ストレージ、スイッチやルータ、…… • 回線:拠点間接続、インターネット接続 • 拠点: データセンタ、エッジロケーション
クラウドの実装 マネージドサービスとOSS
さくらのクラウドで使われるOSS クラウドサービス基盤で使われているOSSなど • Linux KVM, QEMU, Open vSwitch, VyOS, Kubernetes,
Knative, … • PHP, Perl, Python, Go, Java, TypeScript, … • MySQL, TiDB, PostgreSQL, Elasticsearch, RabbitMQ, … • Nginx, Apache HTTPd, Django, Apache Iceburg, Trino, … • React, Vue.js, … • Terraform, Ansible, …
マネージドサービスの実装 ソフトウェアと動作環境をサービスとして提供する • RDB/NoSQLサービス • MariaDB, PostgreSQL, Cassandra • モニタリングサービス
• VictoriaMetrics, OpenTelemetry Logging • 開発・運 用 系ツール • Git, Container Registry, Terraform, …
OSSの体験をクラウドへ 現代のソフトウェアエンジニアはOSSの上で 生 きている • OSSの体験とは? • 分かりやすいドキュメント • 必要
十 分な機能 (多過ぎない機能?) • 納得感のあるAPI • 既存のOSSとの親和性 • “なんとなく期待したように動く”
技術主権とOSS 我々が、我々の責任で選び、開発し、運 用 する • クラウドの 文 脈で最近聞かれるのが「ソブリンクラウド」 • “sovereignty”:
主権 • 技術主権 • OSSを中 心 にした技術スタック、我々 自身 が責任をもって選び、使う • 他社の決定に我々のクラウドの未来を左右されない • 安定したサービスを顧客に提供するための選択
クラウドのオープンソースSDK
フルスタッククラウドと顧客システム クラウドと顧客システムは密接に絡みあう )8 ,7. -JOVY "QQ "QQ %# 0CKFDU "1*(BUFXBZ
$%/ -# 6*$MJFOU -# $MJFOU %$ /8 )8 ,7. -JOVY %$ /8 )8 ,7. -JOVY %$ /8 $POUBJOFS3VOUJNF "QQ 2VFVF 8PSL fl PX "QQ "QQ $POUBJOFS $POUBJOFS .BOBHFE *OGSB
フルスタッククラウドと顧客システム あらゆるところに顧客システムとクラウドの接点がある )8 ,7. -JOVY "QQ "QQ %# 0CKFDU4UPSBHF "1*(BUFXBZ
$%/ -# 6*$MJFOU -# $MJFOU %$ /8 )8 ,7. -JOVY %$ /8 )8 ,7. -JOVY %$ /8 $POUBJOFS3VOUJNF "QQ 2VFVF 8PSL fl PX "QQ "QQ $POUBJOFS $POUBJOFS 0CKFDU "1*(BUFXBZ $%/ -# -# $POUBJOFS3VOUJNF 2VFVF 8PSL fl PX $POUBJOFS $POUBJOFS %# .BOBHFE *OGSB
クライアントライブラリとSDK Software Development Kit includes Client Libraries • クライアントライブラリ:アプリとマネージドサービスの接点 •
特定の(クラウド)サービスを呼び出すためのライブラリ • 各 言 語の実装 (JVM, Go, Python, Ruby, .NET, JavaScript, …) • SDK • (クラウド)環境を整えるツールキット (クライアントライブラリを含む) • CLI Tools, Terraform Provider, CI/CD関連ツール, …
OSSとしてのSDK 顧客アプリケーション・システムの 一 部として動く • 顧客アプリケーションの 一 部となる • 顧客のコードとリンクされることに抵抗感を抱かれないライセンス
• 顧客のコードのふるまいを邪魔しない挙動 (メモリ、負荷、副作 用 ) • 顧客の運 用 の 一 部となる • 環境のデプロイやCI/CDパイプラインの 一 部となる • バックアップ、モニタリング、アラート、バッチ処理などを制御する
OSSとしてのSDK “これはOSSだからissue/pull-requestを送れるのでは?” • OSSとしてGitHub等で公開されるものが多い • 不満は出る • バグがある、挙動に不満がある、オプションが 足 りない、……
• クラウド側で実装された機能がサポートされない • 提供側の視点: issueやpull-requestを送られたときにどう対応すべきか? • クラウド側の事情もある、完全にフラットなOSSではありえない
OSS、クラウドSDK そしてマネージドサービス
間家具OSS by @fujiwaraさん 間を埋めるツールやミドルウェア IUUQTTQFBLFSEFDLDPNGVKJXBSBYJKJBOKJBKVPTTGBMTFTVTVNF
間家具OSS by @fujiwaraさん 間を埋めるツールやミドルウェア IUUQTTQFBLFSEFDLDPNGVKJXBSBYJKJBOKJBKVPTTGBMTFTVTVNF
OSSとSDK、マネージドサービス クラウドサービスの周りにOSSが 生 まれるパターン "QQ Ϛωʔδυ αʔϏε # Ϛωʔδυ αʔϏε
$ Ϛωʔδυ αʔϏε " "QQ Ϛωʔδυ αʔϏε ' "QQ Ϛωʔδυ αʔϏε % Ϛωʔδυ αʔϏε & "QQ ͦͦαʔϏεʹ ػೳΓͯͳ͍ͷͰ ผαʔϏεͱ߹ͤΔͱ ยํͷػೳʹΪϟοϓ͕ ࿈ܞͯ͠ಈ͍ͯ΄͍͠ͷʹ ͳ͔ͥ࿈ܞͯ͘͠Εͳ͍ʜʜ ΞϓϦଆʹ͋Γ͕ͪͳ ཁٻʹԠ͑ͯͳ͍
間家具OSSとクラウド開発 直近のfujiwaraさんの話から • 不満があって使いづらいようなところは、そもそも無いほうがいい • (他社クラウドでは)要望を上げることはできるが、直すことはできない • クラウドの中の 人 になったし、本来直すべきなら直せばいい
• とはいえ100%全員に使いやすいということはない • 好みやユースケースの違いはある • それぞれにとっての 間があって、そこを 小 さいツールで埋める
OSS、SDK、マネージドサービス 何を、どこで、どうやって直す? • ソフトウェアエンジニアのセンスと経験の 見 せどころ • サービスで直す? → それはユーザ全員にとって有益か?
• SDKで直す? → それはOSSとしてのライブラリにとって有益か? • OSSとして別に作る? → それは運 用 性を本当に改善するか? • そもそも、それは直せるのか? • クラウドから作っていれば、どこで直すこともできる
OSSとの関わりかたの ひとつとしての パブリッククラウド開発
SAKURA internet ࣾձΛࢧ͑Δ ύϒϦοΫΫϥυɾେنܭࢉࢿݯΠϯϑϥΛ Ұॹʹ࡞Γ·ͤΜ͔ʁ ソフトウェア開発、 インフラ基盤から フロントエンドまで 採 用
強化中! さくらインターネットではエン ジ ニア採 用 を強化しています さくらインターネットは新たなアイ デ アの創出に強い熱意と情熱を持って挑戦するお客様を は じ め、私たちとつな が りのあるす べ ての 人 たちのために、未来のある べ き姿を想い描きな が ら ―「やりたいこと」を「 で きる」に変える ― あらゆるア プ ローチを “インターネッ ト”を通 じ て提供します。 詳しくはWebサイトにて、カジュアル 面 談もやってます 👉 www.sakura.ad.jp/lp/recruit-engineer/