Amplify JUG運営会議の共有 – 2021/05

こんにちは!@watildeです。最近は社内の人に「AWSではじめるデータレイク」という本をオススメしてもらったので読んでいて、AWS Lake Formationが気になってます。AWS Glue ETL スクリプトはPythonとScalaがサポートされているようですが、JSerとしてはNode.jsでも書きたくなりますね。

TL;DR – Amplify Japan User Groupの動き

さて、表題のAmplify Japan User Groupですが、コミュニティ主催でのイベントを行うのにコミュニティメンバー内で議論を開始しました。今の所、7月に初回を開催できるように動いています。

当初のMeetup運営メンバーでツイートやアンケート結果などを元に意味合いを整理し、ビジネス的な目的で動くよりもOSSコミュニティとして再始動したほうが参加者・登壇者にとってより良い体験が生まれると結論にいたった、という背景があります。その後、コミュニティ内で活発に活動している方を何人か集めて議論の機会を何度か設け、次のイベント開催について話し合い、7月を目処に動いてみるとまとまったところで今回の記事を書くこととなりました。

これまでのAmplify Meetup

AWS社内のAWS Amplify(以下Amplify)好きな人たちが集まり、Amplifyを盛り上げようと2020年の7月31日にAmplify Meetup #01が開催されました。「Amplifyは簡単なアプリケーション開発だけではなく、会社のプロダクト開発でも活用できる」という想いを伝えるべく、様々な利用者の方に事例ベースで紹介をしていただき、3回のオンラインミートアップにて計13名に登壇いただきました。

参考

回を重ねるごとに改善が行われており、今後も何かしらの形で事例ベースでの紹介は続けられることと思います。一方で、他のOSSコミュニティと同様に開発者が主催となってコミュニティとして成長していくのに、別の形はないものかと考えはじめました。

Amplify Japan User Groupのはじまり

コミュニティとして成長するのに、入口として誰でもカジュアルにコントリビュートが可能なリポジトリとしてAmplifyの日本語リソース集を作成しました。私を含め、5名のコントリビューターで少しずつ情報を集め、50を超えるリンク集となりました。(引き続きPRは募集中です!)

https://github.com/aws-amplify-jp/awesome-aws-amplify-ja

また、各コントリビューターは継続的に記事を書くなどして活動を続け、最近では@tacckさんや@ikenyalさんなどがAWS Community Buildersという全世界を対象としたプログラムに参加を開始しました。このプログラムは、技術コミュニティで情報発信やOSSへのコントリビュートなどを積極的に行っている人をサポートする自薦式のコミュニティで、AWSのクーポンやグッズ、コミュニティSlackへの参加やメンバー向けイベントへの参加権が提供されるものです。

https://twitter.com/tacck/status/1393494893775912963
https://twitter.com/ikenyal/status/1393957164927000577

Node.jsなどのコミュニティ運営に関わってきて、その運営コストの高さを痛感していたので運営に対して何かしらのリターンが得られる仕組みが欲しいと考えていたので、一助として今後も活用できそうと感じたところです。この整理がついたのもあり、OSSや記事、イベントなどで活発的に情報発信しているコミュニティメンバーと次のイベント開催について会議を行い、この記事を書くに至りました。

結論として、7月を目処に、Amplify JUG(仮)としてオンラインイベントを開催してみることとしました。興味がある方はぜひ下記のconnpassに登録してupdateをお待ち下さい!

https://aws-amplify-jp.connpass.com/

これからのAmplify Meetup

詳細を色々と書いてきましたが、方向性としてはコミュニティ主催に切り替え、他のOSSコミュニティ系の勉強会と同様に今まで以上にカジュアルな雰囲気でMeetupの開催を行えればと運営メンバーと話してきました。CFP・登壇内容に関しても、今までは事例を中心に採択してきましたが、今後はtipsや内部実装の話など範囲を広げていけると思っています。

運営に関心がある方へ

現状はAmplify関連のOSSにコントリビュートしていただいている方や、Community Buildersの人たちと議論をしています。他OSSコミュニティと同様で、何かしらのアウトプットを活発に行っている方をお誘いしながら改善していきたいと思っています。コントリビュートの入口として先述のawesome-aws-amplify-jaはおすすめです 🙂

現状はイベント開催をメインに議論をしていますが、その他まだまだやれることは多くあるので興味ある方はぜひ@watildeか他運営メンバーにお声掛け下さい!


余談:私とAmplify、技術選定と将来価値

余談として、自分とAmplifyの話を少しだけゆるめに書いてみる。Amplifyとの出会いは2020年の7月頃で、下記のツイートが初ツイートっぽかった。当時は簡単にGraphQLが使えてサクッとアプリをホストできるPaaS的なものを探していて、同時に仕事でよく使うAWS上で展開するのに設計に悩んでた記憶。最初はDocker + Hasuraで作っていたんだけど、フロントエンドエンジニア視点でインフラを意識せずに使えるサービスがどうしても欲しくて調べた結果Amplifyに行き着いた。

https://twitter.com/watilde/status/1282573171451809792

実際に使ってみると、一度IAMアカウントさえ手に入れればインフラを意識せずにアプリケーションの開発に集中できるサービスだったので時間を投資してみることを決定することに。その後、今まで開発してきたPOC系の開発案件は全てこれでいいのでは、と思い始めた。継続的に使っていくうちに、バグや足りない機能なども見つかり始め、GitHubのissuesやソースコードを調べる時間も増えていったけど、OSSが故にcliやライブラリの内部実装を読めるので内部実装から逆算した実装をすることも少しずつ増えていった。

技術選択を行うときに、現状の機能・非機能要件だけを見るのではなく、開発チームやコミュニティの方向性を元に将来価値を大まかに試算することが大事だと自分は考えてる。Node.jsとかもそうだけど、ソフトウェアとは形が常に変わるものなので現状ってある時点のスナップショットでしかないなぁと。考え方としては、企業が将来生み出すキャッシュフローの期待値を元にした現在価値を算出するDCF法とかと似ていて、キャッシュフローを開発者数・コメント数・コミット数などに置き換えて何となく全体感を見るようにしている。

現在価値を調べる過程でAmplifyに関連したJDを見かけ応募、結果的に中の人になるに至った。今でも利用者としてAmplifyが好きなので、半分趣味みたいな感覚でAmplify関連のリポジトリにコントリビュートを続けている。

Scrum masterの資格を取った際に、開発チームは一つの機能をチーム内だけでデリバリーできることが重要と学んだけど、Amplifyのようなサービスを使うと実現しやすくなるように思っている。どうしても対応していない機能なども存在すると思うけど、そこはUser storyレベルでバランスを見つける方向で自分は対処している。

というところで、引き続きAmplifyに時間を投資してみる予定。

AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門