$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AI時代のDevOps入門
Search
ディップ株式会社
PRO
October 06, 2025
Technology
0
120
AI時代のDevOps入門
ディップ株式会社
PRO
October 06, 2025
Tweet
Share
More Decks by ディップ株式会社
See All by ディップ株式会社
プロフェッショナルへの道:ビジネスを動かすエンジニアリング思想
dip_tech
PRO
0
29
ユーザーファーストを実現するためのチーム開発の工夫
dip_tech
PRO
0
20
1年目エンジニアが働いてみて感じたリアルな悩みと成長
dip_tech
PRO
0
34
ベイズマルチファクターモデルとbPCausal
dip_tech
PRO
0
18
【dip】「なりたい自分」に近づくための、「自分と向き合う」小さな振り返り
dip_tech
PRO
0
200
dip はたらこねっと におけるAI活用事例
dip_tech
PRO
0
39
_dip_ユーザーに価値を届けるための_コードレビュー___サービスレビュー_ワークショップ_.pdf
dip_tech
PRO
1
41
AI駆動開発によるDDDの実践
dip_tech
PRO
0
540
20年超レガシー「バイトル」をAI駆動で再設計!事業成長を実現するリアーキ戦略
dip_tech
PRO
1
200
Other Decks in Technology
See All in Technology
Jakarta Agentic AI Specification - Status and Future
reza_rahman
0
110
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
940
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
17
6.7k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
170
5分で知るMicrosoft Ignite
taiponrock
PRO
0
400
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
160
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.6k
品質のための共通認識
kakehashi
PRO
4
380
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
390
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Building Adaptive Systems
keathley
44
2.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
39
Un-Boring Meetings
codingconduct
0
160
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
Believing is Seeing
oripsolob
0
9
Designing Powerful Visuals for Engaging Learning
tmiket
0
180
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
390
Ruling the World: When Life Gets Gamed
codingconduct
0
91
Transcript
AI時代のDevOps入門 バックエンドチームがTerraformに 挑戦した実体験 奥野 志洋
奥野 志洋 おくの ゆきひろ ディップ株式会社 新卒2 年⽬ バックエンドエンジニアとして入社 スクラムで開発していく中で Next.js やTerraform
など別領域も 電車に乗らない人生に憧れ エンジニアを志す
Copyright © DIP Corporation, All rights reserved. 突然ですが、こんな経験ありませんか?
今回のスプリントで対応する PBIを実装する際には、インフラリソースの設定変更 (もしくは新たなリソースの作成)が必要だね アプリケーション開発チーム とあるスクラムチームにて、 、
アプリケーション開発チーム インフラチーム 作業依頼 とあるスクラムチームにて、 、
アプリケーション開発チーム インフラチーム 〜待機中〜 とあるスクラムチームにて、 、
アプリケーション開発チーム インフラチーム 作業完了 とあるスクラムチームにて、 、
アプリケーション開発チーム インフラチーム とあるスクラムチームにて、 、 自分でも設定変更できるけど、 インフラのリソースはインフラチームが 管理するものだから依頼して変えてもらうか インフラチームの作業待ちになって しまったぞ、 、
細かな依頼が多くて 本当にやりたい作業の時間が無くなる、 、 、 アプリケーション開発チーム インフラチーム とあるスクラムチームにて、 、 リソースをコード管理したいけど アプリケーションの仕様に依存するリソースが多くて
管理が難しい、もしくはできない、 、
アプリケーション開発チーム インフラチーム アプリケーション開発チーム アプリケーション開発チーム 複数のプロダクトを見ているケースだと更に深刻化
Copyright © DIP Corporation, All rights reserved. アプリケーションの開発チームが インフラリソースの設定変更すれば良いのでは?
Copyright © DIP Corporation, All rights reserved. でもIaC (Infrastructure as
Code) ってなんか難しそう、 、
Copyright © DIP Corporation, All rights reserved. 実体験を共有する事で皆さんのIac に対する ハードルを下げる20
分にします!!
01 02 03 04 05 IaC 、Terraform の基本 IaC 挑戦の背景
Agenda チームで実際に取り組んだこと 得られた成果、学び 今後の課題、展望
Copyright © DIP Corporation, All rights reserved. IaC 挑戦の背景
IaC挑戦の背景① : システムのリアーキテクチャ 複数のシステムが共通の DB 、 テーブル、レコードを 参照、更新 開発チームは利用者単位で分割 同様のロジックが各所に分散、
異なる業務のロジックが密結合 している状態
IaC挑戦の背景① : システムのリアーキテクチャ 一つの業務変更が 複数のチームに影響を与える 全チームで足並みを揃えて 矛盾が起きないように慎重に 開発するのが常態化 結果的に 開発生産性の低下や
障害へ繋がってしまっていた
IaC挑戦の背景① : システムのリアーキテクチャ DDD( ドメイン駆動設計) という設計思想を取り入れて 画面中心の設計から業務中心の設計へ DDD の話が気になる方は弊社のテックブログを参照! 僕もこの前、Go
でDDD やってる話で登壇したので後ほど、記事書きますのでぜひ
求人 IaC挑戦の背景① : システムのリアーキテクチャ DDD( ドメイン駆動設計) では業務を整理して 境界づけられたコンテキストという単位で分割する そして境界づけられたコンテキストはDB を別に持つ事や
結合度を下げる意図からイベント駆動を用いて連携する設計を選択しました 勤怠管理 振り込み 応募 承認 スキマバイトサービスのイベント連携例
IaC挑戦の背景① : システムのリアーキテクチャ イベント連携に使うインフラリソースは アプリケーションに依存するものが多い コミュニケーションコストを減らし、タスク待ちの状態を無くして リアーキのプロジェクトをスピード感高めて行うために 自分たちでIaC でインフラリソースを構築、管理していくことを定めた インフラリソースもコンテキスト単位のモジュールで分割して管理したい
↓
IaC挑戦の背景② : Everything as Codeの実現 Everything as Code プロジェクトに関連する全ての情報をアプリケーションの管理リポジトリ内 でAI
が読みやすい形式で管理すること 人間にしか無い暗黙知を無くし、AI に渡すコンテキストの質を高めて アウトプットの質、速度を高め生産性を上げていくという考え方
IaC挑戦の背景② : Everything as Codeの実現 アプリケーションのコードとインフラリソースのコードを 同じチームで管理することで 自然にEverything as Code
の恩恵を得ることができるのでは?
Copyright © DIP Corporation, All rights reserved. IaC 、Terraform の基本
IaC、Terraformの基本 : IaCのメリット 冪等性の実現 ・ミスの削減、工数の短縮化 手動操作によるインフラ設定を自動化 バージョン管理ツールでの管理 ・履歴の可視化。差分での管理が可能 ・操作を何度実行しても、その結果が常に同じになる性質 ・インフラコードの信頼性向上、定義をチーム間での共有可能
IaC、Terraformの基本 : Terraformとは インフラストラクチャをコードで管理するための オープンソースツール ・マルチクラウド対応 ・宣言型アプローチ ・HCL (HashiCorp Configuration
Language )
IaC、Terraformの基本 : 基本コマンド terraform init terraform fmt : 初期化コマンド :
フォーマット( エディタが自動で行う) terraform plan : ローカルとリモートの状態を比較 実際にどのような変更が適用されるかを表示 terraform apply : インフラに変更を適用 実行後にState ファイルが最新の状態に更新
IaC、Terraformの基本 : state state ファイル : 現在のAWS リソースの設定状態を 管理するファイル
AWS だとs3 に保存 apply apply
Copyright © DIP Corporation, All rights reserved. チームで実際に取り組んだこと
チームで実際に取り組んだこと : plan genによるコード生成 terraform plan -generate-config-out オプション Terraform 1.5
で追加された -generate-config-out オプション 使用することで、既存リソースの HCL を自動で生成することができる
チームで実際に取り組んだこと : plan genによるコード生成 import ブロック to : terraform 上で管理するためのリソース名
id : provider(aws) などの世界での識別ID import ブロックの定義方法は Registy に記載
チームで実際に取り組んだこと : plan genによるコード生成 1. 手動で開発環境にリソース作成 2. plan generate で自動コード生成
3. AI によってコードを整える( デフォルト値の省略) 4. モジュール化してリソースを一般化 都度、Registry を参照して 理解を深めるとともに 設定を最適化
チームで実際に取り組んだこと : AWSのキャッチアップ AWS の知識をスクラムチームでキャッチアップ AWS Black Belt Online Seminar
という公式が各リソースについて 説明する動画を視聴する時間をスプリント内で設定
チームで実際に取り組んだこと : CICDの構築 リソースの変更計画をGitHub 上で確認可能 不慣れな領域かつ他チームから見てもらうので レビュー・コミュニケーションのコストを下げたかった PR の作成時にterraform plan
の結果を自動でコメントするワークフローの作成 レビューで承認されPR がマージされたらブランチに応じて各環境へ自動apply
チームで実際に取り組んだこと : Everything as code 同一リポジトリでプロジェクトに関連するコードを格納 ・各マイクロサービスのコード ・Terraform などのIaC コード
・ドメイン知識を記載しているドキュメント 生成AI に渡すコンテキストの質を向上させる アプリケーションのコードとインフラのコードを同じリポジトリで 管理することによるメリットも感じた
チームで実際に取り組んだこと : Everything as code 具体例 : Eventbridge のtarget 入力トランスフォーマーという
イベントモデルに格納されている 値を変換してターゲットに渡す定義 アプリケーションの処理に 依存する定義内容
チームで実際に取り組んだこと : Everything as code 具体例 : API GateWay API
のIF を定義するopenAPI のyaml を body に渡すことで管理、更新の手間を削減
チームで実際に取り組んだこと : コミュニケーションの変化 インフラチームの方にプランニングに参加してもらう ただ、依頼するといった関係性ではなく スクラムイベントの中で自然とコミュニケーションの増加 また、 アプリケーションの開発チームもAWS の知識を今よりも 獲得していくことでより本質的な議論、相談ができるように
Copyright © DIP Corporation, All rights reserved. 得られた成果・気づき
得られた成果・気づき terraform plan -generate-config-out オプションによる コード生成フロー もちろん、最初に開発環境に手動で構築したものを基にするため IaC の良さと相反する要素もある しかし、最初のキャッチアップとしては効率の良いフローだと感じました
生成されたものをRegistry などで調べながら実装していくことで AWS やTerraform のキャッチアップをしつつ、リソースを構築、IaC 化を 効率良く勧められていることを実感できた
得られた成果・気づき 開発メンバーのスキル向上 AWS の知識のキャッチアップを進んだことで リアーキテクチャをしていく際にもAWS のリソースを含めた構成の設計など より本質的な議論ができるようになったと感じました 領域による縦割りではなく、スクラムチームとして機能横断的なチームへと 成長をしていくことができた
得られた成果・気づき Everything as Code による同一リポジトリでコード管理 DDD の性質上、アプリケーションロジックや境界づけられたコンテキスト といった知識に依存するインフラリソースに関する定義の効率化に成功した AI へのインプットの質を高めてより良いアウトプットを期待していたが
それだけでなく、人間にとっても認知負荷を下げることにつながった
得られた成果・気づき インフラメンバーとのコミュニケーションの変化 それまではお互いから何か依頼ごとがあればコミュニケーションをとる形 今回の取り組みによって課題解決のために今よりも深いコミュニケーションを とって連携ができているように感じた
Copyright © DIP Corporation, All rights reserved. 今後の展望・課題
今後の展望・課題 本番環境にデプロイした後の運用、管理 まだ、リアーキテクチャをしている途中で本番環境にデプロイできていない 今後、デプロイした後にどのように運用、管理をするかというイメージが 自分の中で言語化できていない インフラのチームにコミュニケーションをとって 構築したリソースを本番環境にデプロイ後にどのような業務をしているのか 聞いてみるところから始める
今後の展望・課題 リソース管理の最適化 まだ、最適な構成でリソースやモジュールの管理が出来てはいないと思う ここもインフラチームにコミュニケーションを密にとってキャッチアップして 構成を進化させていきたい 今だとterragrunt 気になっている
今後の展望・課題 作業の分担が難しい state で管理するといった性質上、アプリケーションのコードのように 複数人での分担や並行でタスクを進めていくことが難しい 細かい単位でPR を出して細かい単位でapply していくといった方針で plan 結果を細かい単位で反映し、タスクを分割できる状態に整理する
モジュール管理やstate の単位を適切な範囲で行うよう構成を進化させていきたい
今後の展望・課題 ポイントの見積もり精度 まだまだ不慣れな領域のため、見積もりの精度が悪い 難しそう、時間がかかりそうと言った所感で見積もったが、 意外とすぐ終わってしまったというケースが多く、ベロシティがブレてしまった ただ、うまく見積もれていないということに気づけていることはプラス
今後の展望・課題 組織の取り組みの展開、文化の醸成 今回のような取り組みを組織へ展開、共有することで 領域による縦割りの体制からよりアジャイルな組織へと進化していけると 感じた そのために、組織へ取り組みを展開することで 領域に関係なく開発組織全体がDevOps としてワンチームで同じ方向に向いてい けるキッカケになればと良いなと思う
Copyright © DIP Corporation, All rights reserved. ご清聴ありがとうございました! 少しでもIaC のハードルが下がっていれば幸いです!