タイミー の技術ブログ

『ユニコーン企業のひみつ』を読んで。サービスの開発のように組織も計測しながら進むことが大切だと感じた

こんにちは タイミー CTOの kameike です 昨日発売された、 『ユニコーン企業のひみつ――Spotifyで学んだソフトウェアづくりと働き方』 のレビューです。 書籍の発売前に抽選でもらえるキャンペーンに当選し、献本をいただきました。「謹呈」ののし紙がついた本をいただいたのは初めてでテンションが上がりました。 タイミーも現在の20名のプロダクト組織からスケール

新規事業の決済機能としてStripeを導入する上で考えたこと全て

こんにちは、 タイミーデリバリー 開発チームの宮城です。 この記事は JP_Stripes Advent Calendar 2020 の10日目の記事です。 タイミーデリバリーはデリバリーを頼みたい人が安い価格で注文でき、飲食店も安い利用料で注文を受けられるデリバリープラットフォームです。 その決済機能として今回は Stripe を導入しました。 この記事では、決済基盤の技術選定/Stripeを活用したク

増え続けるXaaSのユーザ管理をソフトウェア化していくお話

コーポレートエンジニア(兼いろいろ)をやっている @sion_cojp です。 本当はやり遂げた状態を発表したかったのですが、道のりも長かったため、今やっていこうとしてる内容を記事にしてみました。 この記事を見てタイミーのコーポレートエンジニアに興味を持っていただけたら幸いです。 TL;DR 増え続けるXaaS、ユーザ管理、複雑化 残されない手順書 我々がやりたいこ

ECSで通常時とスパイク時のオートスケールを運用する

こんにちは、サーバサイドエンジニアの @Juju_62q です。 今回はタイミーで実践しているECSのオートスケール戦略についてお話ししようと思います。 TL;DR タイミーではTarget Tracking ScalingとStep Scalingを組み合わせてオートスケールをしています Target Tracking Scaling -> 通常のスケールアウト・スケールイン Step Scaling -> スパイク時のスケールアウト 2つを組み合わせることで、様々

RailsのAPIサーバーのエラーレスポンスで例外に対応するエラーコードを返却する

はじめましてこんにちは。 夏が本気を出してきて最近麺類しか口にしていないサーバサイドエンジニアのかしまです。 この度 API にてHTTP Status Codeとは別に、例外に対応するエラーコードを返すよう奮闘したのでその知見を共有したいと思います。 やりたいこと API にて例外が発生した場合、以下の形式でレスポンスを返すようにします。 { "errors": [ { "code": &#34

オフィスのネットワーク構築についてのお話

SREとコーポレートエンジニアをやっている @sion_cojp です。 今回は新オフィスのネットワーク構築を実施したので、こちらについてお話します。 私自身、学生時代の研究や、10年前にデータセンターのネットワーク構築しか経験がないため、所々おかしな点があるかもしれませんが、ご了承ください。 また今回相談に乗ってくださった @kajinari さんに感謝の意を表します。

Rails + RSpec + OpenAPI3 + Committeeでスキーマ駆動開発を運用するTips

こんにちは、 タイミーデリバリー 開発チームの宮城です。 今回は弊社のOpenAPI3ベースの スキーマ 駆動開発の運用方法を紹介します。 TL;DR 技術スタックは OpenAPI3, Swagger UI, Committee, ActiveModelSerializers Committeeを利用してOpenAPI準拠のRequest Specを行う OpenAPI3のrequiredキーワードに注意する 背景 タイミーデリバリーでは、 Rails による API サーバーと、Web管理画面としてVue.jsによるS

RedashをFargate, Datadog, Terraformで構築/運用する

こんにちは、タイミーSREチームの宮城です。 今回は弊社が Redash をFargateで構築/運用している話を紹介します。 背景 タイミーでは、CSやセールスのKPI策定から毎月の事業数値に至るまで、Redashが様々な用途で活用されています。 Fargateで構築する以前はEC2上のdocker-composeで運用されていましたが、以下の課題がありました。 オートスケールできないため、クエリが詰まって