Japan Container Days v18.04 に参加してきました!

開発Divのイベントレポート担当 喜村です。

今回参加したイベントは、Japan Container Days v18.04 です。
containerdays.jp

有料(¥5,000)のカンファレンスにも関わらず参加者が540人といかにContainer/ Kubenetesへの関心が高いかがわかるイベントでした。(若干キャパオーバー気味でした)
実態はほぼほぼ Japan Kubenetes Daysでしたが、それだけ Kubenetes を使うことが当たり前になってきた、もしくはこれから使おうとする人が増えてきた感じです。
Japan Container Days v18.12 も発表されていたので(なんと2Days)これからも盛り上がっていきそうな 技術/コミュニティですね。
ちなみに弊社は、平日有料イベントに費用会社負担&出勤扱いで参加できるホワイトな会社です。

というわけで、イベントレポートです。

全体を通しての感想

上でも書きましたがJapan Kubernetes Daysですね。
全てのほぼ全てのセッションがKubernetesの運用を前提としたものであり、いかにKubernetesがこのコミュニティのデファクトスタンダードかを実感させられました。
今回のセッションで共通してたところは、「CNCFのLandScapeTrail Map*1やLandScape*2などを始めとするCNCFの動きは要チェックだぞ!」というところだと思います。どのセッションでも「迷ったらCNCFのココを見ろ!」とか「CNCFがこう言ってるので」とかはよく聞きました。
もうサンフランシスコに足を向けて寝られないですね。

Session

サイバーエージェントにおけるプライベートコンテナ基盤 AKE を支える技術

  • いきなり自社K8s on OpenStackの話
  • 構想から10ヶ月(2人で)で社内K8s基盤リリース(2017/04)、今では15クラスターがProduction環境で稼働中
  • リリース・機能追加した際の実装面での苦労話とメリットデメリット
  • K8s向けの開発は最初は辛いけど、慣れたら今まで以上に開発に集中できるようになるのでパフォーマンスが上がってくる

マイクロサービスアプリケーションとしての機械学習

  • App EngineerからみたProduction環境のK8sの話
  • Dockerfileを渡してから1週間でこのレベルのアーキテクチャが出来上がってくるあたりが流石
  • 最適なワークフローが見えるまで意図的に手動運用する ⇨ 見えてきた課題を改善するために動く
  • マイクロサービス化により、機械学習がサービスに組み込みやすくなる

Yahoo! JAPAN の Kubernetes-as-a-Service で加速するアプリケーションサービス

  • App EngineerがK8sへ移行するためにしたこと & Yahoo! JapanのKaaSの話
  • K8sに移行するために、アプリケーションの言語とCI/CDツール・フローを変えたことにより、様々な課題が解決した(リリース速度、障害対応等)
  • K8sに移行するために、Cloud Nativeな考え方を普及させるために勉強会を開催
  • Yahoo! Japan の Kubernetes as a Serviceは Kubernetesの拡張機能を用いて作っている、つまり Kubernetes on Kubernetes on OpenStack
  • 煩雑なKubernetesのオペレーションから運用者を解放する -> AUTOMATE ALL THE THINGS

Kubernetes セキュリティベストプラクティス

  • Kubernetesを本番運用する際の主な攻撃の話とそれに対するセキュリティベストプラクティスの話
  • RBAC(Role Based Access Control)とFirewall、Network Policy、「必要最低限の権限」に等、一般的なシステムで言われてることをK8sでもやろうという話とそのやり方
  • こういうノウハウがすでに溜まっているのは流石Google...

Cloud Native Apps 入門

  • Cloud Native Apps とは何か、既存のアプリをCloud Nativeにするためにはどうしたらいいかの話
  • 既存コード資産 & 慣れたフレームワークがあるので、それの使用を阻害するマイクロサービス化は Must ではない
  • 本当にやりたいこと、やるべきことはI/O を塾考した「サービス」を実装すること
  • どんなワークロードもKubernetesで実行できる世界を目指すために、Cloud Nativeなアプリを開発していける仕組みが必要

今こそ Kubernetes. 最高の仕事道具で使いこなそう

  • Kubernetesを活用するまでの課題と対応策についての話
  • Kubernetesを使う選択肢は豊富、Kubernetesで使うツールも豊富、ただオープンテクノロジー(not ベンダー/テクノロジーロックイン)でなければならない
  • エンタープライズで使うには、まず既存のアプリの分析・Cloud Nativeへの対応にどれくらいかかるかを試算するところから
    • その後、基盤を作り、アプリケーション開発を行い、全てのクラウドで One Architectureで動かせるようにする

Kubernetes のない世界 すべてがサーバーレスになる

  • われわれがすべきことは何か? -> ソフトウェアを通じて価値(サービス)を提供すること
    • ここが本質であって、極論インフラはどうでもいい
  • コンテナもサーバーレスも目指す先は一緒、Less Ops, More Code!!
  • 近い将来、コンテナが動くインフラを意識しない仕組みが確実に流行る(AWS Fargateの流れ)
  • サーバーレスアーキテクチャを導入すると、マイクロサービス指向かつリアクティブなアーキテクチャになる
  • Swagger定義とDynamoDBのテーブル定義さえちゃんとしていれば、サーバーレスアーキテクチャは外注できる
  • イベントハブ型のアーキテクチャによるフルサーバーレスシステムは、イベントハブがスケールできれば将来的にくるかも

〜ベンダーロックインを回避せよ〜 Kubernetes コンテナー管理 OSS、Rancher 2.0 の全貌

  • Rancherとは? -> Workflow Management
  • 日本での導入事例も多く、日本のコミュニティはとても活発
  • 5月にGAする予定のRancher2.0は、Kubernetesベースのシステムとなり、マルチクラウドのKubernetesをRancherで管理できるようになる
  • Kubernetes everywhere & NO VENDOR LOCK-IN By Rancher

CNCF: Evolving the Container Landscape

  • CNCF の歴史
    • KubernetesがLinux Foundationに寄贈されたことがきっかけで発足
  • CNCF の仕事
    • landscape
      • GitHubで250Star以上を集めているOSS、また同カテゴリでよく知られている企業製品をまとめたもの
    • ci
      • CNCF ProjectのOSSを多彩な環境でCIする
    • certified
      • Kubernetesの認定
      • Kubernetes Engineerの認定
  • Trail Map
  • CNCF Next!
    • Serverlessに注力していく

セッションの感想

全体のレベル感的には、

  • 「Kubernetes導入したい人に向けて、Productionで運用するためのノウハウを伝える」
  • 「Kubernetesをすでに運用している人たちに向けて、一歩先の新しい技術を紹介する」

の2パターンでした。
弊社は、Kubernetesよりも前の Containerizeの段階なのですぐには導入できませんが、Cloud Nativeなアプリケーションを作るように意識する、もしくは思想を布教するための勉強会を開催する等の草の根運動を頑張らないといけないですね。
どのセッションでも言われていた通り、Container・Kubernetes・PasS・Serverlessは手段であって、価値を提供するという目的が主なのですが、適切な手段を選ぶことによって目的にメリットがあるのであれば積極的に取り入れていきたいですよね。

楽しいイベントでした。主催の方々ありがとうございました。