2020年12月4日に開催された「Jenkins Day Japan 2020」の開催レポートを公開いたします。テクマトリックス社の顧客である株式会社デンソーの八木橋様やLaunchable, Inc. を設立した川口耕介氏など、多くのスピーカーが登壇いたしましたが、ここでは招待講演を中心にレポートします。なお、資料公開については準備でき次第、本ブログにてご案内する予定です。
招待講演 1
執事はまだ進化の過程に
~Jenkinsのこれまでとこれから~
Oleg Nenashev 氏
CloudBees Principal Software Engineer
Jenkins core maintainer and board member
Jenkinsのこれからに焦点を当て、プロジェクトのロードマップ、現在の取り組みと今後の取り組み、新機能を紹介します。
Olegさんは、Jenkinsのコアメンテナーであり、コミュニティ構築とアーキテクチャ変更の促進に注力しているプロジェクトボードメンバーです。CloudBees社のメンバーとしては、主要なオープンソースの取り組みとJenkinsベースの製品を担当しています。
Jenkinsで今後提供される機能については、ユーザーにとっては関心が高いと思います。今回はJenkinsのこれまでの歴史に加えて、今後のロードマップを示しながら具体的に解説してくれました。彼はJenkinsが広く受け入れられた理由として、拡張可能なフレームワークであり、ツールに依存しない汎用性にあると主張しています。すでに多くの開発環境に対応したプラグインが提供されていることに加え、カスタマイズ可能であることが多くの開発者の支持を得ているポイントです。こうした活動を支える重要な役割をJenkinsコミュニティとそのコントリビューターが担っており、大きな強みになっています。
また彼はJenkinsがいまも進化し続けていることを強く言っています。Pipeline as Code によりパイプライン定義をバージョン管理できるようになったり、ユーザーエクスペリエンスが強化されたり、つねに進化し続けています。Jenkinsコミュニティには多くの進行中のプロジェクトがあり、公開中のロードマップによって、その取り組みを知ることができます。セッション後半はそれらの注目すべき活動や新機能について解説していますので、2020年のJenkinsを知りたい方にはおすすめのセッションです。
招待講演 2
アメリカ式ソフトウェア開発方式
川口 耕介 氏 (Kohsuke Kawaguchi)
Launchable, Inc.
Co-CEO, Creator of Jenkins
長年の開発経験から得られた知見をまとめてアメリカ式のソフトウェア開発プロセスがどのように構築されているかを紹介します。
川口さんは2019年にソフトウェアテストの時間短縮を目的としたLaunchableを設立し、今年はLaunchable Japanを立ち上げました。Jenkinsプロジェクトの創始者、CloudBeesの創業者の一人である川口さんのご経験から、今回はアメリカ式のソフトウェア開発プロセスについて語っていただきました。
川口さんはアメリカにおけるソフトウェア開発の生産性向上の取組みが、日本ではあまり進んでいないという問題意識を持っています。それは何故かと考えたとき、ソフトウェア開発を文化と捉え、アメリカにはアメリカの、日本には日本のソフトウェア開発文化があるだろうという見方をすれば、一方の習慣だけを取り出して輸入してもうまくいかないと思うようになったとのことです。この点はアメリカサイズの自動車を輸入して日本で売れるかという例えにより、わかりやすく説明されています。異なるソフトウェア開発文化の存在を前提とし、ではアメリカのソフトウェア開発文化とはどういったものか、どういった背景をもとに文化ができあがったのかを理解することに意味があると説きます。テストの自動化やCI/CDといった投資はどういった合理性のもとに推進されるのか、特定の技術が注目されるには必然的な理由があるのだということが、とてもよく理解できます。お話はどんどん深まっていくわけですが、ここから先は皆さんの学びのためにご自身でご確認ください。
招待講演 3
CloudBees Jenkins 共有エージェントを利用したADAS認識における複数チームの共用評価環境
八木橋 清人 氏(YAGIHASHI KIYOTO)
株式会社デンソー
AD&ADAS技術1部
我々は従来の開発において各チームがそれぞれ演算リソースを確保し、独自の評価システムを構築している事でチーム間でリソースを共有することが困難でした。これを解消する手段を検討した結果採用したのがCloudBees Jenkins(CI)でした。我々が求めるテスト環境の要件からCJを採用した経緯、その立上げで直面した課題と現在実現している環境、今後CJに求める点についてを説明します。
八木橋さんは株式会社デンソーにおいて、ADASシステム開発における開発支援アプリケーションのソフト開発からECU評価ボードやロガーなどのハード開発、サーバインフラ整備に至るまで開発環境全般を整備する役割を担っています。本セッションではADAS技術とはなにか、どういう経緯でCloudBees CI の採用に至ったのかを説明していただきました。
自動運転技術はかなり身近な存在となりましたが、そこに含まれる「いつもの安心、もしもの安全」を支える機能がどのように開発されているのか、とてもわかりやすく解説されています。車両や標識、白線などの走行環境から得られる認識対象ごとにチームが存在し、それぞれ認識アルゴリズムの性能評価を行っています。この評価は分散並行して行う必要があり、このニーズとCloudBees CIのエージェント共有機能がマッチしました。また、クラウド環境を容易に使用できない複雑な開発環境に対応できたことも採用理由の一つとのことです。
CloudBees CIの特長を生かしたエージェント共有が実現できた一方、長時間におよぶ性能評価に対して各チームの要求に応える理想的なエージェント割り当てには課題が残っており、具体的な改善ポイントをいくつかご指摘いただきました。これらの貴重なフィードバックはCloudBees社と共同して改善に役立てていきたいと思います。
招待講演 4
パイプラインテンプレート:組織全体へのDevSecOpsの適用を可能にする方法
Steven Terrana 氏
Booz Allen Hamilton
Chief Engineer
ツールに依存しない再利用可能なパイプラインテンプレートを作成し、開発チームに適したツールを選択するために必要な柔軟性を与えながら、組織と開発チームという両端が同じ方向に向かい始める方法を学びます。
Stevenさんは、マイクロサービスベースのアーキテクチャやKubernetesの採用など、アメリカ連邦政府機関がDevSecOpsの原則を実装するのを支援しています。Jenkins Templating Engineの作者でもあるStevenさんは、企業全体でのDevSecOps採用を簡素化することに情熱を注いでいます。
彼はDevSecOpsを「ソフトウェア開発ライフサイクルのあらゆるステップにセキュリティを組み込むこと」と定義しています。このセッションでは、これを実現するために必要な6つのプラクティスについて解説しました。さらに、DevSecOpsを組織全体に適用するにあたり、重複した作業の存在といった課題を挙げました。解決策としては、プラクティスの標準化を行い組織に浸透させる必要がありますが、一方で各チームが採用する複数の技術スタックもサポートしなければなりません。
そこで彼は、Jenkins Templating Engineプラグインを使用して、ツールに依存しない再利用可能なパイプラインテンプレートを作成したのです。セッションではこのプラグインがどのような仕組みと構成で動くのかを詳しく説明しました。DevSecOpsに関心のある方だけでなく、Jenkinsをいろんなチームで使ってほしいけど、どうすれば効率的に利用を拡げられるかとお悩みの方にとって必聴セッションです。
招待講演 5
CloudBees Software Delivery Automationの紹介
Sunil Mavadia 氏
CloudBees, Inc.
Director, Global Solutions Architecture
Cloudbees SDA Suiteを使用すると、ソフトウェアデリバリのライフサイクルを最適化することで、イノベーションを迅速に推進することができます。
Sunilさんは、CloudBeesのグローバルソリューションアーキテクチャ担当ディレクターです。彼は、以前の会社でDevOpsやデジタルトランスフォーメーションプロジェクトを指揮した経験から、DevOpsの導入に深い知識と経験を持っています。
ソフトウェア・デリバリー・オートメーション(SDA)は新しいものではありません。しかし、組織の成長に伴ってチームやソフトウェアの開発規模が大きくなってくると、関連するツールや従うべきプロセス、コンプライアンスと相まって、リリース頻度が低下していくものだと説きます。DevOpsの文脈で言及される組織の分断だけでなく、こうしたソフトウェア開発における一連のリソースを最適化することは、イノベーションの加速に大きく寄与します。こうした最適化と安全かつ信頼性の高いデリバリーを実現するために、CloudBees SDA Suite がどのように役立つかをデモを交えて説明しました。
招待講演 6
CloudBees CIを使った、集中型エンタープライズJenkinsサービス構築へのPMIの道のり
Piotr Musial 氏
Philip Morris International
Manager IT - DevOps
PMIがソフトウェアエンジニアをサポートするグローバルサービスとしてCloudBees CIをどのように導入しているか、このコンセプトがDevOpsツールの包括的なポートフォリオにどのように適合しているかを学びます。
最後はフィリップモリス・インターナショナルからPiotrさんのセッション動画を配信しました。彼は、DevOpsプラクティスの構築と導入を担当しており、DevOpsツールチェーンの管理と実装で幅広い経験を持つ、経験豊富なテクニカルマネージャーです。
この動画は今年開催された DevOps World で発表された10分ほどのセッションですが、いわゆる野良Jenkins問題から、組織的なJenkins運用といった道のりとPiotrさんのチームによる支援内容が紹介されました。皆様にとっては、Jenkins利用を拡げていくにあたって、どんな情報やサポートが必要になるかを予想するのによい事例だと思います。
ご参加いただきありがとうございました
今年は初のオンライン開催となりましたが、みなさまのご協力により大きなトラブルもなく無事に終了いたしました。ご参加くださったみなさまより、開催形式や内容について貴重なご意見もいただきました。本当にありがとうございます。事務局としてはより一層の充実を目指して、新たな準備を開始してまいります。
裏側の話になりますが、今回は会議室に手作りスタジオを設置して配信していたのです。リハーサルと違う会議室で本番を迎えるなど、急ごしらえの設備を取り回してくれたスタッフには感謝しかありません。課題もたくさん見つかり、次回はより良い配信ができるぞという妙な自信もつきました(笑)。次回、この特設スタジオから事例など紹介したい方がいらっしゃれば、ぜひご連絡ください。お待ちしております。