Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Pulumi に入門してみた
Search
chanyou0311
August 16, 2024
Technology
430
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
500
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
3.4k
LookerとADKで作る社内AIエージェント
chanyou0311
0
720
「リリース後」に向き合うAI駆動開発の実践
chanyou0311
0
170
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
10
4.6k
5分でわかるDuckDB
chanyou0311
12
4.9k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
3
2.2k
データの信頼性を支える仕組みと技術
chanyou0311
6
2.5k
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
1.4k
Other Decks in Technology
See All in Technology
ミイダス株式会社 テックチームのご紹介 / MIIDAS Tech Team
miidas
0
160
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
360
SDDの運用にめげずに向き合った話
sansantech
PRO
1
130
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
330
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
230
自分で立ててみるLLMサービス
y_sera15
0
130
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
510
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
130
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
130
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
310
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
The Pragmatic Product Professional
lauravandoore
37
7.5k
A Tale of Four Properties
chriscoyier
163
24k
The Language of Interfaces
destraynor
162
27k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
Crafting Experiences
bethany
1
370
4 Signs Your Business is Dying
shpigford
187
23k
エンジニアに許された特別な時間の終わり
watany
109
250k
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 にハードルの⾼さを感じた
まとめ ‧仕事でも趣味でも使えそうなので、引き続き試していきた いと思います