タグ

ブックマーク / tech.mercari.com (14)

  • メルカリの3つのValueで取り組むインシデント対応 | メルカリエンジニアリング

    TL;DR こんにちは、SRE の @masartzです。 メルカリには Go Bold、 Be Professional、All for One という3つの行動指針(Value)があります。今回はこれらのValueを元にメルカリでインシデント対応をどのように行っているかを紹介します。 インシデント対応とは エントリでは、いわゆるハードウェアやネットワークなどのインフラにおける不具合や故障だけでなく、プロダクトひいては会社活動全般における非日常的な状況に対する対応をインシデントと定義して進めます。 何をやっているか インシデント対応は、障害の発生から根解決までの過程で大きく2つの段階に分けられます。 障害発生から一旦の収束まで 発生した障害を監視システムなどで検知します あらかじめ用意された専用のSlackチャンネルに共有し、対応を開始します 状況の把握と早期の復旧に務めます 機能の

    メルカリの3つのValueで取り組むインシデント対応 | メルカリエンジニアリング
    peketamin
    peketamin 2018/10/30
  • 数百GBのデータをMySQLからBigQueryへ同期する | メルカリエンジニアリング

    SRE所属の @siroken3 です。最近はもっぱらパートナー会社様とのデータ連携環境構築を主に、時々プロダクションのMySQL環境と分析基盤との連携インフラの構築が多いです。 記事は、メルカリに出品された過去すべての商品をBigQueryへ同期するにあたって取り組んだ時のお話です。 背景 当社では分析目的などでBigQueryを以前から使用しており、プロダクションのMySQLからBigQueryへデータを同期して分析に活用してきました。特に商品を表すテーブルは重要です。 しかし、後述する課題によりBigQueryにアップロードすることができなかったため、分析用のMySQLDBのスレーブとBigQueryを併用せざるを得ませんでした。とはいえ不便なので以前からBigQueryのみで商品テーブルも分析対象としたい要望がありました。 課題 メルカリでは販売済み商品を物理削除していないため、

    数百GBのデータをMySQLからBigQueryへ同期する | メルカリエンジニアリング
    peketamin
    peketamin 2018/06/28
  • Visual Studio Live Share を使ってペアプロをしています - Mercari Engineering Blog

    こんにちは、フロントエンドエンジニアの @nullpoo です。 今回は、最近パプリックプレビューとなった Visual Studio Live Share を使ってペアプログラミングをしたことをきっかけに気づいたことについて紹介したいと思います。 ドメイン知識の共有や作業効率の向上、他のエンジニアがコードを書く方法など、様々な気づきがありました。 Visual Studio Live Share とは Visual Studio Live Share はMicrosoftが発表した、Visual StudioやVisual Studio Code上でネットワークを経由しリアルタイムでコードの編集やデバッグを行うための拡張機能です。 詳しくは下記公式ページを参照してください。 www.visualstudio.com 実際に作業を行っている様子をキャプチャしてみました。 共同編集の様子 共

    Visual Studio Live Share を使ってペアプロをしています - Mercari Engineering Blog
    peketamin
    peketamin 2018/06/27
  • 社内の面倒な手作業はZapierにやらせよう #2 〜Webhookを使って、自動化の幅を広げる〜 | メルカリエンジニアリング

    こんにちは、メルカリの自動化&品質保証グループ(Automation & QA Group:通称AQA)で、自動化をぶりぶりしている tadashi0713 です。 私は普段、テスト自動化・CI / CD改善・その他社内の生産性を上げるための自動化・ツール作成を行っています。 以前はQA-SETでしたが、AQAになったことにより、よりチーム全体での自動化を推進していきます。 メルカリでは、去年からZapierという自動化ツールを導入し、社員がより簡単に業務自動化に取り組めるようにしています。 導入した背景や、簡単なワークフローの作り方、実際に社内でどう使われているか、などについては下記の記事をご覧ください。 tech.mercari.com 現在では、 ノンプログラマー含め250名以上のメンバーが、400以上のワークフローを作成 し、日々の作業を自動化しています。 また社内のエンジニアも、

    社内の面倒な手作業はZapierにやらせよう #2 〜Webhookを使って、自動化の幅を広げる〜 | メルカリエンジニアリング
    peketamin
    peketamin 2018/06/18
  • Slack Commandを使った、分析チームのナレッジを全社に広めるためのAutomation・Karakuri | メルカリエンジニアリング

    Slack Commandを使った、分析チームのナレッジを全社に広めるためのAutomation・Karakuri こんにちは、メルカリのAQA(Automation & Quality Assurance)チームで、自動化をぶりぶりしている tadashi0713 です。 私は普段、QAテストの自動化・CI/CD改善・その他社内の生産性を上げるための自動化・ツール作成を行っています。 今回は、社内の分析クエリを簡単に検索・共有できるSlack Commandを最近作ったので、それについてご紹介したいと思います。 実装した背景 弊社のBI(Business Intelligence)チームでは現在、過去の分析クエリをGitHub上に蓄積しています。 分析クエリを蓄積することによって、その知見をBIチームメンバーだけではなく、社内で分析に興味のあるメンバーに共有することが可能です。 http

    Slack Commandを使った、分析チームのナレッジを全社に広めるためのAutomation・Karakuri | メルカリエンジニアリング
    peketamin
    peketamin 2018/05/16
  • メルカリ Microservices Team による Terraform 運用とその中で開発したOSSの紹介 | メルカリエンジニアリング

    SRE で Microservices を推進している @b4b4r07 です。 メルカリでは全社 (US/UK/JP) 的に Microservices に舵を切る経営指針が打ち出されており、Microservices Platform Team では Microservices として切り出すにふさわしいサービスの再編のサポートや、新規サービスの Microservices 化のサポート、およびそのスタンダードなインフラ基盤の開発などをしています。 記事ではその中で開発した Developer Productivity の向上につながる小さなツールを、メルカリでの Terraform の活用事例に交えてご紹介します。 メルカリでの Terraform 活用 冒頭に挙げたとおり、少しずついろいろなサービスが立ち上がり始めていますが、そのインフラとして主に GCP (GKE) が使われて

    メルカリ Microservices Team による Terraform 運用とその中で開発したOSSの紹介 | メルカリエンジニアリング
    peketamin
    peketamin 2018/04/10
  • オートマトンを活用したiOS版メルカリ アッテの会員登録画面 | メルカリエンジニアリング

    今日は、iOSエンジニアの@orakaroです。 iOSエンジニアの皆さん、iPhone Xの対応はいかがでしょうか? メルカリアッテはようやくSwift4/RxSwift4/iPhone Xの対応が落ち着いたところです。 このブログでは、10月11日に開催した Souzoh iOS Talkの中で発表した メルカリ アッテを支えるオートマトンについて、より詳細な内容をお伝えします。 当日のスライドは下記になります。 speakerdeck.com 会員登録フロー 会員登録フローを実装する時に、以下のような基的な機能を実装することがあります。 メールアドレスとパスワードで登録できること メールアドレスとパスワードでログインできること Facebookで認証(登録、ログイン)できること パスワード再発行できること さらに、メルカリ アッテのようにセカンドパーティーのアプリなら、メルカリ連携

    オートマトンを活用したiOS版メルカリ アッテの会員登録画面 | メルカリエンジニアリング
    peketamin
    peketamin 2017/11/18
  • メルカリのQAエンジニアがテスト自動化に挑んだ話 | メルカリエンジニアリング

    はじめまして!QAエンジニアのkinoshです。 みなさんは「自動化」と聞いて、どんな期待をしますか? 生産性アップ?高い品質?スピード?いろいろな期待があると思います。 現在メルカリQAでは、繰り返し行われる部分や、機械のほうが得意な部分をどんどん自動化して、節約できた時間を、人間しか見つけられない作業(不具合を探索したり、仕様からリスクを洗い出したり)に使っていこうと日々奮闘中です。 この記事では、最近私が主導で進めたテスト自動化について、自身が学んだ知見などを共有いたします。 進んでいた自動化 メルカリにはQA-SETチームというものがあり、QAエンジニアとSET(Software Engineer in Test)が同じチームで品質を支えています。それぞれの役割については以下の記事をご確認ください。 tech.mercari.com リグレッションテストに関しては、全体の件数の約3

    メルカリのQAエンジニアがテスト自動化に挑んだ話 | メルカリエンジニアリング
    peketamin
    peketamin 2017/11/14
  • SpinnakerによるContinuous Delivery | メルカリエンジニアリング

    SREの@deeeetです。 新しい機能を素早くリリースしフィードバックを得てすぐにPivotの決定を行う、もしくはリスクを抑え小さな改善を継続的に行うContinuous Deliveryはソフトウェア開発において非常に重要です。 メルカリではこのContinuous DeliveryのためのPlatformにSpinnakerを採用し始めました。現在は主にkubernetes(k8s)へのコンテナアプリケーションのDeployに利用しており、既にいくつかの番アプリケーションがSpinnakerによりDeployされています。 記事ではなぜSpinnakerを採用したか、Spinnakerとは何か、実際にメルカリでどのようにSpinnakerを使っているか、について簡単な紹介をします。 kubernetes上でのDeploy問題 k8sへのコンテナイメージのDeployは非常に簡単で

    SpinnakerによるContinuous Delivery | メルカリエンジニアリング
    peketamin
    peketamin 2017/08/21
  • 光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング

    はじめまして。サーバーサイドエンジニアの中野(@Hiraku)です。2015年12月からメルカリで働いています。 2016年1月27日(水)の第98回PHP勉強会@東京にて、composerを速くする取り組みについて発表をしてきました。 composerはPHPにおける実質スタンダードなパッケージマネージャです。 このcomposer、日で実行すると非常に遅く感じます。この原因は普通ならこう表現すると思います。 githubやpackagistが日から遠いから composerの実装がよくないから しかし発表ではあえて「光が遅いから」という主張をしました。 一般常識として、光の速さ(真空中で秒速約30万km)はとてつもなく速いものという認識だと思います。しかし一方で、地球や宇宙の規模など極限的な状況に携わる仕事をしている人であれば「全然速くない、むしろ遅い」というのが普通の感覚です。

    光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング
    peketamin
    peketamin 2016/02/01
  • Slackへの通知をAttachmentsでわかりやすく… | メルカリエンジニアリング

    Site Reliability Engineering Teamの@cubicdaiyaです。今回はSlackのライトなお話です。 SlackのAttachments SlackにはIncoming WebhooksやWeb APIでメッセージを投稿する際、ペイロードにAttachementsと呼ばれる情報を含めることでメッセージを装飾できる仕組みがあります。 これを利用すると例えばメッセージにタイトルを付けたり、 用途に応じてカラーリングするといったことができます。(画像はイメージです。実際のアラートメッセージとは異なります。) 上記の場合、障害が発生したら赤、復旧したら黄緑で色分けしています。このようにAttachementsを利用することでSlackへ投稿するメッセージを分かりやすく装飾することができます。 メルカリでのAttachementsの利用例 メルカリでのAttachme

    Slackへの通知をAttachmentsでわかりやすく… | メルカリエンジニアリング
    peketamin
    peketamin 2016/01/12
  • ハイパフォーマンスngx_lua | メルカリエンジニアリング

    Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ

    ハイパフォーマンスngx_lua | メルカリエンジニアリング
    peketamin
    peketamin 2015/11/25
  • Consulを利用したTLSセッションチケットの自動更新 | メルカリエンジニアリング

    Site Reliability Engineering Team(通称SRE)の@cubicdaiyaです。最近チーム名が変わりました。 今回はConsulを利用して複数台のnginxサーバのTLSセッションチケットを自動更新する仕組みについて紹介します。 TLSセッションチケットは簡単に言うとTLSのセッション情報を暗号化してクライアント側に保存することで HTTPS通信時に行われるTLSハンドシェイクの手順を省略してネットワークレイテンシを削減するための仕組みです。(詳細については一番下の参考情報を御覧ください) 似たような仕組みとしてTLSセッションキャッシュがありますが、こちらはセッション情報をサーバ側に保存します。 HTTPS通信ではTCPのハンドシェイクに加えてTLSのハンドシェイクが必要になるのでHTTP通信よりもネットワークのレイテンシが大きくなりますが、 これらの仕組み

    Consulを利用したTLSセッションチケットの自動更新 | メルカリエンジニアリング
    peketamin
    peketamin 2015/11/16
  • Slackプロキシサーバ〜slackboard〜を利用したメルカリのSlack活用法 | メルカリエンジニアリング

    最近原稿の締め切りが追いかけてくる夢をよく見る@cubicdaiyaです。今回はその逃避の一環として定番のチャットツールであるSlackのメルカリでの活用法について紹介します。 メルカリでのSlack活用 多くのエンジニア組織がそうであるようにメルカリではSlackを単なる社内チャットに留まらず、所謂ChatOps的な用途にも活用しています。 たとえばメルカリではサーバの監視のためにZabbixを利用していますが、bot ack allとSlackで入力すると現在起きているすべての障害をAcknowledgedな状態にできます。 さらに、bot test masterとSlackで入力するとAPIサーバのテストが走ります。 さらにさらに、bot helloとSlackで入力すると自宅からでも出勤したことにできます。 なお、この時はうるう秒に備えて自宅で待機していたのでした。 ほかにもSla

    Slackプロキシサーバ〜slackboard〜を利用したメルカリのSlack活用法 | メルカリエンジニアリング
    peketamin
    peketamin 2015/07/06
  • 1