タグ

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

  • Shifting to Zero Touch Production | Mercari Engineering

    Author: Dylan Lau (@aidiruu), Platform DX Team Zero Touch Production (ZTP) is a concept where all changes made to production are done by automation, safe proxies or audited break-glass systems. There are many kinds of production outages that stem from human error, such as: Configuration errors Script errors Running commands in the wrong environment ZTP can mitigate the risk of outages from these e

    Shifting to Zero Touch Production | Mercari Engineering
    nikuyoshi
    nikuyoshi 2023/08/22
  • Terraform CIでのコード実行制限 | メルカリエンジニアリング

    記事は2022年5月19日に公開された記事の翻訳版です。 この記事は、Security Tech Blog シリーズ: Spring Cleaning for Security の一部で、Security EngineeringチームのMaximilian Frank(@max-frank)がお届けします。 背景 メルカリでは、複数のチームで多数のマイクロサービスを開発しています。また、コードだけでなく、サービスの実行に必要なインフラのオーナーシップは、それぞれのチームが持っています。開発者がインフラのオーナーシップを持てるように、HashiCorp Terraform を使用してインフラをコードとして定義していて、開発者は、Platform Infra Teamが提供するTerraformネイティブリソースまたはカスタムモジュールを使用して、サービスに必要なインフラを構成できます。こ

    Terraform CIでのコード実行制限 | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2023/07/25
  • メルカリShopsでのDesign Docs運用について | メルカリエンジニアリング

    こんにちは! ソウゾウのSoftware Engineerの@ogataka50です。連載:メルカリShops 開発の裏側 Vol.2の9日目を担当させていただきます。 9日目はメルカリShopsを開発する中でのDesign Docsの運用について紹介させて頂きます。 Design Docsとは Design DocsとはGoogleなどで取り入れられているシステム設計ドキュメント手法です。開発をする前にプロジェクトの背景や目的、設計、検討した代案などをdocument化します。そしてそれを持って関係者との共有、議論を行うことによって事前に全体を考察し、精度を高め開発後の手戻りを減らすなどが主な目的になります。 例として、GoogleでのDesign Docsについては下記にまとめられています。 Design Docs at Google メルカリShopsでのDesign Docsのte

    メルカリShopsでのDesign Docs運用について | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2022/06/21
  • メルカリでのDetection EngineeringとSOAR | メルカリエンジニアリング

    記事は2022年5月13日に公開された記事の翻訳版です。 ※この記事はSecurity Tech Blogシリーズ: Spring Cleaning for Securityの一環で書かれています。 こんにちは。Security EngineeringチームのDavidです。 この記事では、メルカリが独自に実施しているSOC(セキュリティオペレーションセンター)の取り組みを紹介します。少しでも読者の脅威検出の取り組みをスタートするきっかけになれたらと思っています。 はじめに 一般的に、サイバーセキュリティは、防止(Prevention)、検出(Detection)、対応(Response)の3つの主要原則に分類されます。最近のブログ投稿やオンライン登壇では、SecurityチームとMicroservice Platformチームが主にセキュリティの防止の側面 [1] について触れてきま

    メルカリでのDetection EngineeringとSOAR | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2022/06/15
  • MicroservicesSREのEmbedded先でのお仕事 | メルカリエンジニアリング

    こんにちは。メルカリで SRE として働いている shmizumo です。 記事では、 MicroservicesSREチームが実際にEmbedded先でどのような改善を行っているかをいくつか紹介したいと思います。 メルカリの MicroservicesSRE チームについて詳しくはEmbedded SRE at Mercariをご参照ください。 Embedded先について 私は2021/05にメルカリに入社しました。最初(2021/07〜2021/12)はItemチームに、現在(2022/01〜)は Mercari APIチームに参加しています。Embedded先ではon-call担当にも参加しています。 ItemとMercari APIは以下のようなサービスです。 Item メルカリにある商品を管理しているマイクロサービス。Goで書かれており、多い時間帯には80k 程度の rpsがあ

    MicroservicesSREのEmbedded先でのお仕事 | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2022/02/28
  • Automation of Terraform for AWS | メルカリエンジニアリング

    投稿は DPE Camp blog series の一部です。 こんにちは。 Platform Infra の Kenichi Sasaki (@siroken3) です。メルカリでは主にAWSの管理を業務にしています。今回の投稿ではAWS構成管理リポジトリのセキュアなCI/CD環境を構築した件について紹介します。 背景 メルカリにおけるAWSの役割 メルカリにおけるAWSの利用の歴史は古く、商品画像を格納するためのストレージとしてS3をサービス開始当初から採用しています。その他S3はMySQLデータベースのバックアップ先、パートナー各社様とのデータ連携のための AWS Transfer Family のバックエンドとして使用しています。また2014年当時のUSメルカリのサービス開始時のメインインフラはAWS上にありました。 直近ではお客さま電話窓口やサポート担当の稼働管理ツールとして

    Automation of Terraform for AWS | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2022/01/25
  • 自作して学ぶKubernetes Scheduler | メルカリエンジニアリング

    Mercari advent calender の21日目を担当します@sanposhihoです。現在大学の学部4回生で、メルカリでは内定者インターンとして、メルカリのホーム画面などのバックエンドを担当するチームに所属しています。 また、最近は個人的にKubernetesやその周辺のOSSにコントリビュートをしていて、特にKubernetesのコントロールプレーンのコンポーネントのうちの一つであるkube-scheduler周りを触ってることが多いです。 後で詳しく説明しますが、kube-schedulerはPodをどのNodeで実行するかを決定しているコンポーネントです。NodeAffinityや比較的新しいものだとPod Topology Spread Constraintsなど、Podのスケジュールの制約を指定できる機能も基的にこのkube-schedulerに実装されています。

    自作して学ぶKubernetes Scheduler | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2021/12/22
  • GitHub上のsensitive dataを削除するための手順と道のり | メルカリエンジニアリング

    Advent Calendar day 7 担当の vvakame です。 予告では Apollo Federation Gateway Node.js実装についてポイント解説 としていましたが、社内各所のご協力によりAdvent Calendarの私の担当日に間に合う形で公開できる運びとなりました。そのため告知とは異なりますが GitHub上のsensitive data削除の手順と道のり をお届けしていきたいと思います。 メルペイVPoE hidekによるday 1の記事で振り返りがあったように、今年、弊社ではCodecovのBash Uploaderに係る情報流出という事案が発生しました。当該インシデント対応において、プレスリリースにも記載のある通り、ソースコード上に混入してしまった認証情報や一部個人情報などの機密性の高い情報(sensitive data)について調査を実施し、対応

    GitHub上のsensitive dataを削除するための手順と道のり | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2021/12/08
  • CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog

    日コーポレートサイトでお知らせした通り、Web版のメルカリにおいて一部のお客さまの個人情報が他者から閲覧できる状態になっていたことが判明しました。原因はすでに判明して修正が完了しております。また、個人情報を閲覧された可能性のあるお客さまには、メルカリ事務局より、メルカリ内の個別メッセージにてご連絡させていただきました。 お客さまの大切な個人情報をお預かりしているにも関わらず、このような事態に至り、深くお詫びを申し上げます。 エントリでは技術的観点から詳細をお伝えさせていただきます。 2017年6月27日 CDNのキャッシュの動作について、CDNプロバイダと仕様について確認し検証を行いました。その結果一部記述に実際と異なる箇所があり、加筆修正いたしました。 概要 メルカリWeb版のコンテンツキャッシュをしているCDNのプロバイダ切り替えを行いました。 その際来キャッシュされるべきでない

    CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog
    nikuyoshi
    nikuyoshi 2021/11/29
  • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer (CTO) の @suguru です。連載:「メルカリShops」プレオープンまでの開発の裏側の1日目を担当させていただきます。 7月末にメルカリShopsという新しいサービスが公開されました。メルカリShops は、2021年1月にメルカリのグループ会社として設立したソウゾウが新たに立ち上げたサービスです。 この記事では、メルカリShops を作るにあたり、どういった技術、アーキテクチャを選定したのか、その背景と意思決定をまとめて共有したいと思います。 monorepo まず最初にプロジェクトをスタートしたときに、サービスのリポジトリを作るのですが、迷わず monorepo による構成を選択しました。monorepo は、システムを構成する複数のコンポーネントの独立性を保ちつつ、全ての構成を1つのリポジトリで管理する手法です。今

    メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2021/08/15
  • 新しいメルカリ Web の話 | メルカリエンジニアリング

    @1000ch です、今回は新しいメルカリ Web について書きます。この大きなプロジェクトのリリースは、多くの人の多大なる貢献によって成されたものです。そのプロジェクトの立ち上がりから今日まで、リードする役割でプロジェクトを見てきた一部始終を記録するべく書きます。 メルカリにおけるレガシーなソフトウェア ソフトウェアは生モノとよく言われますが、古くなったソフトウェアとどう付き合っていくかは、どの開発組織も抱えている、あるいはいつかはぶつかる課題なのではないかと思います。多くの方々に利用して頂くためには大規模なソフトウェア群を開発し運用する必要があります。しかし、はじめから全てを見越して完璧なアーキテクチャを構築するのは不可能であり、それをビジネスの成長に耐えうるものにソフトウェアを成長させていくのがエンジニアリングの責務です。 2013 年にスタートしたメルカリに於いても例外はなく、急速

    新しいメルカリ Web の話 | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2021/08/15
  • How do we share troubleshooting skills | Mercari Engineering

    Hello, I’m id:koemu, Backend Software Engineer of Merpay Payment Platform Team. Abstract This article is going to explain how we share troubleshooting knowledge in our team and how we further improve troubleshooting skills in various situations, especially on weekends or holidays. Troubleshooting will be difficult if you only learn it by sitting at your desk because there will be few opportunities

    How do we share troubleshooting skills | Mercari Engineering
    nikuyoshi
    nikuyoshi 2021/08/03
  • Mercari Meetup for Microservices Platform を開催しました | メルカリエンジニアリング

    Microservices Platform Team の @deeeetです。 先日7月19日に Mercari Meetup for Microservices Platform を開催しチームが取り組んでいることをご紹介しました。 記事ではその概要をお伝えします。 Microservices Platform とは メルカリではスケールする組織の仕組み作りのために MonotlihアーキテクチャからMicroservices アーキテクチャへの移行に取り組んでいます。Microservices Platform Teamはこのアーキテクチャを支える基盤の構築と運用を行っています。 この基盤の上で開発・リリースされたMicroserviceの実例としてオファー機能などがあり、今後もさらに増えていく予定です。 発表内容 Introduction to Mercari Microserv

    Mercari Meetup for Microservices Platform を開催しました | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2021/08/03
  • バッチ処理の採用と設計を考えてみよう | メルカリエンジニアリング

    こんにちは。メルペイで、決済・振込申請のバックエンドソフトウェアエンジニアをしている id:koemu です。 今日は、バッチ処理を行う理由について、考察を深めて設計に活かしていく話をしたいと思います。 はじめに バッチ処理とは、ある決まったタイミングで1つのプログラムが複数のデータを 一括処理 することを指します。この反対の言葉として、オンライン処理があります。オンライン処理とは、お客様の操作を初めとしたイベントをもとに 逐次処理 されるものです。OLTP(Online Transaction Processing)とも言います。 エントリでは、バッチ処理を採用するにあたり、どういったユースケースが適切なのかを整理して、今後のソフトウェアの設計の指針にできることを目指しています。今回は、「バッチ処理を採用するとき」と「バッチ処理の設計」の2つについて取り上げます。 バッチ処理を採用する

    バッチ処理の採用と設計を考えてみよう | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2021/01/27
  • 「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング

    メルペイ エキスパートチームの@tenntennです。稿は Merpay Tech Openness Month の11日目の記事です。 「プログラミング言語Go完全入門」の期間限定公開のお知らせでも書いたように、メルペイでは、社外の方向けにGopher道場という体系的にGoを学べる場を無償で提供してきました。Goの普及を目的にこれまでに8回開催し100人以上の方に参加していただきました。 また、Gopher道場の動画や資料はGopher道場 自習室として誰でも利用できるようになっており、現時点で300名以上の方が利用されています。 Gopher道場の資料のベースになっている「プログラミング言語Go完全入門」は、2020年7月31日までの限定公開になっていましたが、日より公開期限を撤廃し、完全公開することになりました。 また、日8月31日から始まる「Online Summer Int

    「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2020/09/01
  • Mercari x Merpay Frontend Tech Talk vol.4 を開催しました | メルカリエンジニアリング

    Merpay でフロントエンドエンジニアをしている @_sskyu です。1月15日に Mercari x Merpay Frontend Tech Talk vol.4 が開催されました。私も登壇者として参加したので、当日の発表の様子を紹介します。 Pros and Cons of SSR and JAMstack 最初に私が 「Pros and Cons of SSR and JAMstack」という発表をしました。昨年の8月から取り組んでいたもので、キャンペーン用のマイクロサービスのパフォーマンスが出ない問題を調査して、JAMstack 構成の環境に移行したという内容で発表しました。 speakerdeck.com ※JAMstack: JavaScript + API + Markup を使った Web アプリケーションアーキテクチャ。 NoCode で CMS と連携するデザイン

    Mercari x Merpay Frontend Tech Talk vol.4 を開催しました | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2020/08/05
  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
    nikuyoshi
    nikuyoshi 2019/06/07
  • モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし | メルカリエンジニアリング

    こんにちは。メルカリのテストエンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 テスト自動化をすすめるにあたり、効率のよいテストを作るために、既存のテストケースについて調べる機会がありました。その過程で現状のQAプロセスも確認したのですが、以下のようなテストケース管理の課題があることがわかりました。 それぞれのテストエンジニアが、それぞれの方法で、それぞれのテストケースを管理しているため、ナレッジが横につながりにくい。 共有されているリグレッションテスト項目の更新が追いついておらず、情報が古くて使いにくい。 人数が増えてきて、ふりかえりや改善がやりにくい。 1については、現在、職能横断的なチーム構成になっているため、プロジェクトやプロダクトに集中できる環境である反面、それぞれのチームにいるQAエンジニアどうしのつながりが薄れてしまうことが原因に感じ

    モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし | メルカリエンジニアリング
  • 技術書を作るための技術スタック | メルカリエンジニアリング

    Mercari Advent Calendar 2017の3日目はmhidakaがお送りします。 Advent Calendarで空いてるところに収まったら12月3日は日曜日ということで、エンジニア趣味的な話です。 筆者は技術的なブログや書籍を書くかたわら、技術書のためのイベントなどを開いてます。 技術を追求すること、プログラミング、まとめることが好きでモバイル分野で継続的に書籍を出版しています。 内容はおおむね同人誌作りへ適用している技術の話です。 書籍の作り方は出版社によっても違いますが、紹介する内容と同様の作り方をしている商業書籍もたくさんあります。 ここでは著者の目線から出版業界のテクノロジーをのぞいてみましょう。 作る楽しみと読者の視点 著者がを書く動機は人それぞれですが技術を広めたい、たくさん売れたい、自分の知識をまとめたいなど目的を持って書き始めます。 また一方で書籍の目

    技術書を作るための技術スタック | メルカリエンジニアリング
  • 1