はじめに
技術開発部コンテナグループの安藤です。普段Twitterでは@chataro0で呟いたりしてます。
今回、同じグループの市川さん(@cyberblack28)と4/15-16に福岡で開催されたCloud Native Days Fukuoka 2019に参加してきたのでイベントレポートを書きます。
今回は4/15に開催された本イベントのTrainingである、
「1日でDocker/Kubernetesを基礎から学べる少数限定トレーニング」の
メイン講師として市川さん、サポートとして私が参加させていただきました。
時系列的には
- Training (4/15)
- Meetup (4/15)
- Conference (4/16)
- After Party (4/16)
ですが、レポートとしては分量も多いので、2部構成として4/16分から書いていきたいと思います。
Conference
スライドが公開されているものは順次リンクを掲載していこうと思います。
また、イベントの内容はcrash.academyさんが撮影しているということで後日公開されるとのことです。
Cloud Native Days Fukuokaに参加の皆様!おはようございます! (link: https://t.co/OlI20rabap) https://t.co/OlI20rabapです!
— crash.academy (@crash_academy) 2019年4月16日
今日は撮影をしておりまして、後日(link: https://t.co/OrwOyMBOHn) https://t.co/OlI20rabapで公開されますので、お楽しみ!(/・ω・)/#CNDF2019 #CNDF #kubernetes
KeyNote
Welcome Talk from Fukuoka
まずはCNDF2019のチェアであるGMOペパボの Uchio KondoからのWelcome Talkです。
テクニカルな内容ではないということでスライドの公開はありませんが、
Day0が翌日に始まるRubyKaigi2019を始め様々なイベントが福岡で開催されるということで、 福岡の盛り上がりを非常に強く感じました。
これも福岡のコミュニティの特徴である
- Borderless
- Open
- Chaos
によるものなのだそうです。
飛び込もう、Cloud Nativeの世界
続いては界隈ではおなじみのJacopenさんことPivotalの草間さんのKeyNoteです。
伝えたいことを「クラウドネイティブは規模に関係なく実践していくべき」としてのプレゼンです。
クラウドネイティブというと即Kubernetesと考えてしまいがちな昨今ですが、
クラウドネイティブの定義から立ち返り、
「クラウドに置き換えて効率化」という思考からの脱却して、クラウドによって人の関与を減らす(≠人を排除する)ことで、
クラウドの本質であるクラウドは人間を強化(エンフォース)するを実現すること
というクラウドネイティブの本来の目的を整理してもらえました。
クラウドによって最大限強化されるというマインドセットを持ち、
常に自動化の意識を持って地に足ついた積み重ねがあって、初めてクラウドネイティブの恩恵が受けられる
という話で締められ、個人の意識だけでなく組織の文化も巻き込んだ動きが必要だと痛感しました。
具体的な事例を聞く前にトップバッターのKeyNoteで聞けてとても良かったです。
CacooのKubernetesによるマイクロサービスアーキテクチャ
続いてNulabの木村さんのKeyNoteです。
モノリシックなアプリケーションになっていたシステムをMicroservice化していく過程やモチベーションを語ってくれました。
海外も含めた複数拠点で開発されており、明確なオーナーシップをもっており、
新しい機能を新しいサービス上に切り出し、既存機能も徐々にDockerizeしていくことで
EC2 -> ECS -> Kubernetes
と継続的にMicroservice化を進めていたというお話が印象的でした。
Nulabのブログの方でも同様の話が書かれているとのことです。 nulab.com
Kubernetesはキャズムを超えるのか
続いてはRed Hat 北山さんからのKeyNote.
CNCFからはGraduatedになったKubernetesですが、日本のエンタープライズ市場では認知はされつつも利用はEalry Adopterに留まるという印象があります。
キャズムを超えてEarly Majorityとして利用し始めるにはどうすればよいのか?
そのためには公共や金融といった分野の社会的な説明責任を伴うワークロードに対応する必要があり、
従来の人力に頼った運用に対する安心感をテクノロジーで置き換える必要がある、とのことでした。
そのための一例がRed Hatが提供するOpenShiftなんだな、という説得力を感じました。
Kubernetes を利用したコンテナ開発のススメ
KeyNoteの最後はGoogle Cloud 村上さんからです。
Kubernetes The Hard Wayのサイトでも紹介されているように、
Kubernetes環境を自前で構築してそれを運用・管理をしていくのはなかなかの労力がかかります。
メルカリの導入理由にも"ロードバランサーとGKEがGCPを選んだ決め手"と語られるように
マネージドなKubernetesに加えロードバランサーなどその周辺サービスも提供してくれるGCPは非常に魅力的です。
Cloud Services PlatformからAnthosとしてリニューアルされるハイブリット・マルチクラウドへのアプローチも気になるところでした。
セッション
ここからは2部屋に分かれたセッションになりますので、私が聞いたセッションのみの紹介になります。
CircleCI 2.0を支える2つのコンテナ・オーケストレーションツール
昼食を挟んで、ITが盛り上がっているだけでなく電動キックボード特区としても福岡が大好きなCircleCIの金さんのセッションです。
KubernetesとNomadという2つのクラスターを活用する技術編と
WorldWideにまたがるSREチームを紹介する組織編の2部構成になります。
Kubernetesはマイクロサービス用のコンテナを管理していて、
gRPCの通信をスケールさせるための一工夫や、K8S on EC2の問題点からEKSへの移行を検討していることを紹介していました。
Nomadはビルド用のコンテナを管理していて、
2016年時点ではバッチ処理はNomadのほうが優れていたこと、そしてバグが少なく安定していることを紹介していました。
組織編としてSREチームはボーイング方式として、4カ国にまたがっていることの時差を有効に活用しており、
チャットを利用した無理のないアラートなどの運用フローや役割分担されたチーム構成を紹介されていました。
個人的には組織編は今読んでいるオライリーの入門 監視でも同様のことが書かれていたので、とてもタイムリーな内容でした。
Kubernetes and Beyond
続いてのセッションはZ Labの九岡さんです。
かつて自動化といえばシェルスクリプトで実現されている時代もありましたが、
クラウドネイティブの時代のスクリプティングの手法として
kubectl run
を使う方法や、イベントドリブンなbrigadeというCNCFサンドボックスのプロジェクト、そしてKnative Everythingなどが紹介されていました。
Azure + クラウド型電子カルテ における、リソース利用効率の課題と改善への道すじ
きりんカルテシステムYuki Abeさん、マイクロソフトの井上さんによる共同セッションです。
一般クリニックにおける電子カルテの導入率は35%程度に留まっており、導入できない主な原因としてはコストの問題ある。
そのため、導入のハードルを下げるべく、クリニックのIT投資を劇的に下げたい!そして、電子カルテを患者側のモノにしたい、というのがモチベーションとのこと。
そのためには日本医師会が提供しているレセプトコンピュータのOrcaというコンテナ化する必要があった。
Dockerのコンテナイメージ作るならDockerfileが定石だが、既にAnsibleのYAMLファイルがあったので再利用してPacker + Ansibleを使ったとのこと。
個人的にはつい最近までPacker + AnsibleでAMIを作成する、ということをやっていたので、そういった資産が再利用できるのは強みだと感じました。
(余談ですが、この日はAnsible Tシャツを来ていましたw)
NoOpsを目指してKubernetesネイティブな物理データセンターを作る
続いては、サイボウズの 山本さんです。
2011年のリリース以来、線形以上のペースでユーザが増加しているcybozu.comは、
実体はモノリスでレガシーなアプリとクラウドに最適化していない開発体制だったため、
NoOpsを目指すべく、これらを刷新するNecoプロジェクトが2018年から始まった。
Necoの設計原則は
- Be Declarative
- Define by Software
- Test Everything
その中で、実現したいことに合わせて以下のようなツールを作成したり、Hashicorp VaultやArgo CDを活用して、
Neco流の物理データセンターの作り方を突き詰めている。
Tool | 目的 |
---|---|
placemat | 仮想データセンタ構築ツール |
sabakan | サーバ管理&ネットブート |
cke | kubernetesクラスタの自動構築 |
neco | 自動デリバリツール |
サラッと話されていましたが、1スライド毎に物凄いエッセンスが詰まっているのと、
いい物理データセンターの作り方を広めたいと思い、Necoの成果物を99.9% OSSで公開しているという思いの強さを感じました。
Datadogで実現するこれからのコンテナ監視
最後のセッションはDatadog 池山さんです。
コンテナに限らず監視というと、監視自体が目的になってしまっていたり、
監視情報をよく見ずに動いているからとりあえずヨシ、としてしまいがちなところがあります。
モニタリングの三本柱である
- metrics
- logs
- traces
を中心に、モニタリング情報を有効活用して確信を持ってヨシ!と言えるようなDatadogの様々な機能を紹介されていました。
様々な情報が整理されているダッシュボードを提供してくれることや、
DockerのタグやKubernetesのラベルをDatadogタグに変換してくれる機能でさらに管理しやすくしてくれるのが魅力だと感じました。
After Party
Welcome Talkをされた @udzura さんの
「来年もCloudNative Days Fukuokaやります!」という宣言とともに乾杯!
締めは @jacopen さんと、今回は参加者に徹していた 青山さんによる
「ShowKs開発へのお誘い」がありました。一緒にやってくれる人を募集中とのことです。
最後に、技術書展で発売された「showKsで始めるクラウドネイティブ開発」の本と今回のCNDF2019のイベントTシャツをかけたジャンケン大会!
なんと私、ギリギリ勝ち抜いていただいちゃいました!
東京組でshowKs本は既にBOOTHで買っちゃってましたがジャンケン勝っちゃいました!
— 茶太郎 (@Chataro0) 2019年4月16日
布教用に使わせていただきます! #CNDF2019 pic.twitter.com/dYcsonp9Zd