連載 [第1回] :
  KubeCon China 2019レポート

KubeCon China開催。DPDKとCI/CDのプレカンファレンスを紹介

2019年8月20日(火)
松下 康之 - Yasuyuki Matsushita
2019年6月にKubeCon China 2019が上海で開催。初日はプレカンファレンスとして多くのミニカンファレンスが開催された。

KubeCon/CloudNativeCon/Open Source Summit China 2019(以下、KubeCon China)が中国、上海で開催された。カンファレンス全体のスケジュールだが、2019年6月24日はプレカンファレンスとしてさまざまなプロジェクトが個別のミニカンファレンスを実施し、翌25日から26日の午後までが本来の会期となった。実際には24日の夕刻から最初のキーノートが始まっており、実質2日間のカンファレンスとなった。参加者は公式の発表で3500名ということだったが、体感的にはもっと少ない人数だったように思える。

今回は24日に行われたプレカンファレンスのうち、DPDKとCD.Foundationが主催した2つのプレカンファレンスの中のセッションを紹介する。

DPDKのプレカンファレンス

DPDK(Data Plane Development Kit)はLinux FoundationのメンバープロジェクトとしてDPDK.orgが管理するオープンソースソフトウェアで、元はIntelが開発したソフトウェア開発キットである。ユーザーモードのアプリケーションから、カーネルによるコンテキストスイッチを経て物理的なNICにデータを入出力するまでの処理を高速化するために利用される。物理サーバーから仮想化を経てコンテナベースのアプリケーションにシフトしていく中で、サーバー間のデータ通信はどうしても物理NICに頼ることが必要になるが、その際のカーネル内の処理を高速化することで、全体のスループットを上げようという試みだ。また実際のユースケースでは、暗号化/復号やパケット検査などにも利用されるという。

KubeCon Chinaで行われたプレカンファレンスの冒頭で、DPDK.orgのガバニングボードのチェアを務めるJim St. Leger氏がオーバービューとなる解説を行った。Leger氏は、Intelのソフトウェアプロダクトマーケティンググループのディレクターでもある。

プレゼンテーションを行うIntelのLeger氏

プレゼンテーションを行うIntelのLeger氏

Leger氏は2019年6月に東京都内で実施されたDPDKのトレーニングセッションのために来日し、ThinkITでもインタビューを行った。

参考:ネットワーク高速化のDPDKのメンテナーにインタビュー。日本での認知拡大を目指す

DPDKが多くのメディアで取り上げられていることを紹介

DPDKが多くのメディアで取り上げられていることを紹介

Leger氏はDPDKが多くのメディアで取り上げられ、Intel、ARM、Marvellなどのプロセッサベンダーだけではなく、Red Hat、F5、ZTEなどがファウンデーションに参加していることを紹介した。Leger氏がこのセッションで主張したかったことは、以下のスライドに凝縮されていると思われる。

中国でも多くのユーザーがいることを強調

中国でも多くのユーザーがいることを強調

Alibaba CloudやTencent、Baidu、JD.com、DiDiなどのインターネット関連ベンダーだけではなく、China Telecom、China Mobileなどにもユーザーが拡大しており、中国でもさらにDPDKを拡大していきたいという意欲を感じさせる内容だ。

またDPDKが、他のオープンソースプロジェクトにも組み込まれる形で利用されているということを解説するのが次のスライドだ。

他のオープンソースプロジェクトでも使われるDPDK

他のオープンソースプロジェクトでも使われるDPDK

仮想スイッチや仮想ルーターなどのネットワーク系ソフトウェアだけではなく、各種Linuxディストリビューション、エンタープライズでは必須と思われるWindowsのサポート、さらにストレージの高速化のためのSDKであるSPDK(Storage Performance Development Kit)の中でも使われていることを紹介。DPDKの機能を使ってデータの圧縮を行うことで、ストレージにおいても高速化が可能だということだ。

DPDKのリリースの歴史

DPDKのリリースの歴史

またDPDKのリリースについて過去の歴史を紹介した。すでに20以上のリリースを重ねており、Intel以外のプロセッサ、特にARMもサポートしていることを解説した。2019年5月にリリースされた19.5では、機能限定ではあるがWindowsのサポートも行われており、WindowsサーバーにおいてもDPDKをネイティブに実行できるようになる環境は揃いつつあると言える。

またDPDK.orgはLinux FoundationやCNCFと同様に、北米、ヨーロッパ、アジアの3極での啓蒙活動を中心にしているとして、2019年9月にはフランスのボルドーで、そして2019年12月にはサンノゼでのサミット開催が告知された。

2019年のイベントの告知を実施

2019年のイベントの告知を実施

DPDKはIntel主導とは言え、ARMやスマートNICに定評のあるMellanoxなども積極的にコントリビューションを行っているという。この後のセッションにもファーウェイ、JD.com、Baiduなどのエンジニアによるセッションが予定されていたが、主に欧米のベンダーからのセッションが中心となっていた。今回は中国のユーザーからのプレゼンテーションは少なく、利用を拡げたいという目標には少し遠いと思える内容となった。

CD.Foundationのプレカンファレンス

次にCD.Foundation(Continuous Delivery Foundation)が行ったプレカンファレンス、Continuous Delivery Summitの内容を紹介したい。これは2019年3月にカリフォルニア州ハーフムーンベイで開催されたOpen Source Leadership Summitで発表されたCI/CDを推進するための非営利団体、CD.Foundationが主催したもので、中心となっているのはJenkinsの開発をリードするCloudBeesである。

セッションはCloudBeesのCarlos Sanchez氏による「Progressive Delivery, Continuous Delivery the Right Way」と題されたもので、主にBlue-Green DeploymentやCanary DeploymentなどのクラウドネイティブなContinuous Deliveryについて解説を行った。

Blue-Green Deploymentを解説

Blue-Green Deploymentを解説

またKubernetesに代表されるような多くのプロセスが関連するシステムでは、個々のアプリケーションをテストしてから結合テストを行い、それにパスしたものを本番環境に実装するというやり方では不十分で、本番環境に実装してテストをするという発想が必要だと解説。ここでは「Test in Production」の別の表現として「Monitoring is the new Testing」を紹介。利用を絞るようにして本番環境に実装し、その動向をモニタリング、そして不具合の発生に対しては自動的にロールバックするような環境を作ることが重要だと解説した。

モニタリングが新しいテストになる

モニタリングが新しいテストになる

これはCircleCIのCEOへのインタビューでも言及されていたことだが、マイクロサービスが主流になるとテスト環境と本番環境を用意してまったく同じものを持つことが難しくなるという認識と同じと考えるべきだろう。それについてCloudBeesは、モニタリングからのデータを使ってテストを行うという主張だ。

このセッションではCI/CDが必要なのは当たり前、では実装のやり方としてどんな手法があるのか? という前提で解説が行われた。このカンファレンスに参加するエンジニアは、KubernetesやDevOpsに対しては相当の知識があるはずで、有料のプレカンファレンスに参加するということは、もう少し深い解説を期待していると思ったが、このセッション以降はより技術的に深いセッションや中国のユースケースを解説する内容となった。

激戦のCI/CD市場に飛び込むJenkins XとTekton

続くセッションでは、CloudBeesのJames Rawlings氏とGoogleのエンジニアであるChristie Wilson氏が、Jenkins XとGoogleがリードするCDツールであるTektonとの連携を解説した。ここでは、よりクラウドネイティブなCI/CDツールに関する解説が行われた。

Jenkins XとTektonによるモダンなCI/CDとは

Jenkins XとTektonによるモダンなCI/CDとは

Jenkinsがより汎用的なCI/CDであるのに対して、Jenkins XはKubernetesに特化したCI/CDツールとして開発が行われている。その視点から、Jenkinsの欠点について率直に説明したのがこのスライドだ。

Jenkinsの欠点とは

Jenkinsの欠点とは

2004年にHudsonとして開発がスタートしたJenkinsは、すでに20万台のJenkinsサーバーが稼働しており、ユーザー数も1500万を数えるという。その上で現状のJenkinsが抱える課題として、Jenkinsサーバー自体が単一障害点になり得ること、そしてJavaベースであることからJVMが巨大化していることなどを挙げた。

それを解消するために、Kubernetesに特化して開発されたのがJenkins Xだ。しかしパイプライン機能を基本とするConcourseやOpenStackで多く利用されているAnsible、CircleCI、Spinnakerなど、CI/CDツールには多くの競争相手がおり、非常に競合が厳しい市場となる。そこでJenkins Xは、パイプライン機能の部分にTektonを組み込んだということだろう。

Jenkins Xはパイプライン実行部分をプラグインで組み込める仕様

Jenkins Xはパイプライン実行部分をプラグインで組み込める仕様

TektonはCD.Foundationにも参加しているGoogleが開発をリードしており、Jenkins Xから実行されることでパイプラインを実現している。

TektonのパイプラインはCRDで実装

TektonのパイプラインはCRDで実装

上記のスライドにおけるCRDとはCustom Resource Definitionのことであり、Kubernetesの様々な情報を保持するためのキーバリューストアで、CNCFでホストされているetcdによって実装されている。etcdが分散データストアとして完成していることは、Kubernetesの安定した稼働に大きく寄与していると言えるだろう。

Jenkins XとTekton連携の概要

Jenkins XとTekton連携の概要

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第8回

KubeCon Chinaでは展示ブースも中国ベンダーが猛プッシュ

2019/9/17
KubeCon Chinaの展示ブースではHuawei、Tencent、Alibabaといったトップ3のIT企業が存在感を示していた。
クラウドイベント
第7回

KubeCon China:サーバーレスとマルチテナンシーのセッションに注目

2019/9/13
KubeCon Chinaの多数のブレークアウトセッションからServerless、CloudEventsとマルチテナンシーのセッションに参加したレポートをお届けする。
クラウドイベント
第6回

KubeCon China:中国ベンダーが大量に登壇した3日目のキーノート

2019/9/10
KubeCon Chinaの3日目のキーノートは、有力な中国ベンダーが勢揃いで最大の露出を行ったセッションとなった。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています