Rentioの2019年を振り返る [開発編]
レンティオでエンジニアをしてますカミヤと申します。2020年も早くも一ヶ月が経とうとしていますが、2019年は開発チームとしても大きく変化のあった年でした。たくさんの出来事がありましたが、特に印象に残ったものたちをピックアップしてご紹介します。
※トップの写真は2019年1月の屋形船新年会で撮影したものです
1. HerokuからAWS東京リージョンへ移行
創業からずっとHerokuにおいていたRentioのアプリケーションサーバーをAWSに移行しました。夜中の3時頃からサイトを停止(メンテモード)して2時間くらいかけて移行したのを思い出します。
herokuには概ね満足していたのですが海外サーバーによるレイテンシが一番の移行理由です。移行してからは体感でもわかるくらいレスポンスが改善したので満足しています。
AWS移行を決める前にHeroku Enterpriseの導入検討も行いましたが、コスト面を考慮してAWSを使うことにしました。AWS内ではDocker+ECSでアプリケーションを動かしています。ついでに開発環境のDocker化も行いました。
2. Solidusからの脱却
2016年4月、それまでカラーミーショップ(ECサイト運営のASP)上で動かしていたRentioをRailsアプリケーションへ移行しました。当時はエンジニア1名体制だったということもあり、SolidusというEコマース機能を提供するOSSをベースにRentioを構築しました。
その後もしばらくお世話になっていたSolidusですが、多機能なぶん制約も大きく、アプリケーションの規模が大きくなるにつれてSolidusが足かせになる場面が増えてきたように思います。機会があれば書こうと思いますが、Solidusは越境ECにも対応できるよう配送や関税周りの実装が複雑で日本国内向けECに使うにはオーバースペックでした。
開発メンバーが少ないうちはメリットの大きなSolidusでしたが、今後もアプリケーションの規模と複雑さが増すのであれば、Solidusを外して内製化したほうがベターと判断してのことでした。今ではSolidusを外したことでより自由度の高いコーディングができるようになったと感じています。
[追記] Solidusを外した経緯についてはこの記事が詳しいです
3. トップページリニューアル
(これは開発チーム側の仕事と言うよりもデザインチーム側メインの仕事でもありますが)
2017年から使っていたトップページのデザインをリニューアルしました。Rentioの成長を支えてくれたページで気に入っていたのですが、イラストのモデルとなっている商品も廃盤になってしまっていました。新しいデザインは、レンタルを通して実現できる新しいライフスタイルをコンセプトとしてリニューアルした形です。
開発チームではマークアップのみ手がけたため作業量としては大きくないのですが、印象的な案件だったので挙げさせていただきました。
4. DWHを作った
これまではアプリケーションのDBとRedashを直接繋げて各集計を行っていましたが、アプリケーション実装のためのスキーマ構造と分析しやすいDB構造は異なります。求めるデータがより詳細で複雑になるにつれてSQLだけで集計するのが難しくなってきていました。
また社内のコーポレート部門が拡大し、彼らが必要とするデータを正確かつスピーディに取り出せるための仕組みが必要となりました。
これらの課題を解決するため、予め扱いやすく加工したデータをBigQueryに書き出しておくことで、簡単なSQLで必要なデータを取り出すことができるようになりました。これによりKPIの確認が容易になったりコーポレート側がより正確な数字をもとに業務に取り組めるようになりました。
BIツールにはRedashを採用し、さらにSlack内にRedash botを立てることで各種KPIを定期的にウォッチできる仕組みを作りました。
5. 同一製品のページをカタログ単位で統合
Rentioには何種類かのレンタルプランがあるのですが、中でも代表的ななものとして短期間のレンタルと月額プランの二つがあります。
これまでは1プラン1ページで注文を受け付けており、仮に全く同じ製品でもプランが異なれば別々のページで注文受け付けていたのですが、同じ製品ごとにページの統合を行いました。必要に応じてURL末尾にパラメータを付与してアクセスすることで指定したプランのページを表示できるようにしています。
重複する情報が統合されページ数が減ったことにより、情報の一覧性向上とアクセシビリティが改善できたと思います。
6. 協業が増加
これまでも製品メーカー様との協業はあったのですが、ありがたいことに2019年は急激に協業が増加した年でもあります。Rentioの知名度が上がったというのもありますが、新しい試みをしたいメーカー様と新しい消費行動を作りたいレンティオの目的が一致したというのが一番の理由かと思います。レンティオの目指す新しい消費行動は、メーカー様の協力なしには実現は難しいためこれからもこの方針を推し進めてゆきたいと思います。
なお、協業に伴い先方へのデータ連携や新しい販売方法に対応するため事業部側と細かな調整と改修を重ねたというのが開発チームとしての仕事でした。
[参考] レンティオの目指す世界についてはこちらが詳しいです。
7. 開発チームの社員が1名→4名に
2019年冒頭には社員1名+業務委託メンバーという開発チームが、2020年には社員4名+業務委託メンバーという人数構成になりました。
単純な開発リソースの増加という面もありますが、1名だと脳内リソースの問題で同時に進められるプロジェクトの規模に限界があります。業務を理解するメンバーが増えることで複数のプロジェクトを同時進行できるようになったと感じています。
反面、チーム規模も大きくなったことでプロジェクトの進め方を見直すときが来ているようにも思います。2020年は体制を整えてそれぞれがパフォーマンスを発揮しやすい環境、チームを目指すことをテーマに取り組んでいくつもりです。
---
こんな感じでしょうか。
もちろん細かなチューニングや改善系は日々重ねていますし、対外的に出しにくいものは省いています(もし興味があれば直接聞いてください)
2020年もRentioをどうぞよろしくお願いします!
この記事が気に入ったらサポートをしてみませんか?