Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

オートマトンを活用したiOS版メルカリ アッテの会員登録画面

今日は、iOSエンジニアの@orakaroです。

iOSエンジニアの皆さん、iPhone Xの対応はいかがでしょうか? メルカリアッテはようやくSwift4/RxSwift4/iPhone Xの対応が落ち着いたところです。

このブログでは、10月11日に開催した Souzoh iOS Talkの中で発表した メルカリ アッテを支えるオートマトンについて、より詳細な内容をお伝えします。

当日のスライドは下記になります。

speakerdeck.com

続きを読む

メルカリのQAエンジニアがテスト自動化に挑んだ話

はじめまして!QAエンジニアのkinoshです。

みなさんは「自動化」と聞いて、どんな期待をしますか?
生産性アップ?高い品質?スピード?いろいろな期待があると思います。
現在メルカリQAでは、繰り返し行われる部分や、機械のほうが得意な部分をどんどん自動化して、節約できた時間を、人間しか見つけられない作業(不具合を探索したり、仕様からリスクを洗い出したり)に使っていこうと日々奮闘中です。
この記事では、最近私が主導で進めたテスト自動化について、自身が学んだ知見などを共有いたします。

続きを読む

KubeCon + CloudNativeCon North America 2017にスポンサーとして参加します

SREの@deeeetです。

Mercariは2017年12月6日から8日にTexas Austinで開催されるKubeCon + CloudNativeCon North America 2017Silver sponsorとして参加します。

kubernetes(k8s)はMicroservicesの基盤やMachine Learningの基盤で使われ始めておりMercariにおいて非常に重要なインフラになりつつあります。またk8sだけでなくgRPCEnvoyといったCloud Native Computing Foundation(CNCF)にホストされてるプロジェクトの検証も積極的に始めています。

スポンサーとしての参加の大きな目的には参加者へのMercariの認知+採用がありますが、それだけではなく今後さらに発展していくであろうk8sやCNCFコミュニティとの繋がりを作っていきたいというのも大きな目的の1つです。

当日はブースも出しMercariについての紹介を行います。参加される方は是非現地で会いましょう(私も会議の合間にはブースに行こうと思っています)。

Mercariではk8sやコンテナ、またCloud Nativeなアプリケーションを支えるインフラ構築をやっていきたいSREを募集しています。興味がある方は是非連絡を下さい。

KPI に関わる数値の集計処理を Cloud Dataflow に置き換えている話

メルカリのバックエンドを支える SRE(Site Reliability Engineering) チームに最近加わりました @syu_cream です。

本記事では KPI に関わる数値を計算してレポートを生成する集計システムの刷新に取り組んでいる話を紹介します。 現在は刷新の途中であり、集計項目ベースでいうと 1/3 ほどの実装が済み、現行システムと刷新後のシステムの一部を並行稼動させている状態です。

背景

メルカリではアプリケーションのログファイルやデータベースから、 DAU(Daily Active Users) などの KPI に関する様々な数値を集計するためのシステムを稼働させています。 この集計システムは毎日 Slack やメールにて KPI のサマリーレポートを送信し、全社員が数値を閲覧し、日々プロダクトの傾向を意識することを可能にしています。 集計システムの動作イメージは下図のようになります。

f:id:syu_cream:20171101151417p:plain

また以前当ブログで紹介したとおり、メルカリではプロダクトの分析・改善のために様々なツールを用いています。 この集計システムでは日次の集計結果を MySQL に格納しており、これらの分析ツールからの数値の参照を可能にしています。

tech.mercari.com

しかしこの集計システムですが、創業間もないころから稼働しており近頃ではメンテナンスもあまりされていないレガシーなシステムとなってきました。 加えて、US, UK事業展開のため以前は想定されていなかったロジックなどを追加していった都合、実装が複雑になり機能拡張や運用が困難になっていました。 更に集計処理はシングルスレッドで実行されておりCPU パワーを使い切れていない、メモリの使用量が多いなどのマシンリソース使用面での問題点も顕著になってきました。

これらの課題を払拭するため、今回集計システムの刷新に踏み切った次第です。

続きを読む