AWS Developer Influencer Summit & Serverless Hero Summit に参加してきました

サイダス吉田真吾@yoshidashingo)です。

f:id:yoshidashingo:20190826011058j:plain 8/20(火)〜8/23(金)にシアトルで開催された AWS Developer Influencer Summit & Serverless Hero Summit に参加してきました。

AWSヒーローとは

オンライン、オフラインでコミュニティにさまざまな知見を共有しているAWSユーザーに対して送られるアワードプログラムです。

aws.amazon.com

AWS Serverless Hero とは

サーバーレスの世界的なコミュニティで言うと、さまざまな書籍を刊行してサーバーレスを実際に広めていっている人や、各国でコミュニティを作ってMeetupやカンファレンスを開催している流れがここ数年で爆発的に増えました。そんな「知見を共有している人」「コミュニティをドライブしている人」「Thought Leader (サーバーレスはどうあるべきで、どういう製品でどうアーキテクティングすべきかを広く意見を発言しており、一定の評価を得ている人)」として、現在世界で 16名 がAWSサーバーレスヒーローとして認定されています。

私も光栄にもそのうちの1人として認定いただいてますが、他の15名は本当に本当に素晴らしい、僕にとっても憧れのヒーローたちです。

このイベントはなに?

今年から始まった、AWSヒーローが一同に会して交流を深め、今後のロードマップを聞いたり、AWSにフィードバックや要望をしたりする会です。今回は特にAWSヒーローのカテゴリの中でもソリューションカットなヒーローだけ集まって実現したようです。

初めてのイベント開催にもかかわらず、終始パワフルに、一筋縄でいかない人たち(サーバーレスヒーロー)を束ねて盛り上げてくれた Rebecca さん(サーバーレスヒーローのプログラムマネージャー)は本当にパワフルで気さくで面倒見がよくて最高の方でした。

1日目/2日目が AWS Developer Influencer Summit 3日目/4日目が Serverless Hero Summit でした。

当日のTwitterの様子

まとめておきました。

togetter.com

特によかった点

AWS re:Invent ではもう規模が大きすぎ、各ヒーローたちがそこでしっかり一同に会して時間を取るのはほぼ不可能になっています。そんなヒーローが何時間もかけてフィードバック、あるいはもっとサーバーレスを普及するためにどんな工夫ができるだろうかなどたくさんのトピックを討論でき、非常に楽しかったです。

The Spheres

今回、2012年、2013年ぶりのシアトルで、アマゾン本社の様子もガラッと変わっていたのですが、特に変わっていたのがアマゾン本社、通称DAY1ビルディングの隣にできていた「The Spheres」と「Amazon Go」でした。

Amazon本社の「The Spheres」ホントにカッコ良かったわ。うなるほどメンテナンス費用かかりそうだけど... 周辺の感じも前回(2013年)来た時のここらへんのオフィス街でっせ感とは少し別物になってた。

初日の終わりにThe Spheresのルーフトップでネットワーキングイベントをし、たくさんのヒーローたちと交流したり、日本人のコンテナヒーローである九岡さんとも久しぶりにお会いしました。うちのアプリケーションもコンテナを使ってますが、その上手な使い方に関して知見が得られてよかったです。

aws.amazon.com

なお、DAY1ビルのほうも以前よりも各部屋の内装が綺麗になり、中のカフェテリアも充実し、犬を連れて出勤している従業員もたくさん見かけるようになっていました。

Computer Museum

2日目の終わりにはシアトルのコンピューターミュージアムで送別会をやりました。サンフランシスコよりも所蔵物が多く、CRAY-1やさまざまなホストコンピューター、また時代ごとの考証を据えた展示がさまざまあり、サーバーレスの世界にいるけど、裏側にはたくさんのサーバーがあり、かつそれらにはさまざまな人たちの情熱の歴史があるなぁと感慨に浸ってたりしました。

Twitchチャレンジで優勝した

3日目は正直何をやるのかいまいちよくわからないタイムラインが提示されていたのですが、つまりAWSが運営するTwitchチャネルにおいて、各ヒーローたちが4チームに分かれて対戦を実況しようという企画でした。

正直ビビりましたね。アーカイブ公開もされちゃうものが生配信で実力を丸裸にされちゃうわけですし。

www.twitch.tv

内容は上記アーカイブのとおり、提示されたシナリオに沿ったアプリケーションの構築を、追加で提示される制約をかいくぐりながら実現し、そのアーキテクチャの優劣(そもそもちゃんと動くように)を投票で決する、しかも2時間で。という非常に厳しいものでした。

完全にチームメイトの Chris MunnsAlex CasalboniMichael Hartのおかげで優勝できました。 f:id:yoshidashingo:20190826014853p:plain

re:Inventでも国内でもGame DayやDeepRacer Leagueなどのチャレンジがあると毎回楽しんで参加させてもらってますが、今回もこうやって実際にその場でお題に対して短時間に集中して取り組むというのは非常に有意義だなと感じました。とてもとても楽しかったです。

その他

その他、参加してよかった点などなど

シアトル

直行便で行けるので楽。ラスベガスよりも楽。アクティビティがあまり多くないので遊び半分だといまいちだろうけど、とにかくこういうイベントは直行便で行けるとこがありがたい。

英語の話

昔からあまり英語をわざわざ勉強せずにとにかく目的の達成に十分な範囲なレベル感なので、今回ディベートやひたすら飲みまくるような場面ではちょっとコンプレックスだった。ブース出展したり、仕事を円滑に進めるって程度なら十分なのだけど、思ったことをすぐに全部伝えきるというのには足りなかった。費用対効果を考えると今からもっと取り組むべきかどうかは検討事項。

ナイスガイであれという話

それにしてもアマゾニアンもヒーローたちも全員ナイスガイ。ちょっと前から思ってることとして、海外の一流エンジニア、だいたいナイスガイなのね。そういうのを上まって余りある人もいるんだろうけど。お互いを全力でサポートして、気にかけてあげて、話を聞いてくれて。なので彼らといて議論する時間、だらだらと何時間も飲み続けてる時間すべてが楽しかったという、結構最近稀に見る場所だったなと感じました。帰りは本当に離れがたかったし。

ディベートについて

立ち話も含めてさまざまな場所で、さまざまなトピックで討論をしたのですが、ファシリテーションを専門的に学んでいた自分からしても、多くの人がディベートに慣れていました。トピックの投げ方、一発目の意見の出し方、遮らずかつ違った視点を加える意見を素早く差し込むこと、議論を整理して意見を付け加えること。そういう意味で、普段の組織の運営においてもおそらく重要な役割を担っているだろう彼らとの議論はどれも非常に有意義に展開されてよかったです。

まとめ

ということで、今後も自分は自分でできる限りいろいろなことに貢献していきたいと、あらためてモチベートされました。

Thank you AWS Cloud and all Serverless Heroes. Especially, thank you Rebecca, I appreciate your really really great job. You made me a hero.

東京での勉強会に関する統計的な投機的枠設定(オーバーアロットメント)をやりたい話

サイダス吉田真吾@yoshidashingo)です。

まぁ昔から言われてるんですけど東京で無料の勉強会やると歩留まりが50-60%くらいなんですね。

で、これについてみんな色々とやってるわけですが、

  • 無断キャンセルは次回以降お断り
  • 枠をこまかく分けてモチベーションの高い人は「ブログ枠」「実況枠」などで参加してもらう

あまり参加者全員の利便性を下げるような設定方法はダサいかなという思いもあり、ちょっと前から横浜ではやっていたオーバーアロットメント↓を東京でもちょこちょこやろうかなとしてます。

jawsug-yokohama.connpass.com

横浜は60席に対して80名の枠設定 (+33%)

これについては保守的な歩留まりで枠を設定したうえで、申し込み時点で当日先着順に来場してもらったうえで、入りきれなかった人は立ち見、状況的にそもそももう入れないと判断される場合は入場お断り(スムーズな運営や消防法的な観点から)することに同意しておいてもらうくらいはやったうえでかなと。

都内で無料100人規模で8割来ることはまずないので15%〜20%の超過割り当ては問題ないと思いますし、まぁそこらへんはよしなにやるんで良いのですが、これいちいち主催者がリスク取ってやるのも誰でもできるソリューションじゃないと思うんですね。ということで、できればこれをちゃんと統計取ってある程度安心できる数字を算出できるようにしたいと考えています。

特にまだ何をどうしようかなという話じゃないのですが、経験値的に感じるのは

  • 有料イベントは歩留まりが上がる無料は下がる
  • 人数が多いイベントは歩留まりが下がる30人くらいまでは9割くらいのことも割と多い
  • 会場によっても少し影響を受け 、歩留まりの下がりやすいイベント属性だと、会場の最寄駅、駅からの距離、馴染みのなさなどで噴射的に歩留まりが下がる
  • 数ヶ月前に申し込んだイベントは無断キャンセル率(未参加率と呼ぼうか)が多い。リマインダいくら送ってもあまり変わらない(ただしリマインダにより明示的なキャンセルは増える)

ということから、変数は現状の仮説は以下4点くらいかなと。

  • 有料/無料
  • 人数規模
  • 会場(エリア/駅からの距離/会場自体の初訪問者率)
  • 募集期間、あるいはイベントページのアクセス統計

ということで時間を見つけてこれらの変数を見極めたうえで予測モデルを作りたいなと思ってるところです。一緒に協力してくれる人がいると嬉しいです。というのと、もしこれ私がやらなくても今後もずっと我々が直面する課題であることには変わりないんで。(と、予防線も張っておいてみたり)

ServerlessDays Tokyo / Fukuoka 2019 を開催します

f:id:yoshidashingo:20190717133721j:plain

サイダス吉田真吾@yoshidashingo)です。

今年もサーバーレスなカンファレンスの季節がやってきました。

今回は2016年に初回開催をおこなったTABLOIDで開催します。 https://tokyo.serverlessdays.io/

また、今年は東京に加え、初の福岡開催も決定しました。 ※福岡のウェブサイトは近くアップされます。

ServerlessDays Tokyo 概要

  • 日程
    • 2019/10/21(月) ワークショップ @ DMM(六本木一丁目)
    • 2019/10/22(火・祝) カンファレンス @ TABLOID(芝浦)
  • 想定参加人数
    • 400名

ServerlessDays Fukuoka 概要

  • 日程
    • 2019/12/13(金) ワークショップ
    • 2019/12/14(土) カンファレンス
  • 想定参加人数
    • 120名

ServerlessDays Tokyoはスピーカーを募集中

https://www.papercall.io/slsdaystokyo2019

よくご質問いただく「スピーカーに期待するスキルセット」ですが以下のようなものです。とくに当たり障りはないかなと思います。

  • サーバーレスに関するThought Leadership
  • ビジネス上のpros/cons
  • 実開発から得た洞察・知見のストーリー
  • 開発者の興味・共感を得られる面白い個別トピック

内容については応募いただいた中から、本イベント主催のCo-Chairsによって選出されます。またご応募いただいた方の内容についてはCo-Chairsの選定時には匿名化されており、決定後も一定期間後適切に破棄され、再利用することはありません。

CfPメンタリング

どのようなストーリーがより興味深いか、またその内容について適切に概要説明を表現するとしたらどうなるかなど、応募前に悩むことも多いと思いますので、希望者の方にはCo-Chairsによるメンタリングを受けることが可能です。当然それで選定が約束されることは一切ないのですが、ネタはなんとなくあるけどうまくまとまらないといったもったいない状況に困っている人はぜひご相談ください。

サーバーレス、最近のトピック

こちらについても私個人の最近の注目トピックで、この中の話題じゃないとCfPにおいて選考されないというわけでは一切ないので、ぜひ参考程度に読んでみてください。

TL;DR

  • Strategy (Cloud 2.0, Serverless Doctorine, NoOps, Declarative vs Imperative, Microservices-oriented etc…)
  • Serverless Containers (like AKS, Fargate, GKE)
  • Architecture (Web Apps, Streams, Machine Learning, Glue-codes, API backend, VUI backend, GraphQL backend, Mobile backend)
  • Observability (like Datadog, X-Ray, Azure Monitor, Application Insights)
  • Zero-Scale Functional Containers (like Cloud Run, Knative on xxx)
  • ID(AuthN and AuthZ across inter-resources)
  • Developer Experiences (How to build, How to test, and CI/CD pipeline)
  • No(Umconfortable)Ops
  • JAMStack (SPA, REST API)
  • Security
  • and your own Story!!

真のクラウドのスケーラビリティ (Zero to Infinity)

「マシンとしてのサーバー」の多くがクラウド上に仮想化されましたが、ワークロードが少ないにも関わらず立ち上げっぱなしで課金されているものや、スパイクしても柔軟にスケール変更ができないため、ちょっと高度なレンサバ程度としてしか利用していないアプリケーションもいまだに多く存在します。

われわれがクラウドに求めているのは、ゼロから無限にスケールする「アプリケーションのスケーラビリティ」と、プラットフォームによってアプリケーションの実行結果にムラのない「ロバスト性」です。サーバーレスこそ真のクラウドであると私が信じるゆえんです。

コンテナ・エコシステムとのグラデーション

ゼロからスピンアップして無限にスケールすることがサーバーレスの特徴(おもにFaaSの特徴)ですが、コンテナの仕組みでゼロからスケールできるサービスが出てきたり、FaaSにおいても下回りのコンテナをあらかじめカスタマイズできるような制限緩和が進んでグラデーション状態にあります。

Cloud Runが東京リージョンで展開されましたが、コンテナのオーケストレーターとして地球征服を完了したKubernetesの上で、それよりも簡単にコンテナイメージのビルドからワークロードの実行まで管理できることで、この先注目度の上がりそうなサービスです。

Best-of-BreedなツールチェーンやDevOpsの話

サーバーレスのエコシステムはFaaSとイベントデータのルーティングという非常にコンセプチュアルなモデルを中心にアーキテクチャパターンを模索するというアプローチで発展してきました。ゆえに、Developer Experienceの観点から見ると、従来のDevOpsのツールチェーンなどがそのまま流用しにくく、アーキテクチャパターンに応じてベストプラクティスなツールチェーンを模索しなくてはいけない時期が長く続いています。

ゆえにプラットフォーマーごとにサーバーレスでも便利なサービスが発展するに合わせ、われわれユーザーはそこから「この構成について、今ならこの組み合わせがこういう理由で良さげだ」という知見を積極的に交換していく意義があります。これもわれわれが単にベンダーの提案の追認ではなく、コミュニティで知識の交流を促すべきと考える強い動機になっています。

宣言的記述(化)されていく Cloud 2.0 な世界

よくできたサーバーレスシステムは「リソースのオーケストレーション定義」と「ビジネスロジックの配備」だけでシステムがゼロから稼働状態になるべきなのですが、オーケストレーション定義とFaaS上のコードは今後より補完関係であることが明確になってくると考えています。たとえば、"アプリケーションログを分析基盤に積み上げる仕組み"をサーバーレスで構築するとして、ストリームと分析基盤までのETL処理のパイプラインがオーケストレーション定義のみで完結するのであればコードを書く必要はなくなります。ETL部分にどのような要件があるか次第ですが、たとえばKinesis Firehoseのみで済む要件であれば、それまでLambdaでやっていた処理を排除し、コードのない世界のほうがエンジニアに求められる保守性も小さくなって望ましいでしょう。

まだまだ先の話にはなりそうですが、世の中のほとんどのユースケースにおいて、サーバーレスはおそらくコードすら必要のない、ビジネスモデルをオーケストレーションする時代になっていくでしょう。これが真のクラウドコンピューティングの世界観でしょう。(Cloud 2.0)

また、この定義の「形式」がYAMLによるものか、はたまたコードを不要にするための定義をコードで記述できる世界になっていくのかというのも今日現在では楽しみなトレンドです。(PulumiやAWS CDKなど)

サーバーレスなユースケースの発見、アップデート

毎年、クラウドベンダーの提供サービスが充実するにつれ、明らかに今までサーバーレスでは難しかったユースケースを簡単に運用できるようになったパターンというのがあります。

Webアプリケーション、ストリーム処理、機械学習とそのパイプライン、システム間でのデータ連携、認証と統合されたREST APIやGraphQLのバックエンド, モバイルアプリのバックエンドなどなど。

知っていると知っていないだけで労力に大きな差が生まれるというのであれば、これらの知見も積極的にコミュニティを通じて共有されていくべきです。

Best of Breedなサービス連携を実現するIDaaS(AuthN/AuthZ)の話

汎用的なサーバー群の上に、必要なすべての機能を配置する従来型のモノリシックから、インターネット上の複数のドメインをまたいでリソースにアクセスする認可情報の引き回しが必要になります。ロックインしやすい部分でもあり、またおざなりな実装ではすぐにシステム全体の体験を壊し、ひいては大事故になりかねない部分であることもたしかです。

統合的な運用性、あるいはObservabilityの話

フルサーバーレスの構成でリリースしたアプリケーションにおいて、あるいはリリース前から悩まされることが、システム全体のデバッグのしづらさです。当然局地的にはX-RayでトレースすればOK、Datadogでログを見ればOK、あるいは俺はCW Logsを手探りで探し当てるからOKというツワモノもいるかもしれませんが、現実的ではないことは、システムを構成するFunctionが増え始めたときに必ず直面するはずです。

単なるデバッグにとどまらず、システムの健全性、パフォーマンスの測定や劣化検知、レート制限、さまざまな目的すべてを満たす、どんなアーキテクチャにおいてもとりいそぎこれ入れておけばなんでも大丈夫なベストなソリューションはいまだに揃ってないと考えています。ゆえに、これも実行環境のBest-of-Breedと同様に、アーキテクチャに合わせたBest-of-BreedなObservability設計の模索が必要になるはずです。

開発者個人の強化、あるいは生存戦略について

それでは上記のような模索をすることで、開発者個人が得たいものは具体的に何でしょうか。

毎晩ページャーに起こされるようなロバスト性の低いアプリケーションの運用から脱却したいとか、経営を悩ませる使用率の低い基盤やそれらを保守する人員コストからの解放なのか、ビジネスが要求する無限のスケーラビリティへの対応なのか、あなたのサーバーレスジャーニーはどうだったでしょうか。

それを共有するのがコミュニティです。ただ漫然と何かを教わる勉強会というのとは少し違うんです。

Serverlessconf → ServerlessDays への変更について

さて、サーバーレス・フリークな人からするとまずこのイベント名を聞いてあれ?と思ったかもしれません。今年は3年続いた Serverlessconf Tokyo の看板から ServerlessDays に看板を架け替えてみました。

これについては複数理由があるのですが、まずネガティブな理由ではない点だけははじめにお伝えしておきましょう。実際今年も10/7-9までNYCで開催されるServerlessconfには招待いただいて参加予定です。

https://nyc2019.serverlessconf.io

今回もっとも大きい理由としては「開催場所の増加への対応」です。

昨年のServerlessconf Tokyo 2018の懇親会において、今回福岡でメインのCo-Chairをやってくれる清家君から「僕も福岡でServerlessconfがやりたい」と相談されました。Serverlessconfについてはブランドガイドラインが強力であり、それなりにカンファレンス運営に慣れている私がやるにしても開催にそれなりのお金がかかるってしまうんですね。調整事項はできるだけ少なくして開催できるようにしてあげることを考え、いっそのこと東京も福岡も、この先もしかして開催されるかもしれない他の地域も比較的開催形式に自由度の高い選択が可能なServerlessDaysでやるのも良いかもしれないと考えました。

また、これは個人的な話で、初回2016年5月のServerlessconfをホストしており、東京のライセンスを快諾してくれたAnt Stanleyが次に立ち上げた「JeffConf」というイベントにも興味がありました。

ちなみにJeffConfの「Jeff」はPaul Johnstonが書いたこの記事に端を発します。 https://serverless.zone/serverless-is-just-a-name-we-could-have-called-it-jeff-1958dd4c63d7

JeffConfの開催に向けたコアメンバーは、Serverlessconfと少し違って、Ant Stanleyをはじめ上記のPaul Johnston(当時はMovidaのCTO)、また初回のServerlessconf Tokyoに来日してくれて、大阪や京都を一緒に回ったAlex Casalboni(当時はCloud Academyのエバンジェリスト)などのThought Leadersたちのコミュニティを中心としたものでした。その後JeffConfは順調に開催を重ね、去年の春のJeffconf Hamburgにおいて、Ant StanleyからブランドをJeffConfからServerless Daysに変えるアナウンスがされたのですが、そのハンブルグでAntと久しぶりに会い、東京でもそのうちServerlessDaysをやりたいなと話していたこともあり、またこの春 AWS Serverless Hero を Ant と同じタイミングで自分が受賞した縁もあり、これは良いタイミングかもなと判断するにいたったわけです。

ということで日本においては、世界で唯一ServerlessconfとServerlessDaysが陸続きになっているという素敵な状況なのですが、まぁこれは本当に私の個人的な事情による感慨深さなだけであって、皆さんは特に気にせず楽しんでください笑

スポンサーについて

ということでスポンサーも募集しています。ServerlessDaysは非営利なイベントなのですが、このシーンを盛り上げてくれるたくさんの会社さんとの永続的な関係性が永続的なエコシステムの育成につながります。公式サイトからお問い合わせください。

yoshidashingo.hatenablog.com

yoshidashingo.hatenablog.com

yoshidashingo.hatenablog.com

yoshidashingo.hatenablog.com

サポーターやスタッフについて

サーバーレスのコミュニティはとてもアットホームです。マサカリの投げ合いもなければ、ベンダー間の宗教戦争もない平和な場所です。クラウドベンダーに乗っかることが大前提のシーンであるにも関わらずこういった状況は非常に好ましいものと考えます。これもひとえに関わる全員がサーバーレスの未来を信じて一緒に盛り上げようとしてくれているからだなと思います。

ということでカンファレンスもそうですし、2ヶ月に1回ほど開催しているMeetupでも企画から当日の幹事まで、手伝っていただける方を募集しています。

未来は必ずサーバーレスになります。それはもうサーバーレスと呼ばれてないかもしれないけど、そんな未来を一緒に描いていきましょう。

f:id:yoshidashingo:20180929181957j:plain