Mercari Engineering Blog

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

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 パワーを使い切れていない、メモリの使用量が多いなどのマシンリソース使用面での問題点も顕著になってきました。

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

続きを読む

退屈なブラウザ作業はSeleniumにやらせようーーはじめてでもできるブラウザ操作自動化

f:id:tadashi-nemoto0713:20171026161553p:plain


こんにちは、メルカリのQA-SETチームで自動化をぶりぶりしている tadashi0713 です。

これまではモバイルアプリ・WebアプリのE2Eテストを中心に自動化をしていましたが、最近ではプロダクト部門・カスタマーサポート部門・コーポレート部門の業務自動化にも挑戦しています。

今回はSelenium WebDriver (以下 Selenium) を使って簡単にできるブラウザ作業自動化についてご紹介します。

10/25にGitHub JapanでLT発表した資料もありますので、合わせてご覧ください。

english-lt.connpass.com

speakerdeck.com

続きを読む

Android Device Farm at Mercari

Hello everyone! Vishal from SET team.

Having offices in different regions such as Tokyo, San Francisco and London, we thought it will make sense to share our devices across regions before setting up our own device farm. And we did it using OpenSTF on GCP. In this blog post, I will share our experiences and hacks we used to setup STF at Mercari.

Why Device Farm?

Delivering high-quality apps across all of the different devices and OS combinations is a major challenge for all mobile app developers. Only way to confirm app quality is by testing on various devices. This will require buying lots of devices which brings another big problem of device management. It is very difficult to manage devices across teams and projects. If we can have a central system where all devices are connected remotely, and these devices can be accessed for development and QA purpose on-demand, this would be the ideal solution. And OpenSTF is the only open-source tool available currently which let us do so.

続きを読む