クリアル株式会社

1万円から始める。不動産投資クラウドファンディング

今回は、Ruby bizグランプリ2020でVertical Solution賞を受賞したCREAL(クリアル)について、クリアル株式会社 CTOの太田 智彬氏にオンラインにてお話を伺った。(以下「」内は太田氏発言)

CREALは2018年11月に開始した、1万円から始められる不動産投資クラウドファンディングサービスである。
不動産投資クラウドファンディング運用資産残高No.1を3年連続で獲得(※1)している。
今まで一般の個人投資家では、なかなか投資の機会がなかった大型の不動産への投資やESG不動産投資ができる点が特長であり、CREALの保育所ファンドなど複数の事例が、国土交通省の『不動産特定共同事業(FTK)の利活用促進ハンドブック』に掲載されている。

クリアル株式会社は2011年創業であり、クラウドファンディング事業・不動産ファンド事業・アセットマネジメント事業をメインにしている。
Ruby bizグランプリ受賞当時は株式会社ブリッジ・シー・キャピタルという社名であったが、2021年3月に社名変更し、現在のクリアル株式会社となった。
機関投資家向けのファンド事業『CREAL pro』や、グループ会社のクリアルパートナーズ株式会社による投資用区分マンション販売を行う『CREAL partners』サービスがある。

※1 日本マーケティングリサーチ機構調べ(2021年6月期 指定テーマ領域における競合調査)

法改正への迅速な対応

「不動産投資クラウドファンディング事業を行うには、国土交通省管轄の不動産特定共同事業法(不特法)の許認可が必要で、この法律に従って事業を行わなければなりません。
このライセンスを用いたビジネスモデルは歴史が浅く、不動産特定共同事業法や関連する法令の改正が定期的に発生するため、サービス運営者としては迅速に対応する必要があります。
サービス開始後にも法改正やガイドライン制定の動きが活発にあり、そこに対応する必要がありました。」

短期間で告示された内容を理解し、修正箇所を洗い出して修正を行う。この対応を行う際にRailsで実装していたことが役に立っているそうだ。

「他の言語で同じことをやろうとすると、とても時間がかかりますが、Railsの機能やGemのおかげで、かなり早いスピードで対応できたと思います。」

認証ライブラリが充実しているRuby(Rails)

「金融系のサービスではセキュリティ対策へのプライオリティが非常に高く、何よりも優先すべき事項として取り組んでいます。
そのため、開発言語選択の際には、信頼性の高い認証ライブラリが存在しているかも判断基準の一つにしていました。
Rubyの認証ライブラリはいくつかありますが、中でもdeviseはとても有名なGemです。
オープンソースで多くの人の目にさらされていて、様々なバグフィックスやセキュリティフィックスを乗り越えてきたので、非常に磨かれたライブラリだと思います。」

Gemを選ぶ時の基準について聞いてみたところ、以下のように教えてくれた。
「GitHubのスター数や、コミット数、コントリビュータの数など、どれだけ多くの人の目に触れられて、どれだけの人に使われてるかっていうところはやっぱり注目して見ていますね。
あと、直近のアップデートです。
例えば、多くの人に使われていても、最終更新日が1年前だったりすると当然使えません。
基本的にはこの2点を見ていますが、先述の条件を満たさなくても優れたライブラリはあるので、
そう言った場合はコードリーディングをして問題なさそうであれば使用しています。」

必要なライブラリはある程度揃っていたとのことだったが、要求を満たすライブラリがなかった場合は独自ライブラリを作成したそうである。
「必要なものはほとんどありますが、ないものは自分達で作ります。
具体的には、GoogleのFirebase Authenticationを用いた認証ライブラリがそれにあたります。
公開されているものは、実装が微妙に古かったり、メンテナンスされていなかったりしたので、自前で作った方がよりセキリティが担保できると判断しました。」

テストもGemが役立った

「我々はお客様の大切な資産をお預かりしており、ミスが許されないので、テストは非常に重要視しています。」
とのことで、多くのテストコードを作成しているのだそうだ。

「テストケースの数は、このプロダクトの規模では相当書いていると思います。
また、JavaScriptで作成しているフロントエンドのコードを、あえてRubyコードに寄せて、テストコードを実装しやすくし、品質を担保していくという取り組みをしていたりします。」

単体テストにはRSpecが役立ったそうだ。
「単体テストを増やして、きっちり運用し続ける事が、サービスの品質向上に繋がります。
良いテスティングフレームワークを使用し、効率よくテストしなければ品質が上がりません。
そのため、RSpecがあるRubyを採用しました。」

他言語から来た人の立ち上がりの速さ

Rails人材は転職マーケットで採用競争が激化しているため、他言語の経験しかないエンジニアも積極的に採用してきたとのことだ。

そもそも、立ち上げ当初は2人のエンジニアで開発していたが、Railsの経験豊富な太田氏と、もう1人は優秀ではあるが、RubyやRailsの経験はあまりなかったエンジニアだったそうだ。
「ローンチ時は予算も少なかったため、少人数で品質を担保しながら、速いスピードで開発する必要がありました。」
この厳しい条件をクリアできた要因は、
「彼自身が非常に優秀なエンジニアだったこともありますが、Railsは学習コストが少なくて済み、その相乗効果で迅速な開発をすることができました。」
とのことである。

その後、増員をする際にも他言語のエンジニアを積極的に採用したが、スムーズに移行できたようである。
「Railsは学習コストが低く、すんなり入っていけるフレームワークです。
他言語からのコンバージョンみたいなところはやりやすかったので、RubyやRailsの経験がなくても積極的に採用してきて、うまくいっています。」

アプリもインフラもできるエンジニアがいる強み

CREALは、毎週本番リリースをしているとのことである。
頻繁なリリースを可能にしていることとして、CI/CD環境を整備して、自動的に本番環境にリリースできる仕組みを整えていることを挙げてくれた。
アプリとインフラどちらもできるエンジニアが多いことも効率的なサービス運営に貢献しているようである。

「インフラとアプリを兼ねている人が多いので、クラウドとGemをうまく組み合わせるというのは得意です。」
とのことで、具体的な例として、LogrageとSidekiqを挙げてくれた。

「たとえば、Logrageは、ログのフォーマットを整形するGemなんですが、GCPのBigQueryとうまく連携させて、簡単な設定だけでログが転送できる仕組みを作ったりしています。」

「メール配信では、Sidekiqを使っています。
SidekiqのプロセスをKubernetes上に載せており、配信数が激増しても、Sidekiqの特性をいかしつつ、Kubernetesのレプリカ数の設定をちょっと変えるだけで、大量のメールでも簡単にさばけるような形をとっています。」

リファクタリング

リファクタリングに力を入れているとのことで、リファクタリングを続けるコツなどを伺ってみた。
「システムエンハンスを早いスピードでやっていくと、技術負債が積み上がることがよくあるのですが、これは障害の原因になる可能性が高いので、早めに解消するようにしています。
具体的には、毎月技術負債と認識している部分をメンバーでディスカッションし、全員のコンセンサスが取れた場合は通常のエンハンスを止めて、リファクタリングだけの時間をとるようにしています。このような運用が品質の維持を可能としています。」

社内勉強会

社内勉強会も定期的に行っているそうで、どのようなことをしているのか伺ってみた。
「毎週エンジニアチームで時間を取って、Ruby/Railsのアップデートの情報はもちろん、インフラや、ブロックチェーン 、AIなどの情報をシェアしています。
社外の勉強会に行ったメンバーからは、その内容を簡単な資料にまとめて発表してもらっています。
あくまで強制ではなく、話したいことがある人に話してもらう感じで、今日なんかある人って言ったら毎回誰かしらは手を挙げてくれています。」

今後について

最後に今後取り組んでいきたいことについて伺ってみた。
「サービスに関しては、CREALを成長させていくのはもちろんですが、今のところファイナンスの機能しかないので、物件の仕入と売却のところもIT化を進めていきたいなと思っています。
Rubyについては、静的解析の機能が実装されたので、試してみて良さそうであれば、プロダクトに積極的に導入していきたいと思っています。」

※本事例に記載の内容は取材日時点(2021年9月)のものであり、現在変更されている可能性があります。