Rentio Tech Blogさんのフィード
https://zenn.dev/rentio
レンティオ株式会社の開発チームが運営するテックブログです!
フィード

AWS Lambdaで動いているRedash Slack botをServerless FrameworkからAWS SAMに移行しましたよ
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオでエンジニアをしている櫻井です。今回は、私たちが社内で活用しているツールの継続的改善について紹介します。具体的には、AWS Lambda上で動作しているRedash Slack botをServerless FrameworkからAWS SAM(Serverless Application Model)に移行しました。このツールはOSSとして以下のリポジトリで公開しています。https://github.com/rentio/redashbot-sam Redash Slack botとはレンティオでは、データ分析のためのBIツールとして...
1日前

RubyKaigi 2025 参加レポート
Rentio Tech Blogさんのフィード
こんにちは。レンティオ株式会社でエンジニアをしている太田です。4/17~4/19に松山で開催されたRubyKaigiに参加してきました!気になったところをまとめていきます。なお、レンティオは今回のRubyKaigi 2025にシルバースポンサーとして参加しました。クーポンなどのノベルティも配布しており、手に取っていただいた方がいらっしゃればうれしいです。 1. はじめにRubyKaigiへの参加は2018年以来でした。ユーザーカンファレンスではなく、言語そのものの開発者が集まるカンファレンスに参加できるというのはとても貴重な機会です。それが日本国内で、しかも多くのセッションを日...
8日前

Algoliaで実現するファセットナビゲーション: 実装と課題解決
Rentio Tech Blogさんのフィード
レンティオでエンジニアをしているサヤマです。2025年1月にレンティオの商品一覧画面(分類画面)をリニューアルしました。月間数百万PVのサイトで商品一覧ページをベストプラクティスに沿って改善した話でいざ実装しようとなった時の過程を記載します! 1. 調査まずは要件とワイヤーフレームがあったのですが、実装イメージが湧かなかったのでそこから調査を始めました。デザイナーを交えてプロトタイプデザインを作りました。プロトタイプデザインはこんな感じでしたリニューアル前は商品一覧画面(分類画面)ではAlgoliaを使って商品情報をReactで表示させていました。次の調査はそれをファセッ...
1ヶ月前

月間数百万PVのサイトで商品一覧ページをベストプラクティスに沿って改善した話
Rentio Tech Blogさんのフィード
家電レンタルサービス レンティオでCTOを務める神谷(@kmy4_)と申します。先日、レンティオの商品一覧画面をリニューアルしました。レンティオをご存じでない方のためにお伝えしておくと商品点数が数千、月間のページビューが数百万ほどの規模感のサイトです。今回リニューアルした商品一覧画面や絞り込み機能は訪問者がサイト内を快適に回遊するためにとても重要なページです。こういったページは多くのサイトに存在していることから先人の知恵が多く蓄積されベストプラクティスの確立されている領域でもあります。今回のリニューアルに際してリサーチを重ねたのですが、Webの世界に長いこと身をおいているものの新し...
2ヶ月前

AWSのコスト可視化の取り組み
Rentio Tech Blogさんのフィード
はじめにこんにちは、レンティオでエンジニアをしている坂元です。レンティオではAWSコスト最適化の一環として、Cost and Usage Report(CUR)とAthena、Redash、Slackを使ったAWSコストの可視化を行ったのでその取り組みについて紹介します。 Cost and Usage Report(CUR)とはhttps://docs.aws.amazon.com/ja_jp/cur/latest/userguide/what-is-cur.htmlAWSのコストや使用状況の詳細なレポートをS3に出力してくれるサービスです。レポートは、Athena、R...
3ヶ月前

BigQueryでParquet出力したファイルをRedshift Spectrumで読み込む際のつまずきポイント
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオ株式会社でエンジニアをしているMasaruTechです。このエントリは AWS Analytics Advent Calendar 2024 の12日目の記事です。今回は、BigQueryのデータをParquet形式で出力してRedshift Spectrumで読み込もうとした時にいくつかつまずきポイントがあったのでその紹介をしようと思います。 Parquetとは正式名称は Apache Parquet です。詳しい説明はここでは省きますが、CSVのような行指向と違い列指向データファイルなのでRedshift SpectrumでS3からファ...
5ヶ月前

ステージングサイトでAmazon Aurora Global DBを試してみた
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオでエンジニアやっている宮原です。今回は本番環境で導入されているAmazon Aurora Global DatabaseのPostgreSQL※のDBエンジンのバージョンアップを行いたかったので、一時的にステージング環境に同じものを構築して気軽に試せるようにしてみました。この記事では自分のプロダクトでも試してみたい人向けに手順をざっくりまとめてみました。※詳細は 🌏レンティオのディザスタリカバリ(災害復旧)への取り組みで導入 参照 試されるフルスタック、AWS戦闘力はいかほどかちなみに私のAWS戦闘力は無料のAWS Cloud Ques...
5ヶ月前

カスタムフックで作る範囲選択可能なチェックボックス
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオでエンジニアをしている小島です。レンティオでは一部の管理画面を React (Next.js) で作っています。一覧系の画面を作るとき、特定のアイテムをチェックボックスで選択して何かアクションを実行したいことがあると思います。AWS コンソールでよく見ますね。さらに、1つずつ選択するのが面倒なので Excel のように Shift キーを押しながら範囲選択したくなりました。そのやり方を残しておこうと思います。 動作イメージ始点にチェックを入れた後、Shift キーを押しながら終点をクリックするとその範囲すべてにチェックを入れます。チェックを...
6ヶ月前

レンティオでのGitHub Actions/AWS連携の事例
Rentio Tech Blogさんのフィード
エンジニアのKIMIです。ちょっと更新頻度が落ちてしまいましたが… 自分のためにも定期的にアウトプットしていこうと思っています。この記事では、GitHub ActionsでjemallocをインストールしたRubyイメージをビルドし、ECR Publicにプッシュするまでをご紹介します。 なぜレンティオではalpineを使っていますので、jemallocを別途make installする必要があります。(slimにすれば?という声が聞こえてきそうですが、がんばります)これをインストール済みイメージを使うことで、デプロイ時の数分の待ち時間をなくそうという魂胆です。やることは...
7ヶ月前

AWS Copilot の Addon 機能を使ってロードバランサをカスタマイズする
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオ株式会社でエンジニアをしている松田です。レンティオでは、2021年10月にAWS Copilotで本番運用を始めてから2年ほど経ちました。初期からCopilotを使ってきただけあって、当時なかった機能はAWS CDKなどで実現していました。しかし、Copilotも順調にアップデートを重ね、 便利な機能がどんどん追加されています。今回はそういった機能の中でも特に便利なAddon機能について、レンティオでの利用例も交えて紹介したいと思います。 AWS Copilot の Addon 機能とはAddon機能を使うと、Copilot側で作成するリ...
1年前

レンティオのディザスタリカバリ(災害復旧)への取り組み
Rentio Tech Blogさんのフィード
はじめにこんにちは、レンティオの坂元です。レンティオでは、AWS CopilotやAWS CDKを使ってAWSでインフラ環境を構築しています。これまでマルチAZ対応はできていましたが、東京リージョンが何らかの理由でダウンした場合に備え、他リージョン(ここでは大阪リージョン)でサービスを復旧できるようにディザスタリカバリの対応しました。この記事では、ディザスタリカバリについてどのような対応をしたのか、AWS Copilotを使った他リージョンへのサービスのデプロイについて共有できればと思います。 レンティオのインフラ構成レンティオのサービスは大まかに図のような構成になっ...
2年前

Redash を AWS Copilot CLI で構築する
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオの小島です。レンティオでは BI ツールとして Redash を利用しています。Redash は OSS であり、マネージドサービスがないため自前でホスティングする必要があります。もともと AWS に構築していましたが、数年経ち当時構築したメンバーがいないこともあってメンテナンスに課題がありました。そこで今回社内でも馴染みのある[1] AWS Copilot CLI を使ってリプレイスしたため、その紹介をしたいと思います。ちなみに Redash by AWS Copilot CLI には先駆者がおり、たいへん参考にさせていただきました。htt...
2年前

リリース内容をGitHub ActionsでSlack通知できるようにしてみましたの巻
Rentio Tech Blogさんのフィード
こんにちは。昨年12月に入社して半月ほど現場研修を経た後、開発チームに参加した新入エンジニアの宮原です。今回は、入社前から外部サービス(Integromat)を使って全社発信していた リリース内容お知らせチャンネル の自動通知をGitHub Actions化してリニューアルした件について紹介したいと思います。 リリース内容お知らせチャンネルとは?弊社で開発した機能のアップデートなどGitHubのPullRequest単位でマスタブランチにマージされるとリリース内容を自動発信してくれているSlackチャンネルです。開発チームとほか部門(CS,マーケ、バイヤー ...etc)との情...
2年前

packwerk + graphwerkでRailsアプリの依存グラフを眺めて見よう
Rentio Tech Blogさんのフィード
こんにちは。エンジニアのMasaruTechです。最近、packwerkが気になっているので触ってみていました。その中でpackwerkのREADME.mdにgraphwerkという依存グラフを描画してくれるライブラリが紹介されているのを見つけました。そのgraphwerkを使っていろいろなRailsアプリで描画して眺めていたらおもしろいなと感じたので、今日はそれの紹介をしたいなと思います。 packwerk導入とgraphwerkでのグラフ描画手順packwerk,graphwerkをGemfileに追加してインストール※graphwerkはGraphvizを利用して...
2年前

零細ECサイトが月商数億になるまでのサイト構成の変遷を振り返ってみた
Rentio Tech Blogさんのフィード
レンティオでCTOをつとめています神谷(@kmy4_)と申します。当社では、カメラや家電全般をレンタルできるECサイト、レンティオを運営しています。https://www.rentio.jp/今回はタイトルにもある通り、2015年の創業から今に至るまでのレンティオのサイト構成の変遷と、その意思決定の背景について書いてみたいと思います。もともとレンティオは東京都大田区の端っこで創業した零細ECサイトでしたが、約7年の期間を経て月間流通総額が数億円規模のECサイトにまで成長しました。一般的な物販ECであれば業態に合わせてShopifyやBASE等を活用するのがほとんのケースにおいて最...
3年前

レンティオのiOSアプリを公開した背景と技術スタック選定について
Rentio Tech Blogさんのフィード
レンティオ株式会社でCTOをつとめている神谷と申します。先週の話ですが、レンティオでは待望のiOSアプリをリリースしました🎉本記事では、アプリを作るという判断をした経緯や、技術スタックとその構成を選択した理由等について書き残してみたいと思います。何かの参考になれば幸いです! レンティオアプリの概要本アプリは、商品探しやレンタルの注文などができる、いわゆるECジャンルのアプリです。サイトからの注文などはWebサイトでもできることではありますが、アプリならではの機能を活用することでよりよいユーザー体験を提供しようという狙いがあります。たとえばレンタル品の返却日リマインドをプッ...
3年前

jemalloc をRuby3.0, ECS Fargate で使う
Rentio Tech Blogさんのフィード
レンティオのKIMIです。唐突ですが、sidekiq-cron で動かしているJob のメモリ使用量が気になり始めました。ということでサクッと[1]ECS のタスク定義を変更して多くメモリを割り当てるかタスク数を増やすでもよかったのですが、jemalloc を導入してみることにしました。jemalloc については、検索すると先人たちの "試してみた" 記録がたくさん出てきますのでそちらを見ていただくとして、ここではRuby 3.0[2], AWS Fargate での利用実績という判断材料を提供できればと思います。(古くからあるテクニックなのでいまさら感もありますが、Ruby ...
3年前

既存のRoute 53リソースをCDK管理にした話
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオ株式会社でエンジニアをしている木内です。レンティオでは AWS CDK を採用していて、新規のリソース追加などは基本的に TypeScript で記述してインフラのコード化を進めています。現在はこのような運用になってはいますが、CDK 採用前に AWS コンソール上から作成したリソースも一部残っていました。Route 53 のリソースはその一部だったのですが、以下のような課題がありました。レコードセットが多く、管理が煩雑になっていたレコードセットの追加、更新の経緯が追いづらい今回はこのような課題があった既存の Route 53 リソース...
3年前

レンティオの本番環境をAWS Copilot/Fargate構成に切り替えた話
Rentio Tech Blogさんのフィード
はじめにこんにちは。レンティオの開発チームです(今回は長文となるため複数メンバーの合作でお届けします)https://www.rentio.jp/レンティオでは、Infrastructure as Code ツール(Architecture as Code[1]と書くべきでしょうか)を Convox から AWS Copilot に移行するプロジェクトが今年6月ごろからスタートし10月に無事本番稼働が実現できました。この記事では意思決定の経緯や切り替えにあたって工夫したこと、諦めたことなどを少し共有できればと思います。サービス移行の話が中心ですが、初めて Copilot を...
3年前

Redash Slack botをAWS Lambdaで動かすようにしましたよ
Rentio Tech Blogさんのフィード
レンティオ株式会社でエンジニアをしているKIMIです。先日、社内で利用しているRedash Slack bot (Slack にRedash のDashboard, Query URL を投稿するとグラフ, クエリ結果をキャプチャして返してくれるやつ) をAWS Lambda で動かすようにしたのですが、Redash, Slack Bot for Redash にはものすごく感謝していて、我々も微力ながら貢献できればなということで成果をシェアしたいと思います。そのままでは動かないと思いますが、参考になる部分が少しでもあればうれしいです。https://github.com/rent...
4年前