株式会社メルカリ の技術ブログ

Elasticsearchのパフォーマンス問題をプロファイラを使って解決する

search infra teamのmrkm4ntrです。我々のチームではElasticsearchをKubernetes上で多数運用しています。歴史的経緯によりElasticsearchのクラスタは全てElasticsearchクラスタ専用のnode pool上で動作していました。ElasticsearchのPodは使用するリソースが大きいため、このnode poolのbin packingが難しくコストを最適化できないという問題がありました。そこで全てのElasticsearchクラスタを専用のnode poo

人間によるKubernetesリソース最適化の”諦め”とそこに見るリクガメの可能性

Platformチームでエンジニアをしている sanposhiho です。メルカリのPlatformチームでオートスケーリング周りの課題の解決を担当しており、Kubernetes UpstreamでもSchedulingやAutoscaling周りの開発に参加しています。 メルカリでは全社的にFinOpsに取り組んでおり、Kubernetesリソースは最適化の余地があるエリアです。 メルカリではPlatformチームとサービスの開発チームで明確に責務が分

品質の可視化への取り組み:バグ管理の事例紹介

こんにちは、メルカリのQAエンジニアのFunakiです。今回は品質改善と可視化のための取り組み、特にバグ管理(Bug Management)に焦点を当てて、QAチームがどのような活動を行っているのかをご紹介します。 我々は2018年頃からバグ管理の取り組みを始め、試行錯誤を重ねてきました。製品の品質に関する課題を抱えた方や、品質の可視化を進めたいと考えている方にとって、

メルカリEngineering Roadmapの作成とその必要性

はじめに こんにちは、メルカリの日本リージョンのCTOを担当している@kimuras と申します。2023年4月にCTOに就任して現在Marketplace、Merpay、Mercoinの技術的な責任者を担当しています。本稿では、この1年間で注力してきた、Engineering Roadmapの作成についてお話したいと思います。内容によっては、ある程度の組織の規模感にならないと適さない内容となってしまうかもしれませ

Offsitesのワークショップでの4つの工夫

この記事は Merpay Advent Calendar 2023 の 24 日目の記事です。 こんにちは、メルコインの @pooh です。 メルカリグループでは金融事業を営んでいるメルペイとメルコインのEngineering Manager(EM)で普段とは別の場所に集まって1日集中して議論をするOffsitesを定期的に実施しています。 この投稿ではOffsitesそのものを紹介するのではなく、Offsitesでよく実施されるワークショップ(参加

メルカリの中長期技術投資 プロジェクトRFS: 約2年の振り返り

こんにちは。メルカリMarketplace, Foundation EngineeringのDirector, @mtsukaです。日々新しい技術を追い求め、挑戦を続けるMercari Engineeringですが、そんな部門にしては少し毛色の違った部類のチームです。どちらかというと、中長期の視点から、より良いビジネス貢献であったり、より良い開発体験を支える基盤開発を中心に、じっくり腰を据えた仕事をしています。 この記事は、 M

メルコインにおけるGitHub Actions活用術

こんにちは。メルコインのバックエンドエンジニアの iwata です。 この記事は、 Merpay Advent Calendar 2023 の23日目の記事です。 私はいまメルコインのCoreチームに属しています。Coreチームでは主にお客さまからの暗号資産の売買注文を受け付ける部分のマイクロサービスを開発運用しています。 メルコインではCI環境として GitHub Actions self-hosted runner を使用しています。またCI

言語モデルを用いたQuery Categorization

こんにちは。Mercari USの検索エンジニアの @pakio です。 この記事は、 Mercari Advent Calendar 2023 の22日目の記事です。 Query Understandingは検索システム最も重要なシステムの一つで、検索意図を解釈し、また正しい検索を促すためのコンポーネントです。例えば検索ボックスでのクエリの提案やスペル修正、クエリの意図解釈、類似した検索条件の提案などシステム側・ユーザとの

お手軽な検索API構築 その2 ~マルチコア・ベクトル・分散検索

こんにちは。株式会社メルペイのSolutionsチームのデータエンジニアの @orfeon です。 この記事は、 Merpay Advent Calendar 2023 の22日目の記事です。 Solutionsチームは、社内向けの技術コンサルや技術研修、部門を跨いだ共通の問題を発見して解決するソリューションの提供などを行っています。 私は主に社内のデータ周りの課題を解決するソリューションを提供しており、一部の

iOSDC2023で発表した「メルカリ10年間のiOS開発の歩み」のトークスクリプトを公開します

はじめに こんにちは。メルカリ Director of Engineering の @motokiee です。この記事は、 Mercari Advent Calendar 2023 の21日目の記事です。 メルカリのサービス開始から10周年ということで、2023年9月に iOSDC Japan 2023 カンファレンスで「メルカリ10年間のiOS開発の歩み」について 発表を行いました 。 この発表は、10年間のiOS開発の歴史を40分のトークにまとめたものです。メルカリはこの

AWS Transfer Family で SFTPサーバーを作ってみたら便利だった話

メルペイSREの @myoshida です。この記事は、 Merpay Advent Calendar 2023 の21日目の記事です。 メルカリグループではGoogle Cloud Platform(GCP) を広く利用しており、一般的にはGCPを利用したシステム構築が推奨されています。しかし、他のプラットフォームを利用した方が要件を実現しやすかったり、よりスマートに構築できる場合はAmazon Web Services(AWS)なども利用することあります。

GCSのリソース最適化の取り組みで得た知見

こんにちは。メルカリ Accounting Productsチーム Software Engineerのayanekoです。 この記事は、 Mercari Advent Calendar 2023 の20日目の記事です。 私たちAccounting Productsチームは会計システムの開発、運用をしています。会計データを扱うという特性上、以下にあげる理由から大量のデータを保持しており、多額の費用がかかっていました。 会計データは法律上一定期間の保持が必要であ

決済基盤の Observability を向上するための Datadog Dashboard の進化

この記事は Merpay Advent Calendar 2023 の 20 日目の記事です。 こんにちは。メルペイの Payment Core チームでバックエンドエンジニアをしている komatsu です。 普段はメルカリ・メルペイが提供するさまざまな決済機能を支えるための決済基盤の開発・運用をしています。 この記事では、我々が開発している決済基盤マイクロサービスである Payment Service を適切に監視するために、D

モダリティを考慮したiOSアプリのナビゲーションの再設計

こんにちは。メルペイのiOSエンジニアの @kenmaz です。 この記事は、 Merpay Advent Calendar 2023 の19日目の記事です。 概要 iOSアプリ開発において、お客さまにより良い体験を提供する上でナビゲーションの設計は非常に重要なトピックです。特にメルペイのように「決済」「申し込み」「登録」といった自己完結型のタスクを提供する画面が多いアプリでは、iOSのモーダル表示

Onboarding施策を成功させるポイント

この記事は、 Mercari Advent Calendar 2023 の18日目の記事になります。 こんにちは!メルカリ Engineering Office チームの@aisakaです。 私達のチームは「Establish a Resilient Engineering Organization」というミッションを元に、様々な活動を行なっています。先日のAdvent calendarでマネージャーのhiroiさんがチームの活動の内容、目的の紹介をしているので、ぜひこちらも読んでみてください。 強