Mobile Factory Tech Blog

技術好きな方へ!モバイルファクトリーのエンジニアたちが楽しい技術話をお届けします!

インフラストラクチャ

開発生産性を可視化する基盤を作った話

駅メモ!チームでエンジニアをしている id:stakHash です。 開発活動に関わるデータを収集し、開発生産性を測るためのメトリクス(便宜的に「開発メトリクス」と呼びます)を可視化するための仕組みを作りました。 その目的や設計などについてまとめました。…

Lambdaの制限容量を超えてしまい、ECRを導入した話

こんにちは。駅メモエンジニアの id:kawa-mfです。 アワメモ公式サイトで、Nuxt2からNuxt3に移行しました。 しかし、Nuxt3をAWS Serverlessにデプロイする際にLambdaの制限容量を超えてしまい、ECRを利用することで解決したので、こちらについて書いていきま…

復旧用クラスターとB/GデプロイでAmazon Aurora MySQL v2をv3へ安全に移行しました

駅メモ!開発基盤チームです。 今回はサービスで利用している Amazon Aurora MySQL を v2 から v3 へ移行したときのことを書きます。 概要 駅メモ!をはじめとする弊社のサービスでは、データストアとして Amazon Aurora MySQL(以降 Aurora MySQL) を利用し…

OverlayFS でデータ入りのテスト用 DB を素早く起動する

駅メモ!開発基盤チームの id:xztaityozx です。 今回はテスト実行のボトルネックを OverlayFS を利用することで解消した話と、OverlayFS の動作を調べるためにbpftraceを使った話をします。 かんたん概要 Test::mysqldを使って挿入済みのデータを持ったmysq…

コスト削減のため Redis の sorted sets で実装していたランキング処理を MySQL に移行しました

駅メモ!チームエンジニアの id:yumlonne です。 この記事では Redis の sorted sets で実装していたランキング処理を MySQL に移行した仕組みを紹介します。 背景 駅メモ!には複数のランキングがあり、Redis の sorted sets を使うことでパフォーマンスの…

MemcachedとRedisの統合によるコスト削減の紹介

駅メモ!チームエンジニアの id:yumlonne です。 この記事では駅メモ!で使っていた Memcached を廃止し Redis に統合した経緯や流れを紹介します。 記事内で提供するサンプルコードは、駅メモ!の実装に合わせ Perl となってます。 簡単なコードなので Perl…

業務で登場したDBロック待ちの3つの改善方法

こんにちは。駅奪取チームエンジニアのid:dorapon2000です。 私達のチームでは、4月〜7月にプロダクトの負荷対策に注力しました。その結果、通信量の削減やDB負荷の低減、それに伴うインフラコストの削減などに繋がりました。負荷対策の方法は手探りながら多…

TerraformでGitHub Actions OpenID ConnectのIAM IdPを管理したい

こんにちは。エンジニアのEadaedaです。 皆さんのチームではGithub Actionsでaws-actions/configure-aws-credentialsを使っていますか?GitHub ActionsでAWS SDKやAWS CLIを使うために必要なクレデンシャルなどを設定してくれるactionで、我々のチームでは最…

CloudFront + API Gatewayの構成でCloudFront-Is-Mobile-Viewerなどのヘッダーを参照する時の注意点

はじめに CloudFrontからオリジンへのリクエスト時に特定のHTTPヘッダーを含めるには、オリジンリクエストポリシーの設定が必要です。 docs.aws.amazon.com CloudFrontを使用すると一部HTTPヘッダーが書き換えられ、特にUser-AgentヘッダーはAmazon CloudFro…

API Gateway + WebSocketでさくっとお絵かきチャットを作る

この記事はモバイルファクトリー Advent Calendar 2020 17日目の記事です。 こんにちは、エンジニアのshioiyanです。 モバイルファクトリーには部活動制度があり、いくつもの部活動が存在しているのですが、自分はそのうちのゲームジャム部に所属しています…

AWS Instance Schedulerで勤務時間外にJenkinsサーバーを停止させる

この記事はモバイルファクトリー Advent Calendar 2020 6日目の記事です。 はじめましての方ははじめまして、エンジニアの id:Nanamachi です。今回の記事ではテストに用いているJenkinsサーバーを勤務時間外に停止させる設定を行ったときに用いた AWS Insta…

Perl 製の静的サイトジェネレータでも Netlify の Deploy Preview で動作確認がしたい

こんにちは、ブロックチェーンチームでソフトウェアエンジニアをしている id:odan3240 です。 モバファクには毎日1時間社内勉強会の制度があります。 tech.mobilefactory.jp 様々な目的の社内勉強会が開催されていますが、その中に一つ OSS への貢献が目的の…

モバイルファクトリーのインフラアーキテクチャ

この記事はモバイルファクトリー Advent Calendar 2018の22日目のものです。 このブログではお初にお目にかかります。インフラチームのid:masasuzです。 モバイルファクトリーでは現在AWSと物理データセンターを使用しています。 モバイルファクトリーではも…