サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
tech.mercari.com
SRE所属の @siroken3 です。最近はもっぱらパートナー会社様とのデータ連携環境構築を主に、時々プロダクションのMySQL環境と分析基盤との連携インフラの構築が多いです。 本記事は、メルカリに出品された過去すべての商品をBigQueryへ同期するにあたって取り組んだ時のお話です。 背景 当社では分析目的などでBigQueryを以前から使用しており、プロダクションのMySQLからBigQueryへデータを同期して分析に活用してきました。特に商品を表すテーブルは重要です。 しかし、後述する課題によりBigQueryにアップロードすることができなかったため、分析用のMySQLDBのスレーブとBigQueryを併用せざるを得ませんでした。とはいえ不便なので以前からBigQueryのみで商品テーブルも分析対象としたい要望がありました。 課題 メルカリでは販売済み商品を物理削除していないため、
こんにちは、フロントエンドエンジニアの @nullpoo です。 今回は、最近パプリックプレビューとなった Visual Studio Live Share を使ってペアプログラミングをしたことをきっかけに気づいたことについて紹介したいと思います。 ドメイン知識の共有や作業効率の向上、他のエンジニアがコードを書く方法など、様々な気づきがありました。 Visual Studio Live Share とは Visual Studio Live Share はMicrosoftが発表した、Visual StudioやVisual Studio Code上でネットワークを経由しリアルタイムでコードの編集やデバッグを行うための拡張機能です。 詳しくは下記公式ページを参照してください。 www.visualstudio.com 実際に作業を行っている様子をキャプチャしてみました。 共同編集の様子 共
こんにちは、メルカリの自動化&品質保証グループ(Automation & QA Group:通称AQA)で、自動化をぶりぶりしている tadashi0713 です。 私は普段、テスト自動化・CI / CD改善・その他社内の生産性を上げるための自動化・ツール作成を行っています。 以前はQA-SETでしたが、AQAになったことにより、よりチーム全体での自動化を推進していきます。 メルカリでは、去年からZapierという自動化ツールを導入し、社員がより簡単に業務自動化に取り組めるようにしています。 導入した背景や、簡単なワークフローの作り方、実際に社内でどう使われているか、などについては下記の記事をご覧ください。 tech.mercari.com 現在では、 ノンプログラマー含め250名以上のメンバーが、400以上のワークフローを作成 し、日々の作業を自動化しています。 また社内のエンジニアも、
こんにちは。メルカリで自動化&品質保証グループ(Automation & QA Group:通称AQA)のエンジニアリングマネージャをぶりぶりしている@daipresentsです。 AQAは、従来のQAではなく、自動化を駆使した「完全自動化時代のQA」を目指すグループとして活動しています。その道のりはなかなか険しいのですが、じわりじわりとメンバーも増え、社内でも「自動化」というキーワードが広がってきました。 この記事では、テスト自動化でとても大切なポイントとなる、テスト結果をまとめたビューティフルなレポートのノウハウを共有させていただこうと思います。 継続的システムテスト 現在、メルカリAQAでは、「継続的システムテスト」の実現に取り組んでいます。ここでいう継続的システムテストとは、365日24時間、ずーーーっと自動化されたE2Eテスト(レグレッションテストとも言える)を実行することを指し
先週5/25に開催されたblockchain.tokyo #8のレポートです。 blockchain.tokyoはブロックチェーン関連技術についての勉強会で、ブロックチェーンに携わる、または興味を持たれているエンジニアが参加されています。毎回100名以上の参加があり、今回も多くの方に参加いただきました。 blockchain-tokyo.connpass.com 今回は8回目となる開催なのですがメルカリで会場提供させてだき、また、メルペイ(メルカリ子会社)メンバーから3つの発表をしましたのでその内容について記事を書きたいと思います。 まずは私mistatが発表した内容についてです。 他の発表はブロックチェーンのコンセンサスアルゴリズムについてかなり深い内容になりそうだったため、その導入となるように、できるだけわかりやすくブロックチェーンを分散システムとしてみた視点から簡単に解説させていただ
Slack Commandを使った、分析チームのナレッジを全社に広めるためのAutomation・Karakuri こんにちは、メルカリのAQA(Automation & Quality Assurance)チームで、自動化をぶりぶりしている tadashi0713 です。 私は普段、QAテストの自動化・CI/CD改善・その他社内の生産性を上げるための自動化・ツール作成を行っています。 今回は、社内の分析クエリを簡単に検索・共有できるSlack Commandを最近作ったので、それについてご紹介したいと思います。 実装した背景 弊社のBI(Business Intelligence)チームでは現在、過去の分析クエリをGitHub上に蓄積しています。 分析クエリを蓄積することによって、その知見をBIチームメンバーだけではなく、社内で分析に興味のあるメンバーに共有することが可能です。 http
Go Conference レポート& Mercari BOLD Scholarship for GopherCon 2018のご案内 はじめに メルペイ エキスパートチームの@tenntennです。 少し時間が経ってしまいましたが、4月15日に開催されたGo Conference 2018 Springの参加レポートを書きたいと思います。 また、8月末に開催されるGopherCon 2018のスカラーシップのご案内についても書きたいと思います。 Go Conference 2018 Springが開催されました Go Conferenceは5年目に突入しました 4月15日にGo Conference 2018 Springが開催されました。 gocon.connpass.com Go Conferenceは現在の形になっての開催は5年目になります。 5年目の節目となる今回のGo Conf
TL;DR こんにちは、SRE の @masartzです。 メルカリには Go Bold、 Be Professional、All for One という3つの行動指針(Value)があります。今回はこれらのValueを元にメルカリでインシデント対応をどのように行っているかを紹介します。 インシデント対応とは 本エントリでは、いわゆるハードウェアやネットワークなどのインフラにおける不具合や故障だけでなく、プロダクトひいては会社活動全般における非日常的な状況に対する対応をインシデントと定義して進めます。 何をやっているか インシデント対応は、障害の発生から根本解決までの過程で大きく2つの段階に分けられます。 障害発生から一旦の収束まで 発生した障害を監視システムなどで検知します あらかじめ用意された専用のSlackチャンネルに共有し、対応を開始します 状況の把握と早期の復旧に務めます 機能の
SRE で Microservices を推進している @b4b4r07 です。 メルカリでは全社 (US/UK/JP) 的に Microservices に舵を切る経営指針が打ち出されており、Microservices Platform Team では Microservices として切り出すにふさわしいサービスの再編のサポートや、新規サービスの Microservices 化のサポート、およびそのスタンダードなインフラ基盤の開発などをしています。 本記事ではその中で開発した Developer Productivity の向上につながる小さなツールを、メルカリでの Terraform の活用事例に交えてご紹介します。 メルカリでの Terraform 活用 冒頭に挙げたとおり、少しずついろいろなサービスが立ち上がり始めていますが、そのインフラとして主に GCP (GKE) が使われて
こんにちは。メルカリでQA-SETチームのマネージャ兼自動化エンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 この度、長く愛用していたAndroidの自動E2Eテスト用端末ダンボールラックを刷新しました。 初代は養生テープとAmazonのダンボールを有効活用したものでした。見た目があれですが、オフィスに来られたお客さまや、イベントで展示した際の反応はいつも「意外にアナログなんですね!」と好評です。ただ、これだと場所を取りスケールしないので、改善策が必要でした。 他者様の事例(とくにFacebookの事例が面白い)を見ていろいろ考えたのですが、現状だと小さめのラックで十分。台数も20台に満たないので安くて使い勝手のいいラックを購入。そこに、100円ショップでみつけたワイヤーフレームをはりつければ完成。
Mercari Advent Calendar 2017 の9日目はメルカリ SRE(Site Reliability Engineering) チームの @syu_cream がお送りします。 メルカリでは様々なデータを BigQuery に格納して、データ利用を可能にしています。 BigQuery に格納しているデータの具体例としては、 Web サーバや API サーバのアクセスログやアプリケーションのログ、 以前当ブログで紹介した Pascal のイベントログ などが挙げられます。 メルカリのデータ分析基盤に関する情報はこれまでに以下のようなブログやスライドで紹介しております。 Pascal〜Puree + ngx_lua + Fluentd + BigQueryでつくるメルカリのログ分析基盤〜 fluent-agent-hydraで省エネログ転送 メルカリのデータ分析基盤 / me
はじめまして!QAエンジニアのkinoshです。 みなさんは「自動化」と聞いて、どんな期待をしますか? 生産性アップ?高い品質?スピード?いろいろな期待があると思います。 現在メルカリQAでは、繰り返し行われる部分や、機械のほうが得意な部分をどんどん自動化して、節約できた時間を、人間しか見つけられない作業(不具合を探索したり、仕様からリスクを洗い出したり)に使っていこうと日々奮闘中です。 この記事では、最近私が主導で進めたテスト自動化について、自身が学んだ知見などを共有いたします。 進んでいた自動化 メルカリにはQA-SETチームというものがあり、QAエンジニアとSET(Software Engineer in Test)が同じチームで品質を支えています。それぞれの役割については以下の記事をご確認ください。 tech.mercari.com リグレッションテストに関しては、全体の件数の約3
SREの@deeeetです。 新しい機能を素早くリリースしフィードバックを得てすぐにPivotの決定を行う、もしくはリスクを抑え小さな改善を継続的に行うContinuous Deliveryはソフトウェア開発において非常に重要です。 メルカリではこのContinuous DeliveryのためのPlatformにSpinnakerを採用し始めました。現在は主にkubernetes(k8s)へのコンテナアプリケーションのDeployに利用しており、既にいくつかの本番アプリケーションがSpinnakerによりDeployされています。 本記事ではなぜSpinnakerを採用したか、Spinnakerとは何か、実際にメルカリでどのようにSpinnakerを使っているか、について簡単な紹介をします。 kubernetes上でのDeploy問題 k8sへのコンテナイメージのDeployは非常に簡単で
はじめまして。サーバーサイドエンジニアの中野(@Hiraku)です。2015年12月からメルカリで働いています。 2016年1月27日(水)の第98回PHP勉強会@東京にて、composerを速くする取り組みについて発表をしてきました。 composerはPHPにおける実質スタンダードなパッケージマネージャです。 このcomposer、日本で実行すると非常に遅く感じます。この原因は普通ならこう表現すると思います。 githubやpackagistが日本から遠いから composerの実装がよくないから しかし発表ではあえて「光が遅いから」という主張をしました。 一般常識として、光の速さ(真空中で秒速約30万km)はとてつもなく速いものという認識だと思います。しかし一方で、地球や宇宙の規模など極限的な状況に携わる仕事をしている人であれば「全然速くない、むしろ遅い」というのが普通の感覚です。
Site Reliability Engineering Teamの@cubicdaiyaです。今回はSlackのライトなお話です。 SlackのAttachments SlackにはIncoming WebhooksやWeb APIでメッセージを投稿する際、ペイロードにAttachementsと呼ばれる情報を含めることでメッセージを装飾できる仕組みがあります。 これを利用すると例えばメッセージにタイトルを付けたり、 用途に応じてカラーリングするといったことができます。(画像はイメージです。実際のアラートメッセージとは異なります。) 上記の場合、障害が発生したら赤、復旧したら黄緑で色分けしています。このようにAttachementsを利用することでSlackへ投稿するメッセージを分かりやすく装飾することができます。 メルカリでのAttachementsの利用例 メルカリでのAttachme
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!」のレスポンスを返します。 なお、先月末にリリースさ
Site Reliability Engineering Team(通称SRE)の@cubicdaiyaです。最近チーム名が変わりました。 今回はConsulを利用して複数台のnginxサーバのTLSセッションチケットを自動更新する仕組みについて紹介します。 TLSセッションチケットは簡単に言うとTLSのセッション情報を暗号化してクライアント側に保存することで HTTPS通信時に行われるTLSハンドシェイクの手順を省略してネットワークレイテンシを削減するための仕組みです。(詳細については一番下の参考情報を御覧ください) 似たような仕組みとしてTLSセッションキャッシュがありますが、こちらはセッション情報をサーバ側に保存します。 HTTPS通信ではTCPのハンドシェイクに加えてTLSのハンドシェイクが必要になるのでHTTP通信よりもネットワークのレイテンシが大きくなりますが、 これらの仕組み
最近原稿の締め切りが追いかけてくる夢をよく見る@cubicdaiyaです。今回はその逃避の一環として定番のチャットツールであるSlackのメルカリでの活用法について紹介します。 メルカリでのSlack活用 多くのエンジニア組織がそうであるようにメルカリではSlackを単なる社内チャットに留まらず、所謂ChatOps的な用途にも活用しています。 たとえばメルカリではサーバの監視のためにZabbixを利用していますが、bot ack allとSlackで入力すると現在起きているすべての障害をAcknowledgedな状態にできます。 さらに、bot test masterとSlackで入力するとAPIサーバのテストが走ります。 さらにさらに、bot helloとSlackで入力すると自宅からでも出勤したことにできます。 なお、この時はうるう秒に備えて自宅で待機していたのでした。 ほかにもSla
このページを最初にブックマークしてみませんか?
『Gitのつくりかた Mercari Engineering Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く