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への再指示を抑える要件、設計、デザイン等のモバイル開発コンテキストの渡し方
rakus_dev
0
110
モバイルアプリ向けに開発したAPIをMCP化したら便利そうだった / mobiletechcafe20250902-2
rakus_dev
0
100
AIによるAndroidアプリのモダン化 / mobiletechcafe20250902-3
rakus_dev
0
110
iOSアプリからMCPツールを使う / mobiletechcafe20250902-4
rakus_dev
0
100
Claude Code × FastAPI-MCP モバイル技術記事の自動作成 / mobiletechcafe20250902-5
rakus_dev
0
110
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
300
【TECH PLAY Product Management Conference】AI時代にどんなPdMが求められているのか? 〜私たちが見てきたリアルから考える〜 / techplay-pdmconf-ai
rakus_dev
0
300
『楽楽電子保存』開発チームが挑む「AI駆動開発」の全貌 / rakustechcon2025-rakurakudenshihozon
rakus_dev
2
800
数字と感情で語るスクラム導入効果。『楽楽勤怠』開発チームの変革の軌跡 / rakustechcon2025-rakurakukintai
rakus_dev
1
780
Other Decks in Technology
See All in Technology
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
110
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
450
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
250
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
410
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
260
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
2025年夏 コーディングエージェントを統べる者
nwiizo
0
170
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.4k
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
110
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Pragmatic Product Professional
lauravandoore
36
6.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Code Review Best Practice
trishagee
70
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Balancing Empowerment & Direction
lara
3
620
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フロー図は無い… ・浮いた時間は別の作業の自動化に使いたい