カテゴリー
技術

Gently down the stream – Apache Kafka の動く絵本

Gently Down the Streamは、Apache Kafka がどういうものであるかを紹介する、動く電子絵本です。

Kafka は、大量のイベントストリームを処理するためのオープンソースのプラットフォームで、もともとは LinkedIn が大量のユーザーの行動データをリアルタイムに処理分析してニュース通知などに反映する目的で作られたものだそうです。メッセージキューと似てるように聞こえますが、処理量や処理速度に対応するために特化改良されているそう。

自分も一見では「メッセージキューのツール?」ぐらいにしか思っていなかったので、Kafka だからこそできること、みたいなのを説明するためにこの絵本が生まれたのかもしれません。

ストーリーは、森に住むカワウソたちがお互いの家族間でニュースを広めあい共有するという世界観の中で、家族が増えたり共有したい情報がどんどん増えていくことで様々な問題が起こるところから、

家族が直接ニュースを伝えに行き来するところから、ニュースを伝えるメッセンジャーの導入。そして森の中の大河である Kafka川を、支流ごとに Topic に分け、そこで Producer と Consumer に分かれてイベントの投入と受け取りを分離する、Topic に流れるイベントがさらに増大した際に Topic を分割する Partitions 、といった概念を、カワウソで説明してくれます。

「これで完全に解ったのか?」と言われるとそこまで自信はないのですが、Kafka で使われる概念や用語について、読む前よりは少し知ることができたように思います。

なお、Apache Kafka については以下の記事も参考にしました。

カテゴリー
ネットのサービス

Zoomでジェパディー

Zoom Jeopardy! は、アメリカの人気長寿クイズ番組ジェパディー(Wikipedia)をZoom上で再現し、友達と遊ぶことができるアプリケーションです。

アメリカでは知らない人はいない、というぐらい有名なクイズ番組で、ジョパディであれば遊び方をわざわざ説明する必要なくZoom 上で遊ぶことができるのでしょう。

Zoom でつなげ、背景をグリーンスクリーンにした参加者を、ホストが指名することでジョパディのセットの中に合成して表示されます。

ただし、勝手に番組のフォーマットとブランド名、そっくりに再現したセットや過去の問題文と回答を使っているので、サービスとしては完全にアウトだと思われます。ゲームのルールだけなら大丈夫そうなのですが。

Derivative 社の TouchDesigner というヴィジュアルプログラミング環境の上で構築されていて、Zoom + TouchDesigner + Zoomジェパディーの3つをインストールし、友達を招待すれば始まります。

ソースコードはこちら ソースというかアプリデザインツール上のデータファイルです。このツールでできることを見せるために作られたようなゲームとも言えますね。

新型コロナウイルスの影響で直接会えない状態が続いていますが、オンライン会議やオンライン飲み会だけでなく、オンラインでの遊び方を提供するサービスに今後チャンスが増えるかもしれないですね。権利を持っている公式がこういうサービスをやれるとしたら、面白いかなと思います。

カテゴリー
ネットの事件

Curl プロジェクトが Travis-CI 無料枠を外されそうだとして対応を開始

URL転送ライブラリとそのコマンドラインツールとして有名な Curl プロジェクトの GitHub issues で、travis-ci の無料枠が使えなくなる(travis-ci shuts down the free tier for us)というチケットが上がっています。

有名CIサービスである travis-ci にはオープンソースをサポートする無料枠があり、GitHub 上の多くの OSS プロジェクトで travis-ci が利用されているのもそれによるものです。

curlプロジェクトでも 2013 年から travis-ci で CI を回しており、現在は33個のジョブが走っているそう。今年の3月までは、特別にCPUブーストもしてもらえていたということですが、このブーストは予告なしに止まっていたそう。

travis.ci は今 travis-ci.org から travis-ci.com へのドメイン移行を進めているのですが、この移転でオープンソース無料枠を再度申請したいが、他のプロジェクトに対するメールでの返答にあった「無料枠を使える条件」が引っ掛かりそうだ、とCurl作者のダニエル・ステンバーグ氏(Daniel Stenberg)が述べています。

  • 申請者はプロジェクトのリードかレギュラー貢献者である
  • プロジェクトは3か月以上の歴史を持ちアクティブである
  • プロジェクトはオープンソースの定義(OSD)に合致する
  • プロジェクトは営利企業や組織にスポンサードされていない
  • プロジェクトは有料サービスやソフトウェアの有料版の配布をしていない

ステンバーグ氏はwolfSSL社に属し、勤務時間中にCurl プロジェクトの管理やサポートをしてよいことになっているのですが、これが上記の5つの4番目にどうしても抵触してしまうだろうということ。

氏は「他の無料枠のあるCIサービスへの移行」「CIツールをセルフホストして使う」「寄付を募ってTravis-ci を有料枠で使い続ける」などの取りうる選択肢を示し、意見を求めています

コメント欄や twitter ではすでにいくつかの他のCIサービスから引っ越しの提案が出たり、CIツールの変更についての作業を手伝いたいという人も出てきています。

今のところ、あくまで他のOSSプロジェクトに対しての Travis-ci の返答から出ている話のようで、Curl プロジェクトの CI が止められているとか止められそうというわけではなさそうです。ただ新しいルールがあるならそれに違反したまま使い続けるのは後日のリスクとなるかもしれないですね。

コメントの中には、「Travis-ci は内部で Curl を使ってるだろう。Travis-ci が Curl を無料で使えるように、Curl が Travis-ci を無料で使えるよう例外扱いしてもらえばいい」と言ったものもあります。これは Travis-ci も応じるかもしれませんが、その他の多くの同様の OSS プロジェクトについてこのような例外が得られるわけではないですね。

OSSプロジェクトを支援するためにOSS開発者を社員にしたり、スポンサーとして援助したりというケースは多く、そのおかげで続いているOSSプロジェクトもあるでしょう。Travis-ci を含めた各CIサービスも無料枠の abuse などで無料枠の継続がたいへんな状況になっていることもあり、この後も他プロジェクトで同じような話が出てくるのではと思います。