タグ

ブックマーク / engineering.mercari.com (145)

  • Maintain SLO 〜俺たちのSLOはこれからだ!〜

    Merpay Advent Calendar 2019 の14日目は、メルペイSREチームの@Tがお送りします。 記事では、メルペイSREチームのSLO運用状況について、紹介いたします。 メルペイリリース前 去年のAdventCalendar 2018で、メルカリのWeb MicroservicesにおけるSLI/SLOについて紹介がありました。 メルペイでは新規のMicroserviceをリリースする前に、各MicroserviceチームがSLOを定義し、品質保持の一指標を決めるルールがあります。 メルペイSREチームでは、Microserviceチームと一緒にSLOを考え、各MicroserviceにSLOを定義していますが、一からSLOを定義するのはとても難しいです。 幸いなことにGoogle社からSLOの説明や定義方法などSREに関する素晴らしい記事がたくさん共有されており、SL

    Maintain SLO 〜俺たちのSLOはこれからだ!〜
    progrhyme
    progrhyme 2019/12/17
    よくできてる
  • メルペイのエンジニア組織をEMとして振り返ってみた | メルカリエンジニアリング

    この記事は Engineering Manager vol.2 Advent Calendar 2019 の 4 日目の記事(代打)です。 はじめまして。メルペイでBackendのEngineering Manager(以下EM)をやっている@keigowです。 Merpay Advent Calendar 2019 の初日で行われた、メルペイ VPoE による2019年の振り返りを受けて、メルペイのEM目線でもエンジニア組織を振り返ってみようと思います。 はじめに 振り返り VPoEの入社(2018年4月〜) PM/EM/TL体制の導入(2018年7月〜) リリースに向けた開発(2018年10月〜) メルペイ1stリリース(2019年1月〜) 大型キャンペーンと組織体制の変更(2019年4月〜) 技術負債の返済と採用(2019年7月〜) 成長とクオリティの追求(2019年10月〜) おわ

    メルペイのエンジニア組織をEMとして振り返ってみた | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/12/13
  • Datadog Dashboard at Scale w/ Terraform | Mercari Engineering

    こんにちは。株式会社メルペイSREチームの@kekeです。 Merpay Advent Calendar の9日目の記事です。 記事ではスケーラブルなDatadogモニタリングシステムをTerraformによって実現した方法を紹介します。 はじめに すでに多くの発表があるのでご存知の方も多いのではないかと思いますが、メルペイではマイクロサービスアーキテクチャを採用しています。 マイクロサービスアーキテクチャの略図 各マイクロサービスのデベロッパーは責任を持ってそれぞれのサービスを開発・運用しています。 SRE(Site Reliability Engineering)チームはシステムの信頼性を失うことなく高い開発速度を実現できるような仕組みづくりに取り組み、それをデベロッパーに提供しています。メルペイという金融事業の、高い信頼性の実現のためにサービスを横断的にモニタリングをしています。可

    progrhyme
    progrhyme 2019/12/12
    terraform化の事例
  • PHPWebのTemplateEngineをWebAssemblyに置き換えてみる | メルカリエンジニアリング

    こんにちはメルカリアドベントカレンダー 8日目はWebPlatform所属のmkazutaka(twitter: _mkazutaka)がお送りします。 みなさんWebAssembly(Wasm)についてどれくらい知っておられるでしょうか。「名前は聞いたことある」「ブラウザ上で実行可能なバリナリファイルでしょ」という方も多いと思います 最近ではそういった一面に加え、WebAssemblyをウェブの外で使うためのシステムインターフェースを決めるWASIプロジェクトの発表やFastlyのOSSであるLucetといったブラウザを超えた活用が増えてきております ではメルカリのようなWebサイトでどのようにWasmを使えるのでしょうか。少し考えてみてください … そう意外に思いつかないのです。fitzgen/dodrio(Rust*WebAssemblyで仮想DOMを実現するライブラリ)もありますが

    PHPWebのTemplateEngineをWebAssemblyに置き換えてみる | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/12/12
    アリなのではと思ったけど、インスタンス生成のコストがあるので、期待ほど性能は出なかったか
  • バッチコマンドをテストしやすいようにリファクタリングする | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の8日目は、メルペイ backend payment platform チーム の @knsh14 がお送りします。 はじめに 私はメルペイでお客様の残高を管理しているマイクロサービス(以下Balance Service)の開発を担当しています。 Balance Serviceは次のような定常的に動かしているバッチがあります。 有効期限があるポイントの失効処理 会計データの突合 毎日知りたいデータのレポート Balance Serviceではメルペイリリースに向けて限られたスケジュールの中で開発を進めていました。 サービスとしての実装を優先して開発をしていたため、まずはテストのカバレッジを挙げて動作を担保する方針をとっていました。 結果としてリリースから今まで大きな事故もなく運用できています。 ですが、1日目の記事にもあるように7月か

    バッチコマンドをテストしやすいようにリファクタリングする | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/12/12
    Goでcobra
  • メルカリエンジニアリング

    「Mercari Engineering」は メルカリのエンジニアに関する情報を、 オープンに公開・共有していくためのサイトです。

    メルカリエンジニアリング
    progrhyme
    progrhyme 2019/12/08
    よくまとまった内容に見える
  • https://engineering.mercari.com/entry/2019/12/01/microservices-migration-progress

    https://engineering.mercari.com/entry/2019/12/01/microservices-migration-progress
    progrhyme
    progrhyme 2019/12/08
  • メルカリとAWS:振り返り、そして今 | メルカリエンジニアリング

    こんにちは。メルカリアドベントカレンダー4日目担当、JPメルカリ SREチーム @siroken3 です。 日はメルカリで利用されているAWS技術について、どんなことに使ってきたか、2019年末までのふりかえりと現在そしてちょっと未来(?)についてお送りしたいと思います。 2019年末までのふりかえり メルカリでは2014年の創業以来、Amazon Web Services、AWSを採用しそのマネージドサービスを活用してきました。 Amazon S3 みんな信頼しているS3。当社ではお客さまが出品時に投稿した商品画像を格納している他、アクセスログのバックアップ先、MySQLのバックアップ先として活用しています。その他あまり表には出てこないのですが、パートナー企業様とのデータ連携でS3を使う場面が多いです。特にSFTPで連携する場合はAWS Transfer for SFTPが使えるよう

    メルカリとAWS:振り返り、そして今 | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/12/05
    まとめだ
  • Microservices と会計システム | メルカリエンジニアリング

    この記事は、 Mercari Bold Challenge Month の18日目の記事です。 こんにちは。メルカリで Product Manager として働いている津田と申します。私は社内で「会計システム」と呼ばれる、会社が運営するサービスに付随して発生した債権債務の増減を記録・集計するシステムを開発するチームで働いています。 はじめに メルカリでは、お客さまの行動に応じて日々さまざまなお金の流れが発生しています。たとえばメルカリで商品が出品され購入された(取引が行われた)場合を考えてみます。 この取引は、会社から見るとそれぞれの相手先に対する債権債務関係の変化と捉えることができます。メルカリにとっては、購入したお客さまに対する債権(= 商品代金)と出品したお客さまに対する債務(= 売上金)が発生します。このとき、商品代金の一定割合(通常は 10%)が販売手数料としてメルカリの売上とな

    Microservices と会計システム | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/10/11
  • INT 32 障害とその BOLD な対策 | メルカリエンジニアリング

    この記事は、 Mercari Bold Challenge Monthの11日目の記事です。 こんにちは。Mercariで、通知に関連するサービスの開発をしているNotificationチームへ所属している @sters です。 通知という広く大きい舞台でのマイクロサービス化を主に進めているチーム、という文脈でも語れることがあるのですが、それはまた別のどこかの機会でお届けします。 今回の記事では、とある日に起きたNotificationチームにも関連するインシデント=障害について、何が起きたのか、何が原因だったのか、実際にどのように対応をしたか、今後どのようにしていくかをご紹介します。 なお、インシデント対応については、少し前の記事でも紹介していますが、現在もここでの通り振り返りなどを行っています。 インシデント発生、一次対応まで とある日の夕方、あるお知らせが見えたり見えなかったりする、

    INT 32 障害とその BOLD な対策 | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/09/10
    お知らせのIDがINT MAXを越えるなんて当初の人は思わなかったんだろうな
  • 「社員体験」を追求したWi-Fi打刻システムWIASを開発、メンテナンスしている話 | メルカリエンジニアリング

    Icon made by Freepik from www.flaticon.com こんにちは。 今年度、新卒で株式会社メルペイに入社し、SREチームの配属になったkeke(Twitter: @_k_e_k_e)です。 記事では、メルカリの社内サービスであるWi-Fi打刻システムWIAS(Wi-Fi Attendance System)のお話をします。 会社に所属すると出退勤を記録する必要があります。その中で面倒に感じる、忘れてしまう、記録方法が分からない……など色々な問題が出てきます。しかし、Wi-Fiと勤怠システムをうまく組み合わせることによって社員体験を向上させることができた私達のチャレンジを紹介します。 目次 記事は以下のセクションで構成されています。ご興味のあるセクションだけでもご覧ください。 目次 WIASとは 「社員体験の向上」というゴール WIASの開発背景 旧システ

    「社員体験」を追求したWi-Fi打刻システムWIASを開発、メンテナンスしている話 | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/09/02
  • ナレッジグラフを使った解釈可能な推薦システム | メルカリエンジニアリング

    以下の図が、構築したナレッジグラフの一部分を図示したものと、その中から上の表に対応する部分を拡大したものです。 ナレッジグラフの属性ノードの情報を活用することで、お客さまが以前に購入したと同じ著者のを推薦するといった、商品情報をもとにした推薦が可能になります。 モデルについて 知識グラフを使った推薦は HeteRec [Yu et al., 2014] をはじめ、数年前から盛んに研究されています。今回はそのなかでも解釈性が高く、大きなデータにもスケールする KGCN [Wang et al., 2019] をもとにモデルを作りました。KGCN はグラフニューラルネットワークをもとにしたモデルです。技術的な詳細については英語版の記事を参照してください。 実験 以下の 3 つのタスクをメルカリののデータを使って実験することで、ナレッジグラフを使った推薦の有効性を確認しました。 商品推薦

    ナレッジグラフを使った解釈可能な推薦システム | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/09/02
  • mercari.go #9を開催しました | メルカリエンジニアリング

    はじめに こんにちは、mercari.go オーガナイザーの@morikuniです。 7月17日にメルカリ主催のGo勉強会 mercari.go #9 を開催しました。 この記事では、当日の各発表を簡単に紹介します! protoactor-goでPregelを作った話 1つめのセッションは @rerorero による「protoactor-goでPregelを作った話」です。 Goでアクタープログラミングをするためのフレームワークであるprotoactorについて紹介しました。 speakerdeck.com メルペイでの残高管理の話 2つめのセッションは @knsh14 による「メルペイでの残高管理の話」です。 イベントソーシングや冪等性の考え方を利用し、いかに正確にお客様の残高を正確に管理しているかついて紹介しました。 Readable code in Go 3つめのセッションは @a

    mercari.go #9を開催しました | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/07/31
  • MRグラス「Nreal Light」とスマホの5Gを想定したフリマアプリ「メルカリ」のデモ開発と展示で得た情報を一挙大公開! | メルカリエンジニアリング

    MRグラス「Nreal Light」とスマホの5Gを想定したフリマアプリ「メルカリ」のデモ開発と展示で得た情報を一挙大公開! こんにちは、株式会社メルカリの研究開発組織「mercari R4D」で、ARとファッションテックをテーマに研究している@ashyanagisawaです。先月、5Gによる未来を紹介するイベント「KDDI 5G SUMMIT 2019」にて、MRグラス(以下、スマートグラス)「Nreal Light」とスマホの5Gを想定したフリマアプリ「メルカリ」(以下、メルカリ)のプロトタイプを展示しました。国内初登場「Nreal Light」のデモ開発と展示で得た情報を一挙大公開します。 目次 出展の目的 1. 購入検討者がメルカリの出品物を”友人相談する” 2. 購入検討者がメルカリの出品物を”あらゆる角度から確認する” 3. 購入検討者がメルカリの出品物を”様々な環境下でスマ

    MRグラス「Nreal Light」とスマホの5Gを想定したフリマアプリ「メルカリ」のデモ開発と展示で得た情報を一挙大公開! | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/07/30
    未来感ある
  • Google Kubernetes Engine上のGoアプリケーションでのHTTPリクエストを行う方法 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの最後の記事です。 こんにちは、メルペイのバックエンドエンジニアの@gia.nguyenです。 私は第3回のGopher道場を卒業してから2018年12月に入社しました。 他の記事にも記載されましたが、メルペイのバックエンドは、Google Kubernetes Engine(以下、GKE)を使用して、マイクロサービスアーキテクチャを採用した多数のマイクロサービスから構成されています。マイクロサービスは主にGo言語を使って、開発しています。マイクロサービス間のコミュニケーションはgRPCでやり取りしていますが、外部サービスに対してはほとんどHTTPで通信を行っています。記事はGKE上のGoアプリケーションでHTTPリクエストを投げる際、いくつか工夫した点を紹介したいと思います。 TL;DR httptraceはデバッグに役立つ

    Google Kubernetes Engine上のGoアプリケーションでのHTTPリクエストを行う方法 | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/07/09
  • React-axe で React アプリケーションのアクセシビリティを向上させる | メルカリエンジニアリング

    こんにちは、この 4 月にメルカリに新卒入社したフロントエンドエンジニアの @karszawa です。 この頃は Google I/O 2019 のキーノートでアクセシビリティが大きく取り上げられたり、Safari に Audit タブが追加されアクセシビリティに関する様々なテストできるようになったりと、フロントエンド界隈におけるアクセシビリティへの関心の高まりを感じます。 記事では React アプリケーションのアクセシビリティをチェックするためのライブラリである React-axe と、その中心技術である axe-core を応用した様々なツールをご紹介します。 React-axe とは React-axe は React アプリケーションのアクセシビリティをチェックするためのツールです。チェックの結果は Chrome DevTools に表示され、開発中にアクセシビリティの問題に気

    React-axe で React アプリケーションのアクセシビリティを向上させる | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/06/20
  • メルペイのAML/CFTシステムを支える技術 | メルカリエンジニアリング

    株式会社メルペイのAML/CFTチームでバックエンドエンジニアを努めているyagi5です。この記事はMERPAY TECH OPENNESS MONTHの6日目の記事です。 私たちメルペイが目指すのは、単なる決済手段を提供することだけではありません。 「信用を創造して、なめらかな社会を創る」プラットフォームになることです。 そのためには、お客様がメルペイ、メルカリを「あんしん・あんぜん」に利用できなければなりません。 メルペイにおいてその役目を担っているのが、筆者の所属する「AML/CFTチーム」です。 この記事では、読者の皆さんには馴染みが薄いかもしれない「AML/CFT」について紹介すると共に、私たちが日々取り組んでいる、メルペイのあんしん・あんぜんを支える技術について書きたいと思います。 最後までお読みいただければ幸いです。 AML/CFTとはなにか AML/CFTとは「Anti-M

    メルペイのAML/CFTシステムを支える技術 | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/06/19
  • Apache Avro に入門した | メルカリエンジニアリング

    この記事は MERPAY TECH OPENNESS MONTH の 1 日目の記事です。 メルペイでソフトウェアエンジニアやっている @syu_cream です。 メルペイバックエンドシステムにおけるデータ・ログ収集と活用を促進するためのシステム DataPlatform仕事をしています。 記事ではこの DataPlatform で用いているデータフォーマット Apache Avro について、簡単な紹介とメルペイにおける導入背景、そして利用事例を示していきます。 ビッグデータ処理基盤においてフォーマット選定は頭を悩まされる課題かと思います。 ログフォーマット選定やスキーマ管理について、少しでもなにか得られるものがあれば幸いです。 Apache Avro の簡単な紹介 Apache Avro はデータがバイナリエンコードされる、軽量で柔軟なデータフォーマットです。 筆者としては B

    Apache Avro に入門した | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/05/24
  • AppEngineの旧Log APIを脱却したい話 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの3日目の記事です。 メルペイ ソリューションチームで毎日コード書いたりして遊んでいるvvakameです。 TL;DR AppEngine 2nd genでロックインAPIから解放され大脱出できるようになった AppEngine Log APIはオーパーツ(完全には真似できない) プラットフォーム出力のrequest logを使う アプリではapplication logだけ出力する 高度なフィルターの使い方を覚える 05/23 もらった情報をもとに追記をしました。 AppEngineはいいものだよ & 2nd genの台頭 メルペイではプロダクト提供のためにAppEngineはほぼ使われていません。だいたいのものがGKE上で動いていて、だいたいのDBSpannerです。しかし、お客様に提供するものではない、internalな

    AppEngineの旧Log APIを脱却したい話 | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/05/24
  • Datadogを使って感じた、問題調査/対応における変化とその要因 | メルカリエンジニアリング

    はじめに この記事はMERPAY TECH OPENNESS MONTHの4日目の記事です。 こんにちは。株式会社メルペイで backendエンジニアをしている cowsys です。 プロダクト/システムで発生した「問題」をいかにして解決するか。 いかに素早く原因を特定/解消し、正常化させるか。 上記のような「問題の調査と対応」は、backendエンジニアとして持ち続けている、大きなテーマの一つとしてあります。 メルペイの開発で初めてDatadogを利用してみて、このテーマが、大きく前進したような手応えを感じました。 ここでは最もインパクトのあった変化に絞り、どのような変化が起き、それは何によってもたらされたのか。 Datadogの導入事例として、また「問題の調査と対応」を考えるエンジニアとして、感じたこと、考えたことをお伝えできればと思います。 目次 はじめに 目次 利用しているData

    Datadogを使って感じた、問題調査/対応における変化とその要因 | メルカリエンジニアリング
    progrhyme
    progrhyme 2019/05/23
    なるほど