プラットフォーム

AWS re:Invent 2025 参加記と体験談 ~ 新卒視点 ~

はじめに 概要 セッション セッション探しで意識したこと 1. 現地ならではの体験 2. マルチクラウドについて 3. Redis(インメモリデータベース)について 印象に残ったセッション Best 5 Hassle-free multicloud connectivity with AWS Interconnect - Mult…

AIによるコードレビュー "PR-Agent" を導入した効果と課題について

AIによるコードレビューができるPR-Agentを導入した効果と課題について書いています。 導入結果としては、AIによるコードレビューが効果がある一方で、現時点では全てのレビューがAIに置き換えることはないことが分かりました。 この記事では、PR-Agentの具…

DMM プラットフォームのコードランクについて

はじめに コード品質の定義について DMM プラットフォームのコード品質への取り組み コードランク とは アーキテクチャ メトリクススコア テストカバレッジ コードの信頼性 メンテナンス性 セキュリティ セキュリティホットスポット コードランクのランク付…

DMMプラットフォーム 共通ナビゲーションが担う役割と課題

はじめに 共通ナビとは? 共通ナビの役割とは? DMM全体のナビゲーションシステム DMMの複数サービスで統一されたインターフェースの提供 独自の成長戦略を求められる Naviグループとは? 共通ナビが抱える課題 リリースによる表示崩れの発生 解消への取り組…

新ヘルプセンターシステム#5 リプレイスにおけるはじめてのUX・UI改善

本記事では、未経験の元エンジニアがヘルプセンターシステムのリプレイスでUX・UI改善に携わった話として、改善事例とそこから得た学び・反省について紹介しています。 はじめに 改善事例について FAQサイトと問い合わせサイトの統合 FAQ記事の統一 ライティ…

限定公開クラスタ設定が無効のGKEでCloud NATを使う方法

DMM GAMESプラットフォームにおけるインフラ事例として、限定公開クラスタ設定が無効のGKEでのCloud NATを使う方法についてご紹介です。 はじめに 一般公開クラスタと限定公開クラスタの違い Cloud NATについて 一般公開クラスタのGKEでCloud NATを使う方法 …

新ヘルプセンターシステム#4 API開発初期段階での技術選定の振り返りと今後の展望

イントロダクション 開発対象のAPI 技術選定の内容 プログラミング言語(PHPからGoへのリライト) リンター/フォーマッター Webフレームワーク ORM マイグレーションツール デザインパターン/アーキテクチャ 良かった点 1. 学習コスト削減とオンボーディング…

「JANOG53 Meeting in Hakata」に、マイクロサービスアーキテクトのSREが参加してきた話

自己紹介 JANOGとは? 聴講したセッション Kubernetesでネットワークコントローラ「Kuesta(ケスタ)」をつくってみたが、登りたい山はまだいくつもある 開発に至った背景 Kuestaを使うメリット その他質問 これからのIPv4 over IPv6の話をしよう 今の日本の…

新ヘルプセンターシステム#3 バックエンドチームがアプリ開発に集中できた秘訣

はじめに 開発初期の状況 MSAグループについて 設計の進め方 社内マイクロサービスプラットフォームの活用 レビューの遅延とその改善 負荷試験 モニタリング まとめ はじめに プラットフォーム事業本部 CSプラットフォームグループの佐々木です。 私はスキル…

AWS re:Invent 2023参加レポート

はじめに データ基盤開発部:小山 Workshop: Build stateful K8s applications with ultra-fast Amazon MemoryDB for Redis 全体を通して プラットフォーム事業本部:城野 Chalk Talk: How to connect multiple VPCs across locations オンラインサロン開発…

Dagger Go SDK vs Shell in GitHub Actions ~ モノレポのCIの実装をGoで実装するまでの道のり ~

はじめに Dagger Go SDK vs shell in GitHub Actions コードの視認性 エラーハンドリング 単体テスト ワークフローを実装するにあたって shell と Go で実装量を比べる 保守/運用のしやすさ まとめ 宣伝 はじめに DMM.com 2022年度 新卒入社の N9tE9 です。…

DMMデザイン組織の動き2023

プラットフォーム戦略を実現するためのUI/UXのブラッシュアップ 1.DMMプレミアム 制作チームの構築 2.プラットフォームプロダクト デザインチームの強化 3.新規事業のグロースフェーズへの移行支援 クリエイター( デザイナー / エンジニア / PM・PdM など) …

開発を通して感じたマイクロサービスを採用する大変さ

はじめに 大変だと思ったエピソード チームを横断した知見の共有 ログ基盤の構築 車輪の再発明の防止 マイクロサービスは費用がかかる まとめ はじめに DMMグループAdvent Calendar 2023 の22日目を担当する、いっぬ(@yuyu_hf)です。 プラットフォーム事業…

OasysのL2チェーンを自社運用している話 〜DMMのweb3事業とブロックチェーン運用Tips紹介〜

※株式会社DM2C Studioは2024年7月30日付で株式会社DMM Cryptoへ社名を変更いたしました。また、記事内で登場するトークンの名称「DM2P」は「Seamoon Protocol(SMP)」へ変更して発行予定です。 はじめに Seamoon Protocolについて SMPが提供する4つのモジュ…

DMM会員基盤 オンプレミスMySQLからAmazon Aurora MySQLへの移行方法とハマった点

はじめに DMM会員基盤について DB移設を行う理由 (1)会員サービス全体をクラウドに (2)見えにくいコストの見える化 移設方法 Amazon Aurora MySQLの構築 AWS Database Migration Serviceでデータ移行 アプリケーションのリクエスト切り替え 発生した問…

新卒数年目メンバーが贈るGoogle Cloud Next '23 参加レポート

はじめに GCP謹製CDNの今とCrunchyrollでの活用事例 Media CDNは地球規模のCDN Media CDNによるビジネスへの影響 (Mojの例) CrunchrollでのMedia CDN活用事例 GCPの最新LLM: PaLM2の新機能とデモ PaLM2での新機能 Demo : Grounding with Enterprise Search …

SLIの見直し 開発者目線からユーザー目線へ

はじめに SLI/SLOの導入以前からの課題 どのようなSLIを採用したか 得られた成果と課題 成果 課題 まとめと展望 はじめに この記事は DMMグループ Advent Calendar 2023 の2日目の記事です。 こんにちは、プラットフォーム事業本部 マイクロサービスアーキテ…

DMM.go #6をオンライン開催しました!

はじめに 当日の様子 pospomeさん「組織のコード品質を向上させる "レビューシステム" の取り組みについて 」 tao watanabeさん「マイクロサービスの効率的な監視〜不安定な依存先との闘い〜 」 N9tE9「静的解析から学ぶ go/ast パッケージの設計思想 」 お…

ユーザーレビュー基盤のリージョン移行対応

1.はじめに 2.リージョン分離の課題 3.意識したポイント 3-1.サービス区分を意識する 3-2.サービス無停止で切り替える まとめ 1.はじめに プラットフォーム開発本部のユーザーレビューグループの松井です。 さて、今回はレビュー基盤の移行対応についてお話…

Redis Streamsを活用したイベントドリブンアーキテクチャの構築事例

はじめに 背景 Redis Streamsとは 採用理由 構成図 Redis Streamsの処理フロー producer consumer consume events consume pending events delete idle consumer 構築・運用をしてみてのprosとcons pros cons 今後について まとめ はじめに EXNOA プラットフ…

協力し合える一番早いチームになるために 〜スクラム導入初期の取り組み紹介〜

DMM GAMESプラットフォーム部における、開発チームのスクラム導入初期時の事例についてご紹介します。 はじめに 山を見つける スクラムガイドを読む スクラムガイドと現実の差分を見る スクラムのゴールは近いようで遠い 僕らの失敗談 アジャイル見学会に参…

Single NodeのDocker Swarmを利用してオンプレミスにデプロイされるGraphQLサーバを安全にローリングアップデートさせている話

はじめに 1.前提知識 2.なにが課題だったのか? 3.Single Node Swarmを利用した解決策 4. CodeDeployを利用して、安全にコンテナをアップデートさせる 5.Docker Swarmの運用のコツ 6.これから 最後に はじめに EXNOA プラットフォームインフラ部の角です。 …

他職能のメンバーを巻き込んでサービスのUI/UX改善を実施したデザイナーの取り組み

はじめに スマホブラウザゲーム画面改善案件について なぜ他職能のメンバーを巻き込んで改善を実施したのか 他職能のメンバーを巻き込んで改善する取り組み 【1】共通言語を作って会話する 【2】理由を明記して提案する 【3】検証結果を可視化して共有する …

レガシーなアプリケーションの監視を改善するため最初にやったこと

はじめに Step 1: SLOの制定 SLO制定へのアプローチ 最終的に制定したSLO SLOに基づくアラート対応フロー Step 2:監視ルールの整理 SLIに関連する監視ルールの追加 Step 3: 監視の実装 Step 4: 監視の運用と継続的な改善 まとめ 最後に はじめに この記事は …

本人確認システムをリプレイスした話

はじめに 本人確認システムリプレイスプロジェクトの概要 リプレイス前の本人確認システム リプレイス後の製品原則 リプレイス後のシステム構成 リプレイス作業の内容 PHPからGoへのリライト サポートの確認業務の簡略化 既存システムからのデータ移行 テス…

デザイナーの「基礎体力」について

はじめに キャンペーンの進行 DMMポイントクラブとは 自身の感じていた課題 制作進行ノック キャンペーン進行の小まとめ 今年の気付き 1, 進行においての振る舞い 2, 自律的にワークする組織 3, 主語が「チーム」「組織」へ変わる時こそ必要な「基礎体力」 …

k8s 上の負荷試験基盤でロードテストを効率化するために新機能を追加した話

はじめに rps を指定できるようにする 負荷をかけるときに rps を指定して実行できなかった課題 RateLimiter を用いて利用者から rps を指定できるようにする 解決できなかった点 worker をスケールさせる機能 既存の負荷試験基盤が抱えていたキャパシティテ…

マルチテナントKubernetes環境のKubernetes External Secrets が非推奨になるので External Secrets Operatorへ移行した話

はじめに Kubernetes External Secrets(KES)の非推奨 KESからESOの変更点 ESOでのマルチテナント構成 KESからESOへの移行 最後に はじめに この記事は DMMグループAdvent Calender 2022 の10日目の記事です。 10日目はプラットフォーム事業本部マイクロサー…

Datadogを利用したE2Eテストの活用事例紹介

はじめに システム構成 本番環境のシステム構成 ステージング・開発環境のシステム構成 料金 シナリオ作成 条件の例 ユースケース 論理シナリオ Datadogでテストの作成 準備 新規ブラウザテスト作成 テストの詳細情報を設定 論理シナリオに沿ったテストの作…

プロダクト改善を支えるため商品データベースを分割している話

はじめに 商品DBとは 商品DBが抱えていた課題 大量のReadReplica 密結合なデータ 密結合なアーキテクチャ メンテナンスにかかる大きな調整コスト プロジェクトの立ち上げ やると決めたこと やらないと決めたこと 移行後の構成 現状を分析する 構成検討と意思…