DMM.comの、一番深くておもしろいトコロ。

KubeCon + CloudNativeCon + Open Source Summit China 2019 参加レポート

KubeCon + CloudNativeCon + Open Source Summit China 2019 参加レポート

  • このエントリーをはてなブックマークに追加

はじめに

どうもこんにちは!

動画配信事業部に所属するエンジニアの杜志剛(@dulao5)です。弊社は20年間成長し続けるサービスを持っている一方、技術の負債も十分に溜まりました。この現状に対して、DevOpsやSREやクラウド化など、負債脱却の改善策をいろいろと取り込んでいます。

最近クラウドネイティブという言葉がだんだん流行ってきたと思うので、クラウドネイティブにおけるDMMの開発はどうしていくべきかを考えたく、今回は表題のカンファレンスへの参加を決めました。

クラウドネイティブ(CloudNative)とは

下記は CNCF(Cloud Native Computing Foundation) からの定義です:

クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミューダブルインフラストラクチャ、および宣言型APIがあります。  (CNCF Cloud Native Definition v1.0)

この定義は抽象的なので、読んでも具体的なイメージが持てないと思います。こういったやや難解な定義の理解に比重を置くよりは、私自身は「なぜクラウドネイティブか」「何の問題をクラウドネイティブで解決するか」をまず理解したらいいのかなと思い、下記の本を読んで、クラウドネイティブの経緯・目指す問題、解決方法がわかりました。これは 2015年に Pivotal 社がクラウドネイティブの概念をまとめた本です。57ページしかないので、興味がある方はぜひ読んでください。

KubeCon + CloudNativeCon + Open Source Summit China 2019 ってどんなイベント?

KubeCon + CloudNativeCon + Open Source Summit(以下、KubeCon)は、Linux Foundation傘下の CNCF 主催のイベントで年に3回、アジア、ヨーロッパ、アメリカで行われています。このイベントには、クラウドネイティブのエコシステムの開発者、IT専門家、関係会社やOSS組織のリーダーたちが集まって、経験を共有して、クラウドネイティブの将来について議論します。今回のKubeCon China 2019は、6月24日から6月26日にかけて、上海で開催されました。この3日間で、来場者は3500人以上、共催イベントが14回、8回のLT、32回の基調講演、252回のサブフォーラムが開催され、300人以上のスピーカーが参加したそうです。

どんなコンテンツがあるか

基調講演やセッションは主に下記の分野です:

  • Open Source 周りの話題
  • Kubernetesの活用事例、起こった問題と解決方法の紹介
  • 企業のクラウドネイティブ戦略と実施した経験
  • Kubernetesのミドルウェア周り・ CNCF のほかのプロジェクトの紹介と活用事例

当日のスケージュールとプレゼン資料はここです(一部セッションは資料が添付されていません)。

すべてのセッションは Youtube Playlist にあるので、ご参照ください。

私が聞いたセッションは30本ぐらいで、そのなかから気になったものを紹介したいと思います。

Open Source 周りの話題

(PDF版はここです)

今回イベントを通してOSSが話題でしたが、こちらが代表的なセッションです。今の時代にはOpenSourceは技術革新のための最も重要な要素であるとのことです:

  1. Linuxはソフトウェアの多くの分野に渡って、さらに重要になってきている
  2. Linux Foundation も技術のエコシステムにおいて重要な部分になっている
  3. モダンシステムのコードベースで、OpenSourceのコードの割合はもう80%~90%ぐらい、カスタムコードはわずかに 10 % ぐらい
  4. 最新OSS技術を採用して、製品を作って、OSSに参加するーーというサイクルはOpenSourceの持続可能な価値である

特に気になったのが、4番目のOSS技術の採用「サイクル」についてです。

f:id:du-zhigang:20190718134956p:plain

 

個人的には、「サイクル」の形になれるポイントは「Participation」にあると感じています。今の時代OSS技術はエコシステムになっているので、OSSに参加せずに技術を採用するだけでは、自社のOSS技術がOSSコミュニティから離れていってしまい、現在採用している技術が将来的には技術の負債になる可能性が高いと思います。なので、OSSに参加(また貢献)するのはサイクルの中で最も重要だと思います。今回のKubeCon China 2019 では、まさにこのサイクルのような、企業の事例をたくさん聞くことができました。

Kubernetesの活用事例、起こった問題と解決方法の紹介

一番気になったのは、アリババのKubernetes活用事例です。アリババのセッションはいくつありましたが、以下に紹介するのは、まとめセッションです。

(資料はここです。ちなみに、スピーカーのXiang LiはCNCFのTechnical Oversight Committeeの一員です)

アリババのKubernetes Cluster 規模は下記のようです:

  • Clusters : 約 10 個
  • Containers : 100万個
  • Nodes : 1万個/1Cluster

規模が大きすぎて様々な問題があったものの、解決してOSSに貢献できたそうです:

 

企業のクラウドネイティブ戦略と実施した経験

上記のアリババのセッションもこの種類でありますが、続いてはHuaweiのセッションを紹介します。

(資料はここです)

Huawei はクラウドネイティブに対して主に4つのことをやっています:

  • KubeEdge をOSSに貢献させた (AIの学習の部分はクラウドで行って、実行部分はEdgeで行う)
  • 企業の需要に応じて、Huaweiはマルチクラウドの技術の「K8S-Federation」を開発・運用している(残念だがOpenSourceじゃなさそう)
  • KubernetesのARMサポートの対応(今年OSSに貢献する予定)
  • https://github.com/volcano-sh/volcano : KubernetesのBatchシステムで、AIやビッグデータの対応が優る

Kubernetesのミドルウェア周り・ CNCF のほかのプロジェクトの紹介と活用事例

この部分は細かいのですが、気になるセッションはいくつかありました。

Kata containers 技術の活用事例(アリババ)

(PDF版はここです)

Kata Containers は 軽量VMで隔離する container runtime です。docker runtime より安全性が高いので、アリババの Serverless サービスはこれを使って構築できたそうです。

gVisor の紹介

(資料はないです)

gVisorも container runtime の一つです。Kataとの違いは、Kataが軽量VMで実現した一方で、gVisor は Linux user space に Linux sandbox で実現したものです。

Vitess の事例

(PDF 版資料はここです)

中国のECサイト大手「京東商城(JD.com)」が二年間にVitess を活用した事例紹介です。Vitess とは、 MySQL の水平スケーリング クラスタリングツールです。

TiKV & TiDB

 (PDF版資料はここです)

TiKV は分散型トランザクションKey-Valueデータベースで、 今年 5月に CNCF の incubating project になりました。このセッションでは、 TiKV が生まれるまでの経緯とベストプラクティスが紹介されました。

TiDBは分散型NewSQL データベースです(この製品のストレージ層は TiKV です)。特徴はたくさんありますが、私が一番気になる部分は「水平方向の拡張性」と「MySQLとの互換性」です。TiDBを使うと、アプリケーション層にShardingロジックのコードを書く必要がありません。さらに mysql client を利用するままで水平拡張ができてしまいます。Mysql リプリケーションプロトコルで、Mysql から TiDB に、TiDBからMysqlに、両方ともリプリケーションできるそうです。

最後に

KubeCon に参加していろいろと勉強になりました。特にクラウドネイティブ周りの知識や視野が広がりました。これからのDMMの負債脱却の仕事にも、クラウドネイティブの技術を検証して活用していきたいと思います。

採用情報

DMM.comでは共に働くエンジニアを募集しております。 興味のある方は、ぜひ下記募集ページをご確認ください。

dmm-corp.com