SlideShare a Scribd company logo
2022/6/15
Azure Functionsを
terraformで運用してわかっ
たこと
株式会社 bitFlyer | SRE部
2
© 2022 bitFlyer, Inc.
この発表について
対象
Azureを少しでも触ったことのある方
持ち帰れること
Cloud ServicesからAzure Functionsへのモダナイゼー
ションの例
Functionsをterraformで運用する際の注意点
3
© 2022 bitFlyer, Inc.
自己紹介 : 遠地 等一(とおち ともかず)
2021年4月bitFlyerにジョイン
職歴 :
ゲーム業界でサーバ/フロント
不動産業界でSRE
金融業界でSRE(←今ココ)
※ Azure歴1年間
4
© 2022 bitFlyer, Inc.
目次
bitFlyerの事業と技術スタック
課題と解決方法
Azure Functions (+ terraform)事例集
付録: tips on Azure Functions
5
© 2022 bitFlyer, Inc.
販売所・取引所
画像はHPより抜粋
暗号資産を売り買い・トレードできます
6
© 2022 bitFlyer, Inc.
プライベートブロックチェーン
プライベートブロックチェーン
bitFlyer Blockchainが企画・開発・運用
7
© 2022 bitFlyer, Inc.
主な技術スタック
Blockchain
Webサーバ バックエンド 永続化
コード VCS/CI/CD
8
© 2022 bitFlyer, Inc.
金融業界の特性
🏦高い信頼性とセキュリティ要件
🏦厳密な変更管理(監査)
9
© 2022 bitFlyer, Inc.
暗号資産事業の特性
💰急激な市場変化
価格、ユーザ数、取引高、競合他社
💰事業の成長
エンジニア数
💰規制要件への迅速な対応
10
© 2022 bitFlyer, Inc.
とあるモノリシックなシステムの課題
11
© 2022 bitFlyer, Inc.
とあるモノリシックなシステムの課題
単一障害点
高負荷スパイクで非効率
モノリシックで管理しづらい
ジョブが互いに影響を及ぼしてしまう
ローカルで環境の再現をしづらい
CI/CDが遅い
12
© 2022 bitFlyer, Inc.
マネージド化+マイクロサービス化で改善
13
© 2022 bitFlyer, Inc.
モダナイズにともなう開発体制の変化
14
© 2022 bitFlyer, Inc.
モダナイズにともなう開発体制の変化への対応
コードやライブラリを整備
機能パターン別のサンプルコード集
ライブラリのモダナイズ
ドキュメントを整備
移行ガイドライン作成
各ジョブの実装の優先度や難易度付け
社内への周知
社内勉強会
15
© 2022 bitFlyer, Inc.
IaC化を進める理由
マイクロサービス化で似た構成をたくさん作る
トイルを減らす
SRE部とのコミュニケーションの改善
コードベースのやりとりで透明度アップ
検証環境と本番環境の構成を一致させる
16
© 2022 bitFlyer, Inc.
Azure Functions (+ terraform)事例集
Storage Accountロックでタイムアウト
デプロイ時にFunction止まった
terraform providerで○○が反映されない
terraform applyでFunction消えた
17
© 2022 bitFlyer, Inc.
Storage Accountロックでタイムアウト
現象
staging slotとproduction slotを使ったswap運用をしていた。
Swap直前に、staging slotに内部でwarmupリクエストが送
られるが、このリクエストがタイムアウトして、swap開
始することができなかった。
Failed swapping site. Error: Cannot swap slots for site '<website-
name>' because the warmup requests to application in '<staging-
slot-name>' slot have timed out. Please check the application logs
to determine what causes the timeouts.
18
© 2022 bitFlyer, Inc.
Storage Accountロックでタイムアウト
原因
production slotで処理中はStorage Accountがロックされる。
対策
AzureWebJobsStorageに設定するStorage Accountを
staging slot とproduction slotで分ける。
19
© 2022 bitFlyer, Inc.
デプロイ時にFunction止まった
原因
WEBSITE_RUN_FROM_PACKAGE=1を指定しない場合、
d:¥home¥site¥wwwroot 以下にファイルを展開して実行す
る。
この場合、デプロイ過程で一度オフライン状態になる必要
があり、app_offline.htmというファイルの生成・削除のイ
ベントをホストが受け取ってリスタートを制御する。
このイベントをホストが受け取り損ねる不具合が起きた。
20
© 2022 bitFlyer, Inc.
デプロイ時にFunction止まった
対策
MSの推奨としては、
WEBSITE_RUN_FROM_PACKAGE=1
として、Azure Functionsのローカルのパッケージから実行
する設定にする。
ここにも落とし穴があり、公式ドキュメントには
| Zip deployment is recommended.
とある。(続く)
21
© 2022 bitFlyer, Inc.
デプロイ時にFunction止まった
Pipeline YAMLのAzureFunctionApp@1で
deploymentMethod: zipDeploy
を指定したくなるが、
deploymentMethod: runFromPackage
が正解。
✅
22
© 2022 bitFlyer, Inc.
デプロイ時にFunction止まった
deploymentMethod: zipDeploy
を指定した場合、AzureFunctionApp@1が気を利かせて
WEBSITE_RUN_FROM_PACKAGE=1
を削除してくれるが、逆にterraform側からは設定しようとす
るので、設定が振動し、原因となる挙動を特定しにくかった。
この辺りのベストプラクティスについて下記に記述がある:
https://github.com/projectkudu/kudu/wiki/WEBSITE_RUN_FROM_PACKAGE-and-
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING-Best-Practices
23
© 2022 bitFlyer, Inc.
terraform providerで○○が反映されない
terraform-azurerm-provider (v2.99) で確認
Auto-swapが反映されない
azurerm_function_app_slot
site_config.*.auto_swap_slot_name
Key Vault reference Identity IDが非対応
azurerm_function_app_slot
key_vault_reference_identity_id
24
© 2022 bitFlyer, Inc.
terraform providerで○○が反映されない
terraform-azurerm-provider (v2.99) で確認
Deployment slot settings (Sticky slot settings)が非対応
azurerm_function_app
azurerm_function_app_slot
25
© 2022 bitFlyer, Inc.
terraform providerで○○が反映されない
対策
ARM Templateをterraformから使った
※ terraform-azurerm-provider (v3.x)で解決する場合もある
26
© 2022 bitFlyer, Inc.
terraform providerで○○が反映されない
ちなみに
ARM Templateをterraformから使うのは、
循環参照をお手軽に回避したい場合に意外と便利。
「リソースを作る時点では確定しないattribute」を
参照するApp Settingsを設定したい場合など。
27
© 2022 bitFlyer, Inc.
terraform applyでFunction消えた
terraform-azurerm-provider (v2.x, v3.7.0) で確認
現象
terraform applyで更新をかけた後、Functionsのリストを見
に行くと空っぽになっている。
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
WEBSITE_CONTENTSHARE
に設定された File sharesを見に行くと、
data/SitePackages以下が空になっていた。
28
© 2022 bitFlyer, Inc.
terraform applyでFunction消えた
原因
複数slot構成だと、terraform providerがproduction slot側の
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
をstaging slot側の値へと勝手に書き換えてしまう。
対策
terraformのディレクトリを細分化して、影響範囲を小さく
そのうちGitHub Issuesにあげるなどして解決をはかりた
い
29
© 2022 bitFlyer, Inc.
付録: tips on Azure Functions
TimerTriggerはApp Settings経由で設定すると、コード変更回
数を減らせる
30
© 2022 bitFlyer, Inc.
付録: tips on Azure Functions
Functionの有効化をApp Settingsからオン/オフする
App Settingsに
AzureWebJobs.<FUNCTION_NAME>.Disabled={0,1}
と記述
31
© 2022 bitFlyer, Inc.
付録: tips on Azure Functions
Swap運用にした場合に、staging slotでTimerTriggerなどで処
理が走ってしまう
staging slot側に設定したApp Settingsを判定してガード
WEBAPPS_DEPLOY_SLOT_NAME = "deployslot1"
弊社ではbotがswap eventを拾って、自動でswap済みの
slotを停止するようになっている
32
© 2022 bitFlyer, Inc.
付録: tips on Azure Functions
Functionsのstorage周りで、terraformからは下記が正解
AzureWebJobsStorage
Deployment slot settingにする
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
触らない
WEBSITE_CONTENTSHARE
触らない
33
© 2022 bitFlyer, Inc.
まとめ
モノリシックな構成から生まれる課題を、
マネージド化+microservice化+IaC化の
モダナイゼーションで解決
terraformは便利ではあるが
providerの成熟度でDXが変わる
困ったらGitHubのIssuesやコードを見る
34
© 2022 bitFlyer, Inc.
We’re hiring!
https://bitflyer.com/recruit
Thank you!
Azure Functions with terraform

More Related Content

What's hot (20)

PDF
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
 
PDF
react-scriptsはwebpackで何をしているのか
暁 三宅
 
PDF
OSSを活用したIaCの実現
Trainocate Japan, Ltd.
 
PPT
DNS移転失敗体験談
oheso tori
 
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
 
PDF
Google Cloud のネットワークとロードバランサ
Google Cloud Platform - Japan
 
PDF
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 
PPTX
Keycloak入門
Hiroyuki Wada
 
PDF
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
 
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
PDF
TIME_WAITに関する話
Takanori Sejima
 
PDF
そんなトランザクションマネージャで大丈夫か?
takezoe
 
PDF
シリコンバレーの「何が」凄いのか
Atsushi Nakada
 
PDF
まずやっとくPostgreSQLチューニング
Kosuke Kida
 
PPTX
KubeEdgeを触ってみた
Tomoyuki Tanigaki
 
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
PDF
Go 製リアルタイムサーバーの Kubernetes での運用について
KairiOkumura
 
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
 
PDF
こわくない Git
Kota Saito
 
PDF
ミッション : メガクラウドを安全にアップデートせよ!
Toru Makabe
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
 
react-scriptsはwebpackで何をしているのか
暁 三宅
 
OSSを活用したIaCの実現
Trainocate Japan, Ltd.
 
DNS移転失敗体験談
oheso tori
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
 
Google Cloud のネットワークとロードバランサ
Google Cloud Platform - Japan
 
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 
Keycloak入門
Hiroyuki Wada
 
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
TIME_WAITに関する話
Takanori Sejima
 
そんなトランザクションマネージャで大丈夫か?
takezoe
 
シリコンバレーの「何が」凄いのか
Atsushi Nakada
 
まずやっとくPostgreSQLチューニング
Kosuke Kida
 
KubeEdgeを触ってみた
Tomoyuki Tanigaki
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
Go 製リアルタイムサーバーの Kubernetes での運用について
KairiOkumura
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
 
こわくない Git
Kota Saito
 
ミッション : メガクラウドを安全にアップデートせよ!
Toru Makabe
 

Similar to Azure Functions with terraform (20)

PDF
ゆるふわAzure Functions
Keiji Kamebuchi
 
PPTX
「Azure durable functions」の概要
裕之 木下
 
PDF
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
 
PPTX
Azure Functions あれこれ
Yasuaki Matsuda
 
PDF
[Japan Tech summit 2017] APP 003
Microsoft Tech Summit 2017
 
PDF
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
 
PDF
Azure Functions と Serverless - 概要と企業向け Tips
Keiji Kamebuchi
 
PDF
20190514 Smart Store - Azure servlerless architecture
Issei Hiraoka
 
PDF
Smart Store サーバーレスアーキテクチャ編
Microsoft Azure Japan
 
PDF
Azure Functionsから始めるServerless
ryosuke matsumura
 
PDF
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
 
PDF
Terraform Bootcamp - Azure Infrastructure as Code隊
Toru Makabe
 
PPTX
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Yasuaki Matsuda
 
PPTX
Azure serverless!! azure functionsでサーバーを意識しない開発
Yuki Hattori
 
PPTX
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
Yoichi Kawasaki
 
PPTX
Visual Studio 2017 で Azure Functions の開発
Yasuaki Matsuda
 
PDF
Azure reliability v0.1.21.0422
Ayumu Inaba
 
PDF
NoOpsへ舵を切れ
Hiromasa Oka
 
PDF
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Kazumi OHIRA
 
PPTX
Microsoft azure
ssuser184f93
 
ゆるふわAzure Functions
Keiji Kamebuchi
 
「Azure durable functions」の概要
裕之 木下
 
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
 
Azure Functions あれこれ
Yasuaki Matsuda
 
[Japan Tech summit 2017] APP 003
Microsoft Tech Summit 2017
 
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
 
Azure Functions と Serverless - 概要と企業向け Tips
Keiji Kamebuchi
 
20190514 Smart Store - Azure servlerless architecture
Issei Hiraoka
 
Smart Store サーバーレスアーキテクチャ編
Microsoft Azure Japan
 
Azure Functionsから始めるServerless
ryosuke matsumura
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
 
Terraform Bootcamp - Azure Infrastructure as Code隊
Toru Makabe
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Yasuaki Matsuda
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Yuki Hattori
 
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
Yoichi Kawasaki
 
Visual Studio 2017 で Azure Functions の開発
Yasuaki Matsuda
 
Azure reliability v0.1.21.0422
Ayumu Inaba
 
NoOpsへ舵を切れ
Hiromasa Oka
 
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Kazumi OHIRA
 
Microsoft azure
ssuser184f93
 
Ad

Azure Functions with terraform

  • 2. 2 © 2022 bitFlyer, Inc. この発表について 対象 Azureを少しでも触ったことのある方 持ち帰れること Cloud ServicesからAzure Functionsへのモダナイゼー ションの例 Functionsをterraformで運用する際の注意点
  • 3. 3 © 2022 bitFlyer, Inc. 自己紹介 : 遠地 等一(とおち ともかず) 2021年4月bitFlyerにジョイン 職歴 : ゲーム業界でサーバ/フロント 不動産業界でSRE 金融業界でSRE(←今ココ) ※ Azure歴1年間
  • 4. 4 © 2022 bitFlyer, Inc. 目次 bitFlyerの事業と技術スタック 課題と解決方法 Azure Functions (+ terraform)事例集 付録: tips on Azure Functions
  • 5. 5 © 2022 bitFlyer, Inc. 販売所・取引所 画像はHPより抜粋 暗号資産を売り買い・トレードできます
  • 6. 6 © 2022 bitFlyer, Inc. プライベートブロックチェーン プライベートブロックチェーン bitFlyer Blockchainが企画・開発・運用
  • 7. 7 © 2022 bitFlyer, Inc. 主な技術スタック Blockchain Webサーバ バックエンド 永続化 コード VCS/CI/CD
  • 8. 8 © 2022 bitFlyer, Inc. 金融業界の特性 🏦高い信頼性とセキュリティ要件 🏦厳密な変更管理(監査)
  • 9. 9 © 2022 bitFlyer, Inc. 暗号資産事業の特性 💰急激な市場変化 価格、ユーザ数、取引高、競合他社 💰事業の成長 エンジニア数 💰規制要件への迅速な対応
  • 10. 10 © 2022 bitFlyer, Inc. とあるモノリシックなシステムの課題
  • 11. 11 © 2022 bitFlyer, Inc. とあるモノリシックなシステムの課題 単一障害点 高負荷スパイクで非効率 モノリシックで管理しづらい ジョブが互いに影響を及ぼしてしまう ローカルで環境の再現をしづらい CI/CDが遅い
  • 12. 12 © 2022 bitFlyer, Inc. マネージド化+マイクロサービス化で改善
  • 13. 13 © 2022 bitFlyer, Inc. モダナイズにともなう開発体制の変化
  • 14. 14 © 2022 bitFlyer, Inc. モダナイズにともなう開発体制の変化への対応 コードやライブラリを整備 機能パターン別のサンプルコード集 ライブラリのモダナイズ ドキュメントを整備 移行ガイドライン作成 各ジョブの実装の優先度や難易度付け 社内への周知 社内勉強会
  • 15. 15 © 2022 bitFlyer, Inc. IaC化を進める理由 マイクロサービス化で似た構成をたくさん作る トイルを減らす SRE部とのコミュニケーションの改善 コードベースのやりとりで透明度アップ 検証環境と本番環境の構成を一致させる
  • 16. 16 © 2022 bitFlyer, Inc. Azure Functions (+ terraform)事例集 Storage Accountロックでタイムアウト デプロイ時にFunction止まった terraform providerで○○が反映されない terraform applyでFunction消えた
  • 17. 17 © 2022 bitFlyer, Inc. Storage Accountロックでタイムアウト 現象 staging slotとproduction slotを使ったswap運用をしていた。 Swap直前に、staging slotに内部でwarmupリクエストが送 られるが、このリクエストがタイムアウトして、swap開 始することができなかった。 Failed swapping site. Error: Cannot swap slots for site '<website- name>' because the warmup requests to application in '<staging- slot-name>' slot have timed out. Please check the application logs to determine what causes the timeouts.
  • 18. 18 © 2022 bitFlyer, Inc. Storage Accountロックでタイムアウト 原因 production slotで処理中はStorage Accountがロックされる。 対策 AzureWebJobsStorageに設定するStorage Accountを staging slot とproduction slotで分ける。
  • 19. 19 © 2022 bitFlyer, Inc. デプロイ時にFunction止まった 原因 WEBSITE_RUN_FROM_PACKAGE=1を指定しない場合、 d:¥home¥site¥wwwroot 以下にファイルを展開して実行す る。 この場合、デプロイ過程で一度オフライン状態になる必要 があり、app_offline.htmというファイルの生成・削除のイ ベントをホストが受け取ってリスタートを制御する。 このイベントをホストが受け取り損ねる不具合が起きた。
  • 20. 20 © 2022 bitFlyer, Inc. デプロイ時にFunction止まった 対策 MSの推奨としては、 WEBSITE_RUN_FROM_PACKAGE=1 として、Azure Functionsのローカルのパッケージから実行 する設定にする。 ここにも落とし穴があり、公式ドキュメントには | Zip deployment is recommended. とある。(続く)
  • 21. 21 © 2022 bitFlyer, Inc. デプロイ時にFunction止まった Pipeline YAMLのAzureFunctionApp@1で deploymentMethod: zipDeploy を指定したくなるが、 deploymentMethod: runFromPackage が正解。 ✅
  • 22. 22 © 2022 bitFlyer, Inc. デプロイ時にFunction止まった deploymentMethod: zipDeploy を指定した場合、AzureFunctionApp@1が気を利かせて WEBSITE_RUN_FROM_PACKAGE=1 を削除してくれるが、逆にterraform側からは設定しようとす るので、設定が振動し、原因となる挙動を特定しにくかった。 この辺りのベストプラクティスについて下記に記述がある: https://github.com/projectkudu/kudu/wiki/WEBSITE_RUN_FROM_PACKAGE-and- WEBSITE_CONTENTAZUREFILECONNECTIONSTRING-Best-Practices
  • 23. 23 © 2022 bitFlyer, Inc. terraform providerで○○が反映されない terraform-azurerm-provider (v2.99) で確認 Auto-swapが反映されない azurerm_function_app_slot site_config.*.auto_swap_slot_name Key Vault reference Identity IDが非対応 azurerm_function_app_slot key_vault_reference_identity_id
  • 24. 24 © 2022 bitFlyer, Inc. terraform providerで○○が反映されない terraform-azurerm-provider (v2.99) で確認 Deployment slot settings (Sticky slot settings)が非対応 azurerm_function_app azurerm_function_app_slot
  • 25. 25 © 2022 bitFlyer, Inc. terraform providerで○○が反映されない 対策 ARM Templateをterraformから使った ※ terraform-azurerm-provider (v3.x)で解決する場合もある
  • 26. 26 © 2022 bitFlyer, Inc. terraform providerで○○が反映されない ちなみに ARM Templateをterraformから使うのは、 循環参照をお手軽に回避したい場合に意外と便利。 「リソースを作る時点では確定しないattribute」を 参照するApp Settingsを設定したい場合など。
  • 27. 27 © 2022 bitFlyer, Inc. terraform applyでFunction消えた terraform-azurerm-provider (v2.x, v3.7.0) で確認 現象 terraform applyで更新をかけた後、Functionsのリストを見 に行くと空っぽになっている。 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING WEBSITE_CONTENTSHARE に設定された File sharesを見に行くと、 data/SitePackages以下が空になっていた。
  • 28. 28 © 2022 bitFlyer, Inc. terraform applyでFunction消えた 原因 複数slot構成だと、terraform providerがproduction slot側の WEBSITE_CONTENTAZUREFILECONNECTIONSTRING をstaging slot側の値へと勝手に書き換えてしまう。 対策 terraformのディレクトリを細分化して、影響範囲を小さく そのうちGitHub Issuesにあげるなどして解決をはかりた い
  • 29. 29 © 2022 bitFlyer, Inc. 付録: tips on Azure Functions TimerTriggerはApp Settings経由で設定すると、コード変更回 数を減らせる
  • 30. 30 © 2022 bitFlyer, Inc. 付録: tips on Azure Functions Functionの有効化をApp Settingsからオン/オフする App Settingsに AzureWebJobs.<FUNCTION_NAME>.Disabled={0,1} と記述
  • 31. 31 © 2022 bitFlyer, Inc. 付録: tips on Azure Functions Swap運用にした場合に、staging slotでTimerTriggerなどで処 理が走ってしまう staging slot側に設定したApp Settingsを判定してガード WEBAPPS_DEPLOY_SLOT_NAME = "deployslot1" 弊社ではbotがswap eventを拾って、自動でswap済みの slotを停止するようになっている
  • 32. 32 © 2022 bitFlyer, Inc. 付録: tips on Azure Functions Functionsのstorage周りで、terraformからは下記が正解 AzureWebJobsStorage Deployment slot settingにする WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 触らない WEBSITE_CONTENTSHARE 触らない
  • 33. 33 © 2022 bitFlyer, Inc. まとめ モノリシックな構成から生まれる課題を、 マネージド化+microservice化+IaC化の モダナイゼーションで解決 terraformは便利ではあるが providerの成熟度でDXが変わる 困ったらGitHubのIssuesやコードを見る
  • 34. 34 © 2022 bitFlyer, Inc. We’re hiring! https://bitflyer.com/recruit