2017年7月12日水曜日

ChatWorkイベントレポート:DataWorks Summit SanJose 2017 (旧Hadoop Summit) で登壇しました!

  • このエントリーをはてなブックマークに追加

ChatWorkは6月13日(火)ー6月15日(木)で開催されたDataWorks Summit SanJose 2017 にて、チャットワークのScala移行から得られた技術的な知見について講演をおこないました。

今回はその登壇模様をレポートします。


DataWorks Summitとは


DataWorks Summitは昨年までHadoop Summitと呼ばれていたイベントで、Big Data系では老舗のカンファレンスです。初日におこなわれたHortonWorks社CEO Rob Bearden氏のオープニングキーノートによると、今年は700件以上の登壇の応募があり、その中から約160の講演で構成されているとのことでした。ChatWorkの登壇は、約4.3倍の狭き門を突破しての講演となりました。また、とても光栄なことに、DataWorks Summit SanJose 2017では日本からの講演は私たちの講演のみでした。

                                                                                    初日のオープニングキーノートの様子

講演内容


講演は、ChatWork コアテクノロジー開発室 大村伸吾と、NTTデータ 技術革新統括本部 土橋昌氏との共同講演の形で、"Worldwide Scalable and Resilient Messaging Services by CQRS and Event Sourcing using Akka, Kafka Streams and HBase"というタイトルで講演をおこないました。メインテーマは、昨年末に実施したチャットワークのScala移行で得られた知見です。

本プロジェクトは、Apache Kafka、 Apache HBaseという分散ストレージを採用するChatWorkとしても初めての取り組みだったため、Hadoopを始めとする分散処理技術を活用した開発・運用経験を豊富に持っているNTTデータのご協力をいただき、ミドルウェア利用に際して理解しておかなければならない特性、チューニングポイントなど、多岐に渡り助言をいただきました。

                                                    講演中のChatWork 大村(左)とNTTデータ 土橋氏(右)

講演では、そもそもなぜチャットワークがシステム移行に迫られたのか、成長し続けるチャットワークを支えるために、CQRS、EventSourcingというシステムアーキテクチャパターンがなぜ採用されたのか?Akka、Kafka Streams、HBaseといったミドルウェア群が、チャットワークのユースケースにどうフィットしたのか、CQRS、Event Sourcingのアーキテクチャの中でどのように活躍できるのか、について報告しています。また、このアーキテクチャの元で、システムの耐障害性、スケーラビリティ、可用性についてのトレードオフについて得られた知見も報告しています。

講演後の大村のコメント

IT業界において、BigDataという大きなパラダイムシフトを起こしたHadoopの老舗カンファレンスで、登壇の機会を得られてとてもうれしく思います。

今回の発表のメインとなっているScala移行プロジェクトは、増え続けるチャットワークのトラフィックを、今後も支えていくためのプロジェクトでした。システムのスケーラビリティ、耐障害性要件が厳しく、Kafka、HBaseといった分散ミドルウェアの採用もチャットワークとしては初めての取り組みだったため、NTTデータの協力を得つつ、チャットワークの開発チームが一丸となって全力で取り組んだプロジェクトでした。

そうしたプロジェクトの成果が、こうして、世界の大舞台で発表できたことは大変うれしくもあると同時に、世界に認められるレベルのシステム構築であったと思えることは、チャットワークの開発に携わる1人として大きな自信にもなりました。

CQRS、Event Sourcingを活用した実システムの事例は全世界を見てもまだあまり見られないこと、通常Apache Kafkaはセンサーデータやイベントデータを大量にデータ分析基盤に継続的に保存する目的で使われることが多い一方で、いわゆるトランザクション系のアプリケーションにおけるEvent Sourceとしての利用は、可能性を示唆する情報は多い中、実事例が少ないことが、こうした世界規模の舞台で発表の機会をつかむことができた一因になっているのではないかと感じています。

開発に関わってくださった皆さま、設計からご協力いただき数々のアドバイスをいただいたNTTデータの皆さま、本当にありがとうございました。

まとめ


ChatWorkは成長し続けるチャットワークを支えるべくおこなわわれたScala移行で得られた技術的知見が、DataWorks Summitという、IT業界におけるBig Dataというパラダイムシフトの一翼を担ってきたカンファレンスで登壇機会を得ることができました。

今後も成長し続けるチャットワークを支え、最高のプロダクトを提供し続けるために共に開発できる優秀なエンジニアを募集中です!ユーザー目線で開発ができ、現場の開発環境を豊かにしていける人材を求めています。私たちと一緒に働きませんか?

エンジニア募集要項
http://corp.chatwork.com/ja/recruit/engineer/index.html

参考リンク


  • このエントリーをはてなブックマークに追加

Chatworkをご存知ですか?

Chatworkは、業務の効率化と会社の成長を目的とした、メール・電話・会議に代わるコミュニケーションツールです。
Chatworkを試してみる

導入効果・活用事例などがわかるChatwork製品資料配布中!

Chatwork製品資料配布中!