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
Pulumi に入門してみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
chanyou0311
August 16, 2024
Technology
420
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pulumi に入門してみた
おもにクラウドの話してます - 広島 #3 の発表資料です。
https://omoni-cloud.connpass.com/event/324822/
chanyou0311
August 16, 2024
More Decks by chanyou0311
See All by chanyou0311
5分でわかるDuckDB Quack
chanyou0311
4
450
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
3.2k
LookerとADKで作る社内AIエージェント
chanyou0311
0
670
「リリース後」に向き合うAI駆動開発の実践
chanyou0311
0
130
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
10
4.5k
5分でわかるDuckDB
chanyou0311
12
4.8k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
3
2.1k
データの信頼性を支える仕組みと技術
chanyou0311
6
2.5k
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
1.4k
Other Decks in Technology
See All in Technology
V8コントリビュート超入門
riyaamemiya
0
130
Does an AI Watermark Survive Translation?
machinetranslation
0
520
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
280
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
150
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
520
PfEingのアプローチで働こう
rindrics
0
160
Webとヘルスデータ
yukukotani
0
170
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
120
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
610
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
130
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
3
760
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Raft: Consensus for Rubyists
vanstee
141
7.7k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
410
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How to make the Groovebox
asonas
2
2.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Balancing Empowerment & Direction
lara
6
1.3k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
770
Transcript
Pulumi に⼊⾨してみた chanyou
Yu Nakamura - chanyou ‧ DRE ← Data Engineer ←
SWE ‧ X: @chanyou0311 ‧ Google Cloud BigQuery ‧ Azure Databricks ‧ おうち Kubernetes クラスタ
IaC やってる⽅ 🙋
Pulumi に⼊⾨してみたので 体験談を話します
今回の内容 ‧話すこと ‧Pulumi の取っ掛かり ‧話さない / 話せない こと ‧IaC とは?
‧Pulumi のベストプラクティス
モチベーション
Pulumi の良さがよくわかっていなかった ‧書き慣れた⾔語で IaC できる旨味がよくわからん ‧HCL じゃだめ?
インフラの⺠主化に関⼼が移る ‧データ基盤において、データの⺠主化からデータインフラの⺠ 主化が求められていく ‧データを⺠主化するための活動が中央チームに寄るとボトル ネックになりがち
Driving Data Quality with Data Contracts https://github.com/PacktPublishing/Driving-Data-Quality-with-Data-Contracts/tree/main
Driving Data Quality with Data Contracts ‧データコントラクトという抽象的な仕様を YAML で宣⾔するこ とで、それを満たすリソースを動的に⽣成するアプローチ
‧YAML から動的にリソース⽣成するのに Pulumi が良さそう
Pulumi とは
Pulumi とは オープンソースの IaC ツール Node.js, Python, Go, C#, Java,
YAML がサポートされている インフラのステートを保持して、 コードとの差分を埋める操作を ⾏ってくれる https://www.pulumi.com/docs/concepts/how-pulumi-works/
対応パッケージ ‧三⼤パブリッククラウドに対応 ‧Kubernetes, Auth0, GitHub, Cloudflare, Heroku, … ‧Pulumi Terraform
Bridge ‧Dynamic resource provider
Pulumi Cloud ‧ステート管理は Pulumi Cloud に任せられる ‧CI/CD の実装も⼿軽になる ‧Pulumi Copilot
などの開発⽀援機能もある
Pulumi AI ‧⾃然⾔語で構成や実現したいことを伝えると、それに沿った Pulumi リソースを⽣成してくれる ‧初期プロジェクト⽴ち上げ時にも Pulumi AI にテンプレートを⽣ 成してもらえる
https://www.pulumi.com/docs/concepts/how-pulumi-works/
基本コマンド ‧pulumi new ‧pulumi up
チュートリアルをやってみる
チュートリアルをやってみる https://www.pulumi.com/docs/clouds/gcp/get-started/create-project/ ‧事前に Google Cloud の Project を作っておく
データコントラクトの事例
データ仕様をデータコントラクトとして表現 https://datacontract.com/
スキーマはもちろん PII に該当するかも定義 https://datacontract.com/
利⽤規約やデータの配置場所も表現 https://datacontract.com/
サービスレベルも表現する https://datacontract.com/
データコントラクト駆動な世界 データコントラクトから、様々な成果物を⾃動的に⽣成できる ‧ドキュメント ‧宛先のデータセット ‧データ転送処理 ‧データ品質の監視 ‧…
データコントラクト駆動な世界を体験する ‧https://github.com/chanyou0311/datacontract-demo ‧データコントラクトを YAML で定義して、宛先のデータセットを ⽣成する
デモ
所感とまとめ
Good: 抽象表現からインフラに落とし込める ‧データコントラクトの例のように YAML から任意のロジックでイン フラ構築できる ‧ガードレールとして機能して、プラットフォーム化が加速しそう ‧知⾒のないユーザーでも、仕様さえ決められれば⾃律的にインフラ 構築できそう
Good: セルフサービス化が容易 ‧モジュール化する際に IaC ツールのベストプラクティスを 探らなくても、書き慣れた⾔語のプラクティスを踏襲できる ‧Pulumi プロジェクト内外のソースを読み取って任意のイ ンフラを構築できる ‧⾃前の
REST API や Jupyter Notebook を経由してリソー ス管理もできる
Good: ⼿軽にプロバイダーを⾃作できる ‧Dynamic resource provider で⼿軽にプロバイダーが⾃作 できる ‧Pulumi で社内 Wiki
に静的サイトの要領でページを書き出 すとかできそう
More: 対応プロバイダーの少なさを感じた ‧Terraform に⽐べると少ない印象 ‧Pulumi Terraform Bridge にハードルの⾼さを感じた
まとめ ‧仕事でも趣味でも使えそうなので、引き続き試していきた いと思います