Kata Containers
Kata Containersは、コンテナの軽量さと、VMのような高い分離レベルを兼ね備えた新しいコンテナ実装を実現する開発プロジェクトです。2017年12月にOpenStack Foundationの開発プロジェクトとして設立され、現在も開発が進められています。
従来のコンテナ実装では、ホストOSのカーネルを各コンテナで共有する仕組みのため、同一ホスト上で起動しているコンテナ間の負荷の影響やセキュリティリスクが課題となります。Kata Containersプロジェクトでは、コンテナごとに軽量のVMを作成し、各コンテナをVM上で動作させることによって、VMと同等の高い分離レベルと高速な起動を実現しています。コンテナとVMの両方の利点を兼ね備えるため、Isolation(分離レベル)とSpeed(起動速度)をマトリクスにプロットすると、以下のとおり表すことができます(右上がKata Containers)。

2018年11月時点でリリースされている最新バージョンはKata Containers 1.3であり、プロジェクトでは現在Kata Containers 1.4に向けて開発を行っています。Kata Containers 1.4では、ログ記録機能の改善や、(レガシーなハードウェアエミュレーションを除去し高速された)NEMUハイパーバイザーのサポートなどが追加される予定です。
Zuul
Zuulは、プロジェクトの既存コードを変更しようとするときのマージ・ビルド、テストの工程を自動化する試験システムです。Zuulを利用することでOpenStackのような複数プロジェクトにまたがった複雑なソースコードからなるプロジェクトのCI/CDを実施できるようになります。従来、ZuulはOpenStackのために開発されてきましたが、現在はOpenStackだけではなく幅広いユーザにより採用されソフトウェア開発のCI/CDに利用されています。2018年11月にバージョン3.3にリリースされました。
本サミットでは、ZuulのメンテナーであるMontyTaylor氏より主なZuulの最新機能が発表されました。
supercedent pipeline managerの導入
新しいパイプラインマネージャー"supercedent pipeline manager"が新規に追加されました。この機能により最新バージョンのみをビルドしたい場合に、中間バージョンのビルドが不要となり、大幅に構築リソースの低減が可能になるとのことです。
ジョブの一時停止
ジョブのグラフ機能において、ジョブを一時停止して、リソースを編集し、再実行するといった操作が可能になりました。
Webダッシュボードが Reactで書き直された
ZuulのWebダッシュボードがReactライブラリを使用して書き直されました。これによりブラウザのリソースを大幅に節約できるようになったそうです。現在も開発が進められていますが、将来的には携帯端末上で動作できるとのことです。

Zuulの事例紹介
KeynoteセッションではBMWのTobias氏が登壇し、BMW社内の自動運転に関するプロジェクトでのZuulの有用性や利用目的について発表していました。
自動運転を実現するためには、複雑なソフトウェアスタックの開発が求められます。セキュリティや安全性は必須の要件で、そのほかさまざまな状況に対応するため大量のシミュレーションを行う必要があるそうです。単体テストや結合テストを実施するだけでは十分ではなく、100万キロメートルに及ぶシミュレーション走行を実施する必要があります。そのためには並列実行、海外を含めたサプライヤーや外部・内部のプロジェクト関係者による共同でのソフトウェア開発が必要になってくるとのことです。

Tobis氏が特に強調していたのは、ソフトウェア開発の門番としての役割を果たすZuulの機能です。一般的に規模の大きなソフトウェア開発の生産性は、開発者数が増えてもコードをマージするコストが上がってしまい、スケールが難しいと言われています。しかしZuulを利用することで、壊れたコードがマージされることを未然に防ぐことができ、これによりソフトウェア開発のプロセスを劇的に改善できると説明していました。
