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
入社して3年間で『Rundeck』を使って自動化した「面倒」な作業たち / 20220302-...
Search
Rakus_Dev
March 08, 2022
Technology
0
3k
入社して3年間で『Rundeck』を使って自動化した「面倒」な作業たち / 20220302-meetup-kanamori
Rakus_Dev
March 08, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
『楽楽電子保存』開発チームが挑む「AI駆動開発」の全貌 / rakustechcon2025-rakurakudenshihozon
rakus_dev
1
190
数字と感情で語るスクラム導入効果。『楽楽勤怠』開発チームの変革の軌跡 / rakustechcon2025-rakurakukintai
rakus_dev
0
200
分割と統合で学んだサイロ突破術—『楽楽販売』開発組織10年の軌跡と持続的成長の仕組み / rakustechcon2025-rakurakuhanbai
rakus_dev
0
180
『メールディーラー』へのAI機能実装─"20年"の歴史を持つ製品への導入プロセス / rakustechcon2025-maildealer
rakus_dev
0
190
新サービス『楽楽請求』!何を作るかより"なぜ作るか" 顧客価値から逆算する開発現場のリアル / rakustechcon2025-rakurakuseikyu
rakus_dev
0
190
なぜ、成熟市場で"売上120%成長"を続けられるのか?『配配メール』の顧客志向型プロダクト開発戦略 / rakustechcon2025-haihaimail
rakus_dev
0
180
『楽楽精算』15年の進化と未来への挑戦 〜経理の"楽"から、すべての働く人の"楽"へ〜 / rakustechcon2025-rakurakuseisan
rakus_dev
0
200
AI時代にプロダクトマネジメントは必要だけどプロダクトマネージャーは役割として必要なのだろうか? / Product Management in the Age of AI
rakus_dev
0
96
AIは精算業務をどう変える? 自律型エージェントが実現する未来のワークフロー / RAKUS AI Meetup-1
rakus_dev
0
670
Other Decks in Technology
See All in Technology
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
560
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
Claude Codeは仕様駆動の夢を見ない
gotalab555
23
6.5k
Serverless Meetup #21
yoshidashingo
1
120
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
1
1.3k
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
9
2.2k
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
370
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
700
Intro to Software Startups: Spring 2025
arnabdotorg
0
250
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
1
520
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
280
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
27
13k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Scaling GitHub
holman
461
140k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Writing Fast Ruby
sferik
628
62k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Optimizing for Happiness
mojombo
379
70k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Transcript
#RAKUSMeetup ©2022 RAKUS Co., Ltd. ©2022 RAKUS Co., Ltd. 入社して3年間で
『Rundeck』を使って自動化した 「面倒」な作業たち 株式会社ラクス インフラ開発部 金森聖人
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 自己紹介 金森聖人(かなもり まさと) ▪経歴 2015年
静岡県から上京 2019年 某工業系大学 夜間学部卒業 同年 株式会社ラクス入社 研修後 インフラ開発部に配属 2020年 「楽楽販売」インフラチーム配属 ▪趣味 音楽 遊戯王マスターデュエル FPS(Valorant Apexは難しい)
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」な作業
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」な作業 ▪なぜ「面倒」と感じるのか ・同じような作業の繰り返し ・実施する頻度が多い ・失敗した場合のリスクが大きい
・時間が掛かる ・作業自体にプレッシャー…
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」な作業 ▪なぜ「面倒」と感じるのか ・同じような作業の繰り返し ・実施する頻度が多い ・失敗した場合のリスクが大きい
・時間が掛かる ・作業自体にプレッシャー… 自動化しよ
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」を解消する会社 ◦楽楽精算 楽楽明細 楽楽販売 楽楽勤怠…etc
→ 企業を運営する上での「面倒」を解消するツール! ◦社内の風潮的にも… → 生産性を上げたい!効率的に仕事をしたい!というマインド
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 新卒入社1年目から自動化 これやって みようか! 承知! ・新卒研修は開発もインフラも一緒にプ
ログラミング言語でアプリを作る研修をし てた ・インフラ配属後もスクリプト系の研修が あった → ある程度認められた(?)ため配属初期 から自動化の一部に携わることに 配属2カ月後くらいのある日
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 『Rundeck』を使おう ▪Rundeckとは ・コミュニティ版を無料で利用可能 ・ssh経由でJOBを実行できるツール ・エージェントレス
・コマンドやスクリプトの実行が可能 ・JOBデータのgit管理可能 ・管理対象のサーバを登録可能 タグ管理可能 ・定期実行可能(cron表記もOK)
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- rundeck サーバ1 サーバ2
サーバ3 サーバ4 サーバ5 サーバ6 ▪ssh経由でJOBを実行できるツール ▪エージェントレス ・公開鍵認証 ・パスワード登録 等 ssh経由でJOBを実行するため、 クライアント側への特別な設定や エージェントのインストールが不要! →・クライアント側の設定変更が軽微 ・22番portでの通信のため ネットワーク関連設定も必要なし ssh ssh ssh ssh ssh ssh
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- ▪管理対象のサーバを登録可能 タグ管理可能 ・JOBを実行するサーバをyaml,xml形式でファイルに記
載することで実行先の登録が可能 →実行ごとに対象の情報を 入力する必要なし ・登録したサーバ情報にタグを付与可能 → 全ての〇〇サーバで情報取得! みたいなパターンが一撃で完了! rundeck サーバ1 (service) サーバ2 (service) サーバ3 (management) サーバ4 (service) サーバ5 (management) サーバ6 (service) [service]のタグを持ったサー バにだけ実行!
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- ▪コマンドやスクリプトの実行が可能 ▪JOBデータのgit管理可能 ・実行できる内容はコマンド、スクリプトからansible
までと多岐にわたる。 ・ツール独自の記載方法等も少ない →導入ハードルが低い! rundeck サーバ1 (service) サーバ2 (service) サーバ3 (management) サーバ4 (service) サーバ5 (management) サーバ6 (service) command script ansible ansible script command
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- ▪定期実行可能(cron表記もOK) ・作成したJOBの定期実行・時間指定可能 →
スクリプトファイルをサーバごとに配布する必要 なし! → サーバ上のcron,crontabからの脱却! rundeck サーバ1 (service) サーバ2 (service) サーバ3 (management) サーバ4 (service) サーバ5 (management) サーバ6 (service) AM2時にJOB_A実行! AM8時にJOB_B実行!
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと •サービス用サーバ構築 •サーバ正常性チェック •サーバからの一括情報取得 •リリース作業の一部
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと ▪サービス用サーバ構築,サーバ正常性チェック <従来> ・構築対象サーバ上で手順書通りに構築作業 ・構築用スクリプトを実行
・複数の管理系サーバに設定追加作業 ・構築後には100項目くらいのチェックシート! → 手動作業がおおい! → 時間が掛かる → 1つのミスで顧客影響の可能性 <自動化後> ・WebUIに変数を入力して実行ボタンを押すだけ ・管理系サーバへの設定追加もまとめて実行 ・構築後にはチェックまで実行 → 実行した後は結果を待っているだけ → 実行中は手が空く → JOB化しているので品質が均一に PC サーバ サーバ サーバ サーバ Rundeck サーバ サーバ サーバ サーバ PC
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと ▪サーバからの一括情報取得,リリース作業の一部 <従来> ・ひたすらssh&スクリプト実行! →
パスワード入力が毎回発生する → 直列にしか作業不可能 → 実行対象ミスの恐怖 <自動化後> ・rundeckサーバから一括実行! ・時間指定,定期実行可能なため →サーバ構築時に接続経路は確保済み →並列実行OK → tag機能で実行対象ミスをしずらい → 作業漏れ防止! PC サーバ サーバ サーバ サーバ Rundeck サーバ サーバ サーバ サーバ PC
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと ▪Rundeckの導入により削減された時間 ・サービス機構築 <従来> 1サーバ60分程度の工数
<自動化後> 1サーバ20分程度の工数 JOB作成から2年間で約400台の構築をしたので… (60分-20分)×400台=16,000分≒266.6時間の削減に成功!
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckを使って感じたデメリット
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckを使って感じたデメリット ・JOBフローが図として展開されないため感覚的に掴みにくい ・一部のnodeのみ実行失敗した場合のリトライがしにくい ・Rundeckサーバ自体がダウンした場合に影響が大きい ・実行ログをしっかりとるためにスクリプト内でロギングが必要
・実行ログがたまり続けるため定期削除が必要 ・データベースがデフォルトでH2なため導入時には別のDBを組み合わせた ほうが管理しやすそう
#RAKUSMeetup ©2022 RAKUS Co., Ltd. まとめ
#RAKUSMeetup ©2022 RAKUS Co., Ltd. まとめ ・「面倒」な作業は自動化を進めよう! ・自動化の選択肢としてRundeck! ・ssh経由!設定変更軽微特定サーバのみ実行! ・Rundeckサーバ自体が落ちたら…
JOBフロー図は無い… ・浮いた時間は別の作業の自動化に使いたい