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
Cloudflare Meetup Nagano Vol.3
Search
Taisei Ito
January 18, 2025
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloudflare Meetup Nagano Vol.3
Taisei Ito
January 18, 2025
More Decks by Taisei Ito
See All by Taisei Ito
Grafana Meetup Japan Vol. 6
kaedemalu
1
820
Cloudflare Meetup Nagano Vol.2
kaedemalu
0
2.1k
20220214_Future Tech Night
kaedemalu
0
2.5k
20210910_nyle
kaedemalu
0
1.1k
20210827 Future Tech Night
kaedemalu
0
4.6k
CNDO2021 Open Policy Agent
kaedemalu
1
1.5k
20210210 Terraform meetup ONLINE
kaedemalu
0
700
Future Talk Night 20201118
kaedemalu
0
250
20201114 GCPUG Shonan
kaedemalu
0
510
Other Decks in Technology
See All in Technology
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.5k
Kiro Ambassador を目指す話
k_adachi_01
0
110
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
220
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
100
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
0
110
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.5k
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
200
SONiCの統計情報を取得したい
sonic
0
220
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
2
700
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
Chainlitで作るお手軽チャットUI
ynt0485
0
270
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
660
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
590
Design in an AI World
tapps
1
240
Mobile First: as difficult as doing things right
swwweet
225
10k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Accessibility Awareness
sabderemane
1
140
Docker and Python
trallard
47
3.9k
Unsuck your backbone
ammeep
672
58k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Transcript
Cloudflare Meetup Nagano Vol.3 2024.01.18 Sat. Taisei Ito kaedemalu 𝕏
kaedemalu
自己紹介 • 伊藤 太斉(Taisei Ito) ◦ @kaedemalu(X, GitHub) ◦ フューチャーアーキテクト株式会社
▪ Technology Innovation Group ▪ シニアコンサルタント ▪ TechBlog Editor ◦ #Terraform #Google Cloud #AWS ◦ 長野県長野市生まれ • Community ◦ GCPUG Shonan Staff • Hobby ◦ サウナ・スキー・カメラ・マラソン(先週ハーフ完走)
結構ネタに悩みました(ここは独り言) • Terraformと絡めたネタは前回やった • Cloudflare自体、仕事で触っているわけではないから そこまでネタとして持っていない • 最近の関心ごと ◦ インフラの運用監視
水曜日になりました
自分が広げられるネタとは • 昨年会社の技術ブログで連載をやりました 参考:https://future-architect.github.io/articles/20240527a/
自分が広げられるネタとは • 昨年会社の技術ブログで連載をやりました
今回のネタ • Workersってどうやって動いているんだろう ◦ PythonをWorkersでどう動かしているか
そもそもWorkersってどうやって動いている? • Chrome V8というJavaScriptエンジンで稼働する ◦ 車のエンジンの気筒数になぞらえた命名 ▪ V8なので相当パワフルに動く、というところから ◦ 強み
▪ コールドスタートな状態であっても5msほどで実行できるほど 高速なスピンアップ ▪ JavaScriptの関数をサンドボックス化し、セキュリティの向上に 寄与している 参考:https://www.cloudflare.com/learning/serverless/glossary/what-is-chrome-v8/
そもそもWorkersってどうやって動いている? • Chrome V8というJavaScriptエンジンで稼働する ◦ 車のエンジンの気筒数になぞらえた命名 ▪ V8なので相当パワフルに動く、というところから ◦ 強み
▪ コールドスタートな状態であっても5msほどで実行できるほど 高速なスピンアップ ▪ JavaScriptの関数をサンドボックス化 し、セキュリティの向上に 寄与している 参考:https://www.cloudflare.com/learning/serverless/glossary/what-is-chrome-v8/
サンドボックス化とは • Chrome V8における重要な機能の一つである • JavaScriptの関数それぞれが個別に実行され、かつ影響を与えないことを 保証している ◦ 他の関数によってパフォーマンスの低下も起こさない 参考・引用:
https://www.cloudflare.com/learning/serverless/glossary/what-is-chrome-v8/
ウェブで扱える言語 • HTML • CSS • JavaScript
Cloudflare Workersで実行可能な言語 • HTML • CSS • JavaScript • Python
• Go • Rust • C, etc…
WebAssembly(WASM)という技術 • 昨今のウェブブラウザで実行できるバイナリのフォーマット(仕様) • Rust, C/C++などの言語をコンパイルして実行することができる ◦ 上記の言語をウェブ上で動かすことができる ◦ JavaScriptと並行して動かすように設計されている
• JavaScriptの「置き換え」ではなく「補強」 参考・引用: https://developer.mozilla.org/ja/docs/WebAssembly
なぜWASMができたのだろうか • HTML, CSS, JavaScriptで動作するアプリより高機能、パフォーマンスを 求められるようになった ◦ 一般的にはコンパイラ言語の方がパフォーマンスがいい ▪ JavaScriptはインタプリタ言語
◦ ゲーム系、XR、動画編集系 • ウェブが中心のサービスが増えたこと ◦ ブラウザベースで完結することの容易さ 参考: ・https://developer.mozilla.org/ja/docs/WebAssembly ・https://qiita.com/ShuntaShirai/items/3ac92412720789576f22
Workers for Python • Pythonはインタプリタ言語 ◦ コンパイラ言語ではない
Pyodideの利用 • Pyodide(パイオダイド)と読む • PythonをWebブラウザ上で動かすために開発されたランタイム • PyodideがWASMとして振る舞ってPythonを実行する ◦ PythonがそのままWASMとしてコンパイルされるわけではない ▪
パフォーマンスとしては先述のコンパイラ言語よりは劣る 参考・引用: https://news.mynavi.jp/techplus/article/zeropython-99/
Pythonをブラウザ上で実行できるメリット • 初学者が取り組みやすい言語であること • 機械学習、データ分析の簡素化
Pythonコードを動かしてみる • 以下のコードをHTML形式で保存する <html> <head> <script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@gradio/lite/dist/lite.js"></script> <link
rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@gradio/lite/dist/lite.css" /> </head> <body> <gradio-lite> import gradio as gr def greet(name): return "Hello, " + name + "!" gr.Interface(greet, "textbox", "textbox").launch() </gradio-lite> </body> </html> 参考・引用: https://www.gradio.app/guides/gradio-lite
Pythonコードを動かしてみる • 実行すると 参考・引用: https://blog.cloudflare.com/python-workers/
PythonをCloudflare Workersで動かす仕組み • Pyodideを使ってPythonのコードをWASMの仕組みに乗せて動かしている ◦ Workers自体がWASMを動かせるようになっている
まとめ • Cloudflare WorkersはChrome V8をベースとしたウェブ技術を使っている • それぞれパフォーマンスに影響を及ぼさず、セキュアに実行できる • ウェブでさまざまな言語を動かすためにWebAssemblyを活用している •
PythonのネイティブサポートはPyodideを使ってWebAssemblyに載せて利用
• 大崎にあるITコンサル会社 • 経営戦略から実装、運用までを全てこなす • ベンダーニュートラルの考え方 • 「ないものは作る」 フューチャーについて
• 実用Go言語をはじめとした各種書籍、雑誌の著者たち • Vue.jsのコミッター • TomcatのPMCメンバー • OSS「Vuls」の作成者 こんな人います
ブログも出しています
Cloudflare Meetup Nagano Vol.3 2024.01.18 Sat. Taisei Ito kaedemalu 𝕏
kaedemalu