ベルサール神田で行われたJapan Container Days v18.04に参加してきた。
mesos + marathonを使用してコンテナ化したアプリの運用を2年ほどしてきたのだがまだまだ勉強不足だなと感じることが多々あるため詳しい方とお話できればなと思って参加しようと思った。
参加してきたセッションは以下
- (Keynote)サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術
- (Keynote)マイクロサービスアプリケーションとしての機械学習
- (Keynote)Yahoo! JAPANのKubernetes-as-a-Service"で加速するアプリケーション開発
- Kubernetesセキュリティベストプラクティス
- Custom MetricsとMultiple Metricsを使ってKubernetesのクラスタの強みを最大限活用する
- Container Networking Deep Dive
- CoreOS買収を経てさらに加速する エンタープライズKubernetesとしてのOpenShift
- Kubernetesの運用設計ガイド
- Dockerだけじゃないコンテナruntime徹底比較!
- Istioと共にマイクロサービスに立ち向かえ!
あれ?Kubernetesって名前ばっかり見える。
イベントの名前なんでしたっけ?と思うほどKubernetesの話ばかりだった。
Kubernetesを知らないなんて...って言われてしまうほどスタンダードになったんだろうなと。
一部の発表を除いてどの発表もすでに数年以上運用をしている人たちの発表ばっかりだったのでとても生々しい話が聞けたし、自分で構築運用をしていくうえで考えなければいけないことが分かった気がした。
いろいろ学ぶことが多かったけど今回自分の中に残ったのは
- 必要なものがあったら自分達で開発して置き換え
- 開発するためにソースコード、基準を学んでおく
- 担当する箇所によって学ぶべき事柄は変わる
書くと当たり前なことだけど、自分ではできてないなと思いながら話を聞いていた。OSSなのだから足りない機能は自分で開発して取り込んでもらうこともできる。開発するための定義については公開されている (ex. OCI、 CRI)ことさえ守れば問題ない。
また3つ目については、アプリエンジニアは要件を出してDockerfileを書くことでコンテナを作れるまで行う、SREが要件通りに実行できる環境を構築するというメルカリの事例を聞いた内容からの感想。アプリエンジニアは自分のできるアプリケーションを作成するのとシェルスクリプト感覚でDockerfileを書いて終わり。気がついたらコンテナがKubernetes上で動いていて要件が達成されていた。
これはチームとしての働き方として理想だなと思った。チームが目的を共有していてメンバーが自分のやるべきことをやることで最短で結果を出す。アプリエンジニアはKubernetesについて詳しくなる必要がないし、SREの方はコンテナを要望通りに動かす環境構築に集中すれば良い。
個人的に面白かった発表は、Container Networking Deep DiveとDockerだけじゃないコンテナruntime徹底比較!、Istioと共にマイクロサービスに立ち向かえ!。最初はネットワーク、次はruntimeをいろいろ検証してみたっていう話。インフラ周りの実証結果を見るのが楽しかったし自分でもあれこれ試してみたいと思った。
最後はマイクロサービスとの戦い方。Istioが思っていたよりもできることが多かった。資料は読んでみたけど試したことまだないから検証導入していきたいなと思った。発表資料の中にIstioを始めるまでのロードマップがあったので試してみよう。
まとめ
きっとコンテナを直接どうこうということはないんだろうなと思った。コンテナを運用するためのオーケストレーションだったりコンテナを見つけるためのサービスメッシュだったりコンテナをどう隠して運用できるかの話にすすんでいるだろうな。このままだとおいてかれてしまうから勉強しなくては。いろいろ刺激的な1日だった。
他にも面白そうなコンテンツばかりだったから帰ったら資料探してみようと。
宣伝
Kubernetesについて自分なりのまとめを作っているので宜しければ