ServerlessDays Melbourne 2019でBuild serverless application on top of Kubernetesを話してきました #sdmel19

29 Shares

ServerlessDays Melbourne 2019で登壇してきました。振り返ります。

発表資料はこちらです。

書き起こし記事@mediumはこちらです。

Build serverless application on top of Kubernetes #sdmel19

なぜ海外カンファレンスに登壇するか

海外だから特別視してるわけではなく、今年の目標「4ヶ月に1回CFPに応募する」の一環でした。

とはいえいつか海外のカンファレンスも登壇できたらいいなぁとは思っていました。

プロポーザル

PaperCall経由で6/9に2つ提出しました。CFPのオープンが4/9、クローズが6/10でした。

CFPはこれです。

プロポーザルは社内の方にレビューしていただきました。正式にお願いしていたのではなく、提出予定の内容を分報部屋に貼って寝たら翌朝的確かつハートフルなコメントをつけていただいていたというのが事実です。

感動しました。

プロポーザルはServerlessconf New York City '19にもだいたい同じ内容で出していたのですがそちらは通過しませんでした。

ニューヨークのとメルボルンのは設問や制限字数などが異なるので多少内容は変えていますが大枠同じものを提出しました。

提出した内容はつぎのとおりです。

通過したプロポーザル

Title

Build serverless application on the top of Kubernetes

Talk Abstract

An application engineer who has never used Knative might be surprised when he starts using it while imagining something like AWS Lambda or Azure Functions. It’s because it’s neither PaaS nor FaaS. It provides “building blocks”. In my talk, participants can grasp the way to build DIY FaaS platform!

Talk Description

Recently, serverless has been seen in container workload. Container orchestration by Kubernetes is awesome in terms of deployment, scaling and self healing. But, it is a little more complicated for application engineers. They (including me) have to write Dockerfiles and Kubernetes manifests, build Docker images, push them to Docker registry, and so on. In my talk, I’ll show you how Knative and Knative based services like Cloud Run help application engineers focus more on codes and features introducing use cases and my containerized application development experience.

Notes

I wrote two books about serverless in Japanese

  • Learning AWS Lambda with Go
  • How to deal with Knative

I’m one of organizers of the biggest Serverless community in Japan.

Additional Information

※過去の登壇内容を出してくれというのがリクエストでした

This is the latest talk about serverless on Serverless Meetup Tokyo. https://speakerdeck.com/toshi0607/getting-started-with-knative-90ff6190-1251-4b7b-ada9-bbba5a8ca4b8

I’m going to talk about serverless on top of Kubernetes next month at CloudNative Days Tokyo 2019, the biggest conference about Cloud Native in Japan.

https://cloudnativedays.jp/cndt2019/ Talk E3

https://speakerdeck.com/toshi0607/serverless-architecture-on-the-top-of-k8s-with-knative

他に出してたプロポーザル

Title

How does Knative work in Cloud Run?

Talk Abstract

Participants can see how Knative, which aims to standardize APIs across multiple clouds, is used in managed services and Cloud Run running on GKE. This will allow them to guess and guess what Knative’s goal will be realized and what features will be added to Cloud Run in the future.

Talk Description

I’ll talk about how Knative, which provides parts for building containe-based serverless applications on Kubenetes, is used in Cloud Run. Cloud Run is a managed compute platform that enables you to run stateless containers that are invocable via HTTP requests. Cloud Run is implemented in Knative. Cloud Run on GKE allows you to search for Knative components using a kubectl command that manipulates Kubernetes APIs. Also, since Knative is OSS and we can investigate its features and implementation, we will speculate on the features provided by Cloud Run in the future.

Notes

同上

Additional Information

同上

プレゼンの準備

基本はCloudNative Days Tokyo 2019で話した「Knativeで実現するKubernetes上のサーバーレスアーキテクチャ」(45分)の大事な部分を抽出して15分にまとめようと思っていました。

しかし、CNDTの振り返りでも書いたとおり事後的に何人かにフィードバックをもらいにいきました。

1on1を設定させてもらったり、ドキュメントに書いてもらったり、いろいろな観点から意見をいただけました。

それを踏まえると構成は結構考え直した方がよいと思い結果的に使いまわしたスライド(図)はあったものの一から練り直しました。

準備過程で出会ったこの記事からの学びもとても大きかったです。

Kubernetes Workloads in the Serverless Era: Architecture, Platforms, and Trends

Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applicationsの著者ということでそちらも気になりました。

資料は渡航2、3日前に一通り作成し終わりました。

社内の人に発表練習を聞いてもらったりするといいよという紹介もしていただいてたのですが、資料作成(構成練り直し)にけっこう時間がかかってしまいそれはできませんでした。

資料とスピーカーノート用にメモした内容は前職の同僚がかなり丁寧に添削してくれてとても助かりました。

ServerlessDaysの本番2日前の夜に現地入りしたのですが、添削してもらった内容をもとに前日に資料修正し、発表練習の詰めをしました。

前日

朝は会場のメルボルン博物館への経路確認と下見、昼は資料修正と発表練習をして夜はスピーカーディナーでした。

スピーカーディナーは諸事情により途中参加になってしまいました。

運営メンバーとスピーカー合わせて10人くらい。日本でのカンファレンスと違って知り合い皆無だったので、少しでも知り合いが増えたのは当日の安心感につながりました。

当日

接続チェックは入念に行いました。

緊張して飛んだら困るのでけっこうGoogleスライドのメモ欄を使っていて、プレゼンター表示(スピーカーノートやタイマー、現在と前後のスライドが表示されるやつ)が出ないと困るためです。

持参したコネクターの接続もあまりよくなく本番もちょっと手こずりましたがオーガナイザーの方のいい感じの喋りで浮くことはありませんでした。ありがたい。

コンテンツ自体に対するリアクションは伝わってるか伝わってないかわからないですが、とにかくあたたかい雰囲気でした。

登壇後もいろんな方が話しかけてくれました。

中でも帰り道、会場の外で「ネイティブのスピーカーより発音、文法、簡潔さどの点をとってもよかった。よくやった。気つけて帰るねんで」とわざわざ自転車から降りて話しかけてくれた人もいてまた感動しました。

他の方の発表で感じたのは、デモする人以外は画面(PCもスクリーンもあまり)見ずにそれっぽい身振り手振りしつつ「プレゼン」っていう感じが強いというものです。

PC直接操作もせず、黒曜石的なフィンガープレゼンターとハンズフリーのマイクがデフォでした。

どういうやり方がより伝わるかわかんないですが一度試してみるのもよさそうです。

トピックは全体としてかなりバランスがよかったです。

https://www.serverlessdays.me/

サーバーレストレンド系、K8s系、ワークフロー(Step Functions)、リアルタイム(SignalR)、マルチクラウド、チャットボット(Bot Framework)、ステートフル(Durable Functions)、本番導入事例、オブザーバビリティ、セキュリティ、フロント、mBaaS(Firebase)

ここまでバランスいいのすごいです。ベンダー的にはMS・Azureが多かったですがGoogle、AWSの中の人が出てきてました。

日本はK8s系を話す人がサーバーレスコミュニティにあまり来なくて自分が盛り上げる気でいますが、その点でも3トークあるのは印象的でした。

途中のコーヒー休憩・ランチ・ネットワーキングタイムもバランスよく設けられており、ほぼ全員会場から出て参加者同士けっこう話していたのも目立ってました。企業ブース散歩も含めてです。

マジで休憩時間中に会場内に残ってたのはつぎのスピーカーと運営の人2、3人。これはすごい。

一番よかったなぁと思った発表はこれです。

とにかく構成が美しいです。

ログ、メトリクス、トレーシングをAWSのどのサービスが実現しているのか、サーバーレスなアーキテクチャでマネージドサービスとファンクションをつなぐイベントとはどうあるべきでどう管理すべきかという文脈で最近出たEventBridgeが出てきたり、1つ1つの説明に対する引用が的を射ていたり。

スピーカーはAWSでサーバーレスのPrincipal EvangelistをやっていてAWS Lambda in Action: Event-driven serverless applicationsの著者でもある@danilopさんでした。

他の内容も#sdmel19を追えば大体わかります。マルチクラウドの話をした@ineffybleさんが大体リアルタイムで全部ツイートしてくれてましたすごい。

資料は後日集めてまとめられるっぽいです。

他にもいい話がいっぱいあったので公開されるタイミングでできたら改めてまとめたいです。

振り返り

Good

十分な準備

いろんな人に協力してもらって内容を練るところから資料のブラッシュアップまで十分準備して臨めたと思います。

構成考え直した

CNDTからけっこう直したのはよかったです。認識のブラッシュアップ・再構築はフィードバックもらう意義ですね。

スマホのゲーム消した

けっこうやってしまうポケGO、マージドラゴン、アビスリウムを消しました。

家でやってしまってた時間は準備に充てられるし、通勤で歩く時間もリスニングの時間になりました。

Kubernetes Podcast from Googleは特に内容も好きですし、知った表現をプレゼンに取り込んだりできて学習効率が高かったです。

飛行機ずっと本読んでた

飛行機の中や待ち時間には映画の誘惑に一切負けずずっとProgramming Kubernetes: Developing Cloud-native ApplicationsCAREER SKILLS ソフトウェア開発者の完全キャリアガイドを読んでいました。

Challenge

もっと内容に関して議論できるとよかった

K8sやってる人に登壇後出会えなかったのはあるにしろ、一応議論の土台は喋ってるのであれこれ話できるとよかったかなと思いました。

KEDAの話をした人も、KEDAとOpenFaaSとKnativeの話をした人とGoogleの人もいたので自分から話しかける選択肢はあったはず。

カンファレンスでは事前に聞く話を決めることがあっても、このテーマでちょっと議論したいみたいなスタンスで臨んだことはないのでそういう観点で準備するといいかもと思いました。

自分で検証するときのトピックの網羅性

今回のオブザーバビリティやセキュリティなどの話を聞いたり、普段人と話して思うのは「実際使いたいときに開発フローに組み込むことはできるのか?」「各開発フロー毎のベストプラクティスは?」みたいなのに関して自分が全然答えられないなという部分です。

根本のコンセプト、仕様、実装ももちろん理解してないと使えないですが、現実的に開発フローを組み立てるにはどうしたらいいのかという観点で検証して自分の知識を整理して発信していくのは有意義に思えました。

時間かけすぎ

9月締め切りがある原稿たちの執筆時間をかなり削った感は否めません。

個人OKR運用で継続で改善していくとは思います。

原稿の後には10月のServerlessDays Tokyoの Knativeハンズオンの準備が待ってるので、それにも活かせる形で書き上げたいです。

29 Shares

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です