KubeCon China開催。DPDKとCI/CDのプレカンファレンスを紹介
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/16680_main.jpg?itok=vecCm5pV)
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のソフトウェアプロダクトマーケティンググループのディレクターでもある。
Leger氏は2019年6月に東京都内で実施されたDPDKのトレーニングセッションのために来日し、ThinkITでもインタビューを行った。
参考:ネットワーク高速化のDPDKのメンテナーにインタビュー。日本での認知拡大を目指す
Leger氏はDPDKが多くのメディアで取り上げられ、Intel、ARM、Marvellなどのプロセッサベンダーだけではなく、Red Hat、F5、ZTEなどがファウンデーションに参加していることを紹介した。Leger氏がこのセッションで主張したかったことは、以下のスライドに凝縮されていると思われる。
Alibaba CloudやTencent、Baidu、JD.com、DiDiなどのインターネット関連ベンダーだけではなく、China Telecom、China Mobileなどにもユーザーが拡大しており、中国でもさらにDPDKを拡大していきたいという意欲を感じさせる内容だ。
またDPDKが、他のオープンソースプロジェクトにも組み込まれる形で利用されているということを解説するのが次のスライドだ。
仮想スイッチや仮想ルーターなどのネットワーク系ソフトウェアだけではなく、各種Linuxディストリビューション、エンタープライズでは必須と思われるWindowsのサポート、さらにストレージの高速化のためのSDKであるSPDK(Storage Performance Development Kit)の中でも使われていることを紹介。DPDKの機能を使ってデータの圧縮を行うことで、ストレージにおいても高速化が可能だということだ。
またDPDKのリリースについて過去の歴史を紹介した。すでに20以上のリリースを重ねており、Intel以外のプロセッサ、特にARMもサポートしていることを解説した。2019年5月にリリースされた19.5では、機能限定ではあるがWindowsのサポートも行われており、WindowsサーバーにおいてもDPDKをネイティブに実行できるようになる環境は揃いつつあると言える。
またDPDK.orgはLinux FoundationやCNCFと同様に、北米、ヨーロッパ、アジアの3極での啓蒙活動を中心にしているとして、2019年9月にはフランスのボルドーで、そして2019年12月にはサンノゼでのサミット開催が告知された。
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について解説を行った。
また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がより汎用的なCI/CDであるのに対して、Jenkins XはKubernetesに特化したCI/CDツールとして開発が行われている。その視点から、Jenkinsの欠点について率直に説明したのがこのスライドだ。
2004年にHudsonとして開発がスタートしたJenkinsは、すでに20万台のJenkinsサーバーが稼働しており、ユーザー数も1500万を数えるという。その上で現状のJenkinsが抱える課題として、Jenkinsサーバー自体が単一障害点になり得ること、そしてJavaベースであることからJVMが巨大化していることなどを挙げた。
それを解消するために、Kubernetesに特化して開発されたのがJenkins Xだ。しかしパイプライン機能を基本とするConcourseやOpenStackで多く利用されているAnsible、CircleCI、Spinnakerなど、CI/CDツールには多くの競争相手がおり、非常に競合が厳しい市場となる。そこでJenkins Xは、パイプライン機能の部分にTektonを組み込んだということだろう。
TektonはCD.Foundationにも参加しているGoogleが開発をリードしており、Jenkins Xから実行されることでパイプラインを実現している。
上記のスライドにおけるCRDとはCustom Resource Definitionのことであり、Kubernetesの様々な情報を保持するためのキーバリューストアで、CNCFでホストされているetcdによって実装されている。etcdが分散データストアとして完成していることは、Kubernetesの安定した稼働に大きく寄与していると言えるだろう。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Open Source Summit Japan 2019開催。Linuxの外に拡がりを見せるLinux Foundationの今
- ネットワーク高速化のDPDKのメンテナーにインタビュー。日本での認知拡大を目指す
- CNDO 2021、CI/CDのTektonのロードマップをNTTComのエンジニアが振り返る
- 中国人のためのイベント、Open Infrastructure Summit上海開催
- Open Source Leadership Summit開催 FoundationモデルはOSSのインキュベーションのコアとなる
- OpenShift Commons Gatheringで語られたOpenShiftに最適なCI/CDとは
- CNDT2020シリーズ:CAのインフラエンジニアが解説するKubernetesネイティブなCI/CD
- Open Infrastructure Summit上海、展示ブースで感じた宴の終わり
- KubeCon China注目の初日キーノートはプロジェクトアップデート
- 初日キーノートではJim Zemlin氏の登壇とLinus氏×Hohndel氏の対談、技術ではKubernetesとコンテナが注目を集める