はじめに
こんにちは。LINE株式会社のSET(Software Engineer in Test)の伊藤 宏幸(Hiroyuki Ito)です。
この度、台湾で開催されたDevOps Days Taipei 2019に、チームメイトの高橋 勲(Isao Takahashi)と共に登壇する機会をいただきました。
この記事では、同イベントについてレポートいたします。
DevOps Days Taipeiとは?
毎年台湾で開催されている、DevOpsをテーマとしたグローバルカンファレンスです。今回も、我々を含めて10名前後の外国人が登壇しました。
私が2016年にキーノートスピーカーとして登壇させていただいた、DevOps Summitの後継イベントとなります。
今回は、日本で2017年から開催されているDevOps Days Tokyoとのコラボ企画として、DevOps Days Tokyoの運営委員および過去の登壇者とともに招聘を受けました。
※ちなみに、こちらがDevOps Days Tokyo 2018での私の発表スライドになります。
同イベントは、先日弊社の横道 稔が登壇したAgile Summit 2019と同じ会社・組織が運営しており、何か縁を感じます。
https://engineering.linecorp.com/ja/blog/agile-summit-2019-taiwan-report/
※ちなみに今回、横道が台湾に輸出したとされる「Fun/Done/Learn」が、このような形で会場に用意されていました。
ちなみに会場はこちら。2016年のDevOps Summit、横道が登壇したAgile Summit 2019と全く同じ会場で、カンファレンス会場として有名なところのようです。
今回は10/16(水)-18(金)の3日間の開催で、16日はOST(オープン・スペース・テクノロジー)、17・18日はセッションおよびワークショップという構成でした。
10/16(水):OST(オープン・スペース・テクノロジー)
OST(オープン・スペース・テクノロジー)とは、以下のような、近年国内外の多くのカンファレンス・技術系イベントで採用されている手法です。
- 参加者が、自身が話したいテーマ・トピックを提案する
- 提案が複数集まった時点で、参加者たちが興味のあるテーマ・トピックごとに集まって議論を行う(今回は30分)
- 参加者は、議論への途中参加・離脱が自由
自発的に自由な議論を行える点、スピーカーでなくても提案・発信ができる点が特徴です。
今回、スタッフの勧めもあり、『How QA contribute to Microservices/DevOps?』(英語限定)を提案してみたところ、20名以上の方が集まり、思いのほか熱い議論になりました。
※ちなみに他には、「DevOpsにアジャイルは必要か?」、「DevOpsにおけるドキュメントの位置付け」といったテーマがあがっていました。
以下、私たちの議論のポイントを簡潔に整理します。
- マイクロサービスは、クライアント経由でのエンドツーエンドテストで、リリース前に全てのバグを検知・解決することが非現実的。
- マイクロサービスでは、各サービスが独立して開発・リリースすることができる。
- 結果、マイクロサービスの連携部分(Integration Point)である日突然障害が発生するのがふつう。
- マイクロサービスおよびDevOpsを推進していくと、QAの役割が不要になってしまわないか? QAのキャリアはどうなるのか?
- プロダクトマネージャーや開発者に対して、テスト設計・手法などを教える需要があるのでは?
- Developer Testing(開発者によるテスト)でAPIをプログラム的にテストした方が、バグ・障害の検知・解決に有効。そのためのコーチングに特化するのはありかも。
- 障害が発生することを避けることはもちろん重要だが、障害の発生を迅速に検知して解決することにより注力する方が現実的ではないか?
- 書籍『ACCELERATE』の「4 Key Metrics」(Lead Time・Release Frequency・MTTR・Change Failure Rate)にフォーカスしたアプローチが有効そう。
- リリースの容易化と迅速な障害回復とを組み合わせることで、結果「品質保証」にならないか?
上記の通り、とても30分で収まるような議論にはならず、結果としてカンファレンスの終了まで、多くの方たちと議論を続けることになりました。
10/17(木):Learning Sessionのハンズオン
初日の議論の応酬とはうって変わり、2日目は『Learning Session in Practice - Learn what you want together with Mob Programming way』と題して、以前このブログでも紹介させていただいた「Learning Session」を、参加者の皆さんと一緒にやってみました。
このハンズオンは、参加者たちから「この場で他の参加者たちといっしょに学習したいテーマ」を募り、それをモブプログラミングの形式で学習することを目的としていました。
今回、参加者たちから挙がったテーマは、次の4つでした。
- Continuous Integration
- Kubernetes
- Service Mesh
- Karate(API Testingフレームワーク、後述)
チューターとして参加されていたDevOps Days Tokyoの各メンバーの専門領域とも合致したため、彼らの協力を仰ぎつつ、4つのチームに分かれて学習を行いました。
※ちなみに私は、Service Meshのチームを担当しました。
成果としては、Continuous Integrationチームがビルドパイプラインを構築、Service MeshチームがIstioをインストールするところまで実施できました。
10/18(金):Karateフレームワークを活用したプロセス改善事例の紹介
最終日の最後の枠で、我々SETチームがAPI TestingフレームワークのKarateを活用して大きな成果をあげた事例を紹介させていただきました。
「En」は英語の意味。
高橋が主導した事例なので、トークも高橋メインで。
Karateのライブコーディングもさせていただきました!
高橋は、技術力の高さもさることながら、この事例で多くのプロセス上の課題発見と解決を主導し、「自動化技術とアジャイルプラクティスの両輪でプロダクト開発チームを成長させる」というSETのミッションを体現してくれました。
ちなみに高橋にとっては、今回が初めての海外での英語講演でしたが、実に堂々と、自身の発見と貢献を説明してくれました。
参加して気が付いたこと
- DevOpsをめぐる課題認識は、日本も台湾も同じでした。
- DevOpsとAgileとの区別・違いが、相変わらず議論となっていました。
一方で、私が前回登壇した2016年と比較して、台湾人のアジャイルコーチ・実践者が増えたため、より具体的な議論に発展していたことは面白かったです。 - このカンファレンスは、日本人にとって、英語で安心して講演・発信ができるチャンスかもしれません。
(おまけ)ギャラリー
書籍
Kubernetesの書籍が、非常に多かったです。
現在日本で人気沸騰中の、『レガシーコードからの脱却』の中国語版を発見!
付箋が可愛い。日本での販売を切望。
最後に
「台湾だけではなく日本でもやれ!」という声にお答えしまして、以下の予定で、日本国内でも同様のテーマの講演・ハンズオンをさせていただきます。
- LINE DEVELOPER DAY 2019(11/20-21)
- システムテスト自動化カンファレンス2019(11/30)
- 『Karateによる開発プロセス改善の事例と、Zipkinと連携したマイクロサービスの障害点検知の仕組み』(講演・高橋)
皆さま、ぜひふるってご参加ください!