ユニファ株式会社
Rubyとつくるスマート保育園®
多くの保育園では昼食後などに午睡の時間を設けている。その間、保育者は眠っている子供の体勢を定期的にチェックして記録し、午睡中の事故を予防する業務を行なっている。このチェックは一般的に0歳児だと5分毎に行われるため、様々な年齢の子供を預かる保育園では気の抜けない大変な業務になっている。
この業務の負担を軽くするサービス「ルクミー® 午睡チェック」をはじめ、保育者の様々な業務をサポートするプロダクトを提供しているのがユニファ株式会社だ。
Ruby biz グランプリで特別賞を受賞するなど、高い評価を受けている同社のプロダクト開発について、CTOの赤沼氏にお話を伺った。
ユニファがめざす社会
- 御社は保育士さん向けにさまざまなサービスを展開していますね。
もともと保育者向けにサービスを提供することが目的だったわけではなく、“家族の幸せ”を増やしていきたいというのが一番にありました。それを社会インフラにしていきたいというのが我々のPurposeです。
家族の幸せといっても最近は核家族化が進んでいますし、女性の就業率も上昇していますので、家族の力だけでは難しいところもあります。特に乳幼児がいるご家庭だと保育施設の果たす役割がとても大きいと考えています。
家族の幸せを実現していくために、いかに保育の課題を解決し保育の質を上げていけるのかが重要になりますので、そういったところにプロダクトを提供しているのが現在の状況です。
ルクミー®のはじまりとRubyのスピード感
- 2016年にルクミー®でRuby biz グランプリ特別賞を受賞されていますね。ルクミー®の立ち上げはどのような感じだったのでしょうか。
受賞した2016年頃のルクミー®というのはルクミー®フォトを指しています。それ以降にルクミー®午睡チェックなど複数のプロダクトをリリースしまして、ルクミー®は今ではルクミー®シリーズ全体を指すブランドになっています。
最初のルクミー®フォトは2014年頃にスタートしまして、主力プロダクトにもなっているルクミー®午睡チェックは2018年の4月から正式サービスをスタートしました。ルクミー®午睡チェックを作った後は一気に増えて、今では6個のプロダクトを提供しています。
- 途中からサービスの増えかたが凄いですね。
ルクミー®フォトもルクミー®午睡チェックもそうですが、サービスの立ち上げスピードはRubyとRubyを活かしたRuby on Railsの特性が大きいと感じています。
特にルクミー®フォトは当初、正社員のエンジニアが居ない状態で立ち上げたのですが、社内に開発体制が無い中でもサービスをリリースまで持っていけたのはRubyの特性があると思っています。
- Rubyで全てのサービスを開発しているのですか?
サーバサイドはほぼRubyで開発しています。
私が入った後に開発体制を整えエンジニアを採用していったのですが、初期に入ってもらったメンバーはRuby経験がない人も多く、他の言語をやっていた人もRubyにスイッチしてもらいました。Rubyは言語の仕様が直感的であり学習コストが低いので早期にキャッチアップすることができ、開発体制を整えるスピードに大きな効果があったと思います。
- Rubyで解決できたところはありますか?
我々はスタートアップですので、いかにサービスを立ち上げられるか、運用をしっかりやっていけるか、そういったところをRubyやRuby on Railsを使って解決していきたいと考えていました。
最初にリリースする段階で作り込み過ぎず、サービスの利用状況をみて改善を重ねていきますので、リリースした後に調査やデータを調整する運用もあります。そういう場合にirbやRailsコンソールを使うことで、エンジニアがデータのオペレーションや運用を行うことができるところはRubyのやりやすいところです。
瞬間的な負荷を支える技術にもRubyを活用
- サービスの成長に伴うインフラの負荷が気になるのですが、サーバーのサイジングはどのようにされていますか。
以前はマネージドのVPSサービスを使っていたので、急にリクエストが増えた時などは、どうしようもないことはありましたが、クラウドに移行してからはそういった面も気にして構成していますので、必要に応じてスケールしています。
ルクミー®午睡チェックでは、5分おきにスパイクするようなアクセスがありDBの書き込みが急に増えますので、メッセージキューイングサービスを使って非同期に書き込むようなアーキテクチャにする工夫をしています。
最近ではサーバーレス環境で動くプログラムもRubyで書くようにしています。Rubyが扱えれば環境ごとに別の言語を覚える必要がないので良いですね。
これからのユニファ
- 今後の展開をお聞かせください。
ルクミー®フォトから始まり、これまでのプロダクト1つ1つの強みは発揮できるようになりました。今後はこれらプロダクト間の連携を強め、保育施設内の業務をある程度網羅できるようなパッケージングにしていきたいと考えています。それには、多岐に渡る保育園の業務をいかにカバーし、トータルソリューションとしていけるのかがテーマになっています。
そういった中でスマート保育園®を増やしていきたい、それが我々の目指しているところです。
※本事例に記載の内容は取材日時点(2021年2月)のものであり、現在変更されている可能性があります。
事例概要
- 会社名
- ユニファ株式会社
- 開発した主なシステム
- ルクミーシリーズ
- ルクミーフォト
- ルクミー午睡チェック
- キッズリー など
- 利用技術
- Ruby, Ruby on Rails, Rspec, Sidekiq, Resque,
- Postgresql(RDS), Redis(ElastiCache), DynamoDBK,
- AWS(S3, EC2, SQS, Lambda, ECS, Fargate, ECR, API Gateway, Route53, WAF, CloudWatch など)
- ニーズおよび解決したかったこと
- 家族の幸せを生み出す あたらしい社会インフラを 世界中で創り出す
- 保育分野の課題解決
- 保育者の時間と心のゆとりを確保することで、結果的に保育の質の向上に貢献する
- 保育に携わる方々の業務をサポートし、より良い保育環境をつくる
- Ruby採用理由
- 言語仕様が直感的で少ないコード量で書ける
- Ruby on Rails の立ち上げスピード
- irb/rails console での運用作業のやりやすさ
- AWS Lambda による Function 実装が可能
- Ruby採用効果
- 短期間でのサービスリリース実現
- 外国籍メンバーを含むエンジニア採用の実現
- 運用や追加開発のスピード
- 他言語エンジニアによるキャッチアップコスト抑制