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.7k
クラウドサービス事業者におけるOSS
Open Source Conference 2025 Tokyo/Spring
Satoshi Tagomori
February 21, 2025
Tweet
Share
More Decks by Satoshi Tagomori
See All by Satoshi Tagomori
State of Namespace
tagomoris
4
2k
パブリッククラウドのプロダクトマネジメントとアーキテクト
tagomoris
4
1.2k
2000年てづくりキーボードの旅
tagomoris
1
210
Namespace, Now and Then
tagomoris
0
330
Namespace on read
tagomoris
2
530
ソフトウェアエンジニアの入力と出力
tagomoris
1
70
RubyKaigi Effect 2023, and ...
tagomoris
1
1k
Namespace, What and Why
tagomoris
9
19k
Help Collisions, Isolate the Worlds
tagomoris
0
260
Other Decks in Technology
See All in Technology
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
130
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
4
260
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
260
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
5
6.4k
Making a MIDI controller device with PicoRuby/R2P2 (RubyKaigi 2025 LT)
risgk
1
320
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
220
「経験の点」の位置を意識したキャリア形成 / Career development with an awareness of the “point of experience” position
pauli
4
110
AIと共に乗り越える、 入社後2ヶ月の苦労と学習の軌跡
sai_kaneko
0
120
【Oracle Cloud ウェビナー】ご希望のクラウドでOracle Databaseを実行〜マルチクラウド・ソリューション徹底解説〜
oracle4engineer
PRO
1
110
Road to Go Gem #rubykaigi
sue445
0
960
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
1
310
クラウド開発環境Cloud Workstationsの紹介
yunosukey
0
200
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Building Adaptive Systems
keathley
41
2.5k
RailsConf 2023
tenderlove
30
1.1k
The Cost Of JavaScript in 2023
addyosmani
49
7.7k
Into the Great Unknown - MozCon
thekraken
38
1.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.7k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.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/