atWareさんで出張Akkaワークショップを行ってきました

マーベリックの技術広報リチャード伊真岡です。

今回横浜にあるatWareさんのオフィスでAkkaワークショップで行ってきました。atWareさんはScalaMatsuriのスポンサーやScala先駆者インタビューなど様々な活動を行い会社としてScalaコミュニティ、その他技術コミュニティの発展に貢献されています。またかとじゅんさんを講師として招いてドメインモデリングワークショップAkkaハンズオンも開催するなど社内での技術教育・啓蒙にも力を入れています。

今回はatWareさんに私の知り合いがいたことから実現したワークショップ。私が以前にOSS貢献をしていたころの経験談と、それから私の得意分野であるAkkaについてお話しさせていただきました。

さてこちらはatWareさんのオフィス。WeWorkオーシャンゲートみなとみらい内にあり、とてもキレイなオフィスでした。

f:id:maverick-techblog:20190828123819p:plain

前半はOSS活動について。私リチャードはakkaというJava/ScalaのOSSに100件ほどコントリビュートしたことがあるので、その時の経験をもとにOSS活動に対して私が持っている心構えを紹介しました。私自身の考えをお話しましたが、とはいえOSS活動というのは人それぞれの形があるので、GitHubにpull requestを送らなくてもOSSの普及や発展に少しでも間接的であっても貢献できればそれは立派なOSS活動だと私は思います。atWareの皆さんにはOSSにすでに貢献したことがある方もいましたし、今後のOSS活動に意欲的な方がいたようなのでそれぞれのみなさんが満足のいくOSS貢献の形を見つけていただければ嬉しいです。

f:id:maverick-techblog:20190828123926p:plain

後半はAkkaについて。よくある「Akka入門」という話に終始せず、より踏み込んだ中級者向けの内容になるように意識しました。

akkaはすでにモジュールの数が多く「なぜこんなに沢山あるのか…」と感じてしまうかもしれませんが、akkaの発展の歴史を振り返ればそれぞれのモジュールが当時その時点で課題となったことを解決するために作られたことがわかります。その歴史を把握することで各モジュールの関係性が明確になるのではと考え今回の内容に組み込みました。

それから私見とLightbend社のFast Data Platform構想を交えて「Akkaを導入するにはどういうパターンがあるか?」という点にまつわる話もしました。Akkaは学習負荷が小さくはないツールなので、Akkaの全てのツールを取り入れてシステムを作るのは苦労する面があるとおもいます。そこで最初からAkkaを最大限活かす方向性の導入方法と、部分的・あるいは段階的にAkkaを取り入れるパターンについて紹介しました。

とはいえせっかくAkkaに興味をもってくれたなら、やはりその良さを最大限活かすAkka actor + persistence + cluster-sharding を使ったフルパワー(?)構成で使うAkkaの力を知ってほしいと思っています。そこでいずれAkka Clusteringハンズオンをやりたい、そこで練習をとおしてAkkaの真の実力を体感してほしいというお話をしました。

勉強会の後は懇親会を開いていただきました。VimConfスタッフをしているasanoさんと話してカンファレンス・技術コミュニティ話で盛り上がったのですが、atWareさんは2017年から継続的にVimConfのスポンサーをしていて2018年は唯一のプラチナスポンサーだった会社です!Vimユーザの皆さんにはとても頼もしい会社ですね!

vimconf.org

今回の勉強会について楽しく振り返ることができ、また今後私が技術広報として企画していきたいことについても相談に乗っていただき非常に有意義でたのしい一日でした。atWareさんとマーベリックの絆も深まったことでお互い技術コミュニティに今後一層貢献していきたいと思います。