こんにちは。金谷です。 2021年12月10日に行われました、Jenkins Day Japan 2021に登壇させていただいた報告です。
本ブログにご訪問いただきました テクマトリックス株式会社 の方にお声がけいただいたことがきっかけで、登壇、講演させていただくことになりました。 改めまして、貴重な機会をいただき、ありがとうございました。
登壇のために資料作りをしたのですが、 Software Design連載 の中であまり語られていないJenkinsまわりの話をまとめることができたことも良かったと思っています。
発表資料
発表資料はこちらです。
www.slideshare.net
スライドを通してお伝えしたいポイントを3行にすると下記になります。
- ビジネスと組織の成長のために脱・人力が必要
- Jenkinsfile + マルチブランチパイプライン + コンテナ構成は便利でオススメ
- Jenkins活用によりエンジニア組織の成長もできた
モノタロウにおけるJenkinsの活用事例を、多くの図やコードで公開しています。ぜひご覧ください。
レポート
Jenkins Day Japan 2021事務局の発表によりますと、イベント全体の参加者は257名とのことです。 私の発表に参加いただいた方の人数は分からないのですが、発表に対するアンケートは95名からいただきまして、そのうち「非常に参考になった」の割合が71%とのことでした。 私としても、モノタロウでのJenkinsの活用方法が皆様の参考になれば良いなと思っていたので、参考になっていただけたようで良かったです。
嬉しいコメントもいただきましたので、引用させていただきます。
他社のJenkinsの活用事例を知ることができたのが良かったです。とくにモノタロウ様の事例において、Jenkinsを導入したことがビジネスの結果に表れていることで、説得⼒のある講演だったと思います。Jenkinsを導入したことでエンジニアの士気が上がったというレバレッジ効果についても、聞いていて良いなあと思いました。わたし自身はまだ本格的にJenkinsなどのCI/CDツールを導入するという⽴場にはありませんが、いつかそのような状況になったときには、今回お聞きしたことを思い出して、対応するようにしたいと思います。ありがとうございました。
おまけ (講演で話せなかったこと)
ジョブ設計の話とソフトウェア設計の関連性
下記のスライドに書いた、ワークフロージョブとタスク実行ジョブの話を書きました。
ジョブの名前は発表用に付けたのですが、実は同じような概念が、 ライティングソフトウェア *1という本に書かれています。 ビジネスロジック層を実装する際に、「マネージャー」と「エンジン」という名前の2つのコンポーネントが現れます。 マネージャーはシーケンスの変動性をカプセル化し、エンジンはアクティビティの変動性をカプセル化する、と書かれているのですが、 実はワークフロージョブとタスク実行ジョブの考え方は、上記のマネージャー、エンジンと同じ考えになっています。 ライティングソフトウェアを読んで、共通性を見出して驚いたことを、今も覚えています。ワイやるやん。
発表後の質疑応答について
発表後の質疑応答にて、「自動化の仕組みを経営層が理解してくれません」と言う質問と言いますか相談がありました。
質問を聞いて最初に発した言葉が「経営層の方って、会社をもっと良くしたいと思ってるはずなんですよね」という発言から始めたことに、実は自分自身がすごく驚いていました。 ちょっと前の自分なら、「そんなんほっといてゲリラ的に入れたれ!実績が付いてきたら認めるやろ!」って回答したと思います…。
自分自身に驚きつつも、続けて「ただ経営層の方は、Jenkinsという謎の技術を入れることでなぜ会社が良くなるのかが分からないだけなのだと思います。 現状がこうで、理想はこういう状態で、間にあるギャップが何で、Jenkinsでどのようにギャップを埋めるのかという話を、数値を交えて説明すれば伝わるかもしれないですね」的な回答をしたと思います。
勝手にボトムアップで始める方法もありだと思いますが、会社からの支援を受けながら実現できる方がお互いハッピーだと思います。 うまく説明して、会社の支援を受けながら進められるといいですね。
運用周り
色々あります。特に運用周りですね。3つのJenkinsをどのように運用しているのか?リソース管理どうしてるのか?などなど、苦しい話は話していません。 またJenkins運用に関しては記事化しようと思います。
今後の話とエンジニア募集について
現在は エリート DevOps チームであることを Four Keys プロジェクトで確認する(転載元:Google Cloud Blog) の数値指標を計測し、 デプロイ頻度向上とリードタイム削減を目的としたデプロイ方法の実装を進めています。 また合わせて、デプロイ作業に関わる多くのトイルを削減・撲滅させるための自動化も進めています。
モノタロウのサイト開発には、まだまだ多くの自動化すべき領域があります。 私のような自動化大好きエンジニアも引き続きサイト開発を自動化していますが、一緒に自動化を進めてくれるSRE/DevOpsエンジニアも募集しています。 カジュアル面談も実施していますので、ご興味がありましたら、ぜひ カジュアルMTG登録フォーム よりご応募ください!
言及している資料
- 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか
- 第2回 Software Design連載 2021年9月号 「テストが無い」からの脱却
- 第3回 Software Design連載 2021年10月号 スナップショットテストの可能性を追求する
- 第4回 Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する
*1:ライティングソフトウェアJuval Löwy 著 翔泳社