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
4
1.9k
クラウドサービス事業者におけるOSS
Open Source Conference 2025 Tokyo/Spring
Satoshi Tagomori
February 21, 2025
Tweet
Share
More Decks by Satoshi Tagomori
See All by Satoshi Tagomori
さくらのクラウドにおけるCloudNativeのいまとこれから
tagomoris
5
910
State of Namespace
tagomoris
5
6.1k
パブリッククラウドのプロダクトマネジメントとアーキテクト
tagomoris
4
1.2k
2000年てづくりキーボードの旅
tagomoris
1
240
Namespace, Now and Then
tagomoris
0
350
Namespace on read
tagomoris
2
550
ソフトウェアエンジニアの入力と出力
tagomoris
1
81
RubyKaigi Effect 2023, and ...
tagomoris
1
1.1k
Namespace, What and Why
tagomoris
9
20k
Other Decks in Technology
See All in Technology
Ktor + Google Cloud Tasks/PubSub におけるOTel Messaging計装の実践
sansantech
PRO
1
270
OTel 公式ドキュメント翻訳 PJ から始めるコミュニティ活動/Community activities starting with the OTel official document translation project
msksgm
0
230
Wasmで社内ツールを作って配布しよう
askua
0
120
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.5k
Microsoft Fabric ガバナンス設計の一歩目を考える
ryomaru0825
1
260
経験がないことを言い訳にしない、 AI時代の他領域への染み出し方
parayama0625
0
140
新規事業におけるAIリサーチの活用例
ranxxx
0
140
機械学習を「社会実装」するということ 2025年夏版 / Social Implementation of Machine Learning July 2025 Version
moepy_stats
1
590
そもそも AWS FIS について。なぜ今 FIS のハンズオンなのか?などなど
kazzpapa3
2
120
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
160
QuickBooks®️ Customer®️ USA Contact Numbers: Complete 2025 Support Guide
qbsupportinfo
0
110
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
21
5.8k
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Making Projects Easy
brettharned
116
6.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
How to Ace a Technical Interview
jacobian
278
23k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Faster Mobile Websites
deanohume
308
31k
Building Applications with DynamoDB
mza
95
6.5k
For a Future-Friendly Web
brad_frost
179
9.8k
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/