サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
engineering.dena.com
はじめに こんにちは、IT 戦略部システム基盤グループの井戸です。 当グループは社内向けに様々なサービス(GitHub、Jira、Confluence など)を提供し、それらの運用を担当しています。最近では社内向けサービスに SaaS を活用する機会が増え、その数も増加しています。 SaaS を利用することは、従来のオンプレミスのサービスと比較していくつかのメリットがあると言われており、概ねその通りだと思います。 物理サーバーを購入する必要がないため、導入コストが低い 月額利用が一般的なため、利用開始や解約のハードルが低い ベンダーがセキュリティ対策を担当するため、ユーザーはセキュリティを意識する必要がない クラウド上でサーバーの管理が行われるため、物理的なスペースを確保する必要がない 障害時の対応はベンダーが行うため、自ら対応する必要がない ただし、「障害時の対応はベンダーが行うため、自
はじめに こんにちは、IT戦略部システム基盤グループの酒井と申します。 システム基盤グループは2023年4月にIT基盤部からIT戦略部に所属部門が代わり、社内システムのインフラやGithubやJira/Confluenceなどの運用を担当しています。 このタイトルに見覚えがある方は熱心なDeNA Engineering blogの読者だと思います。 私の上長が過去に同じタイトルでblog投稿をしていました。 まだ見ていない方は今回の内容とも関連するため、以下からご覧ください! VPN との終わりなき戦い 〜怒濤の全社テレワーク編〜 VPN との終わりなき戦い 〜Cloud Journey 編〜 今回もタイトル通りVPNに関するお話となります。 DeNAのリモートワークの状況 本題に入る前に弊社のリモートワークの状況をご説明します。 DeNAではコロナが落ち着いてからもハイブリッドワークを継
こんにちは!DeNAでソリューション本部クライアントエンジニアリング部モバイルアプリグループに所属する早川(sokume)です。 先日(2024年5月14日)、Google I/O 2024がオンライン配信されました。2019年以降、Google I/Oはオンライン形式で開催されていますが、今回のGoogle I/O 2024にはオフラインの会場に参加する招待を頂き、現地に参加してきましたので、会場の雰囲気などをご報告します! Google I/O とは? Google I/O 2024 Googleが開催する年次開発者向けカンファレンスで、Googleのテクノロジー、製品、ツールの発表に加えて、技術セッションや展示などが行われ、新情報が共有される場となっています。今回は、2024年5月14日10:00〜(日本時間5月15日2:00〜)に基調講演が行われました。 会場 会場はGoogle
2024.05.14 技術記事 Cloud Spannerを使う大規模アプリケーションの負荷試験におけるアプローチとチューニング by tomohiro.katsukura #loadtest #google-cloud #spanner ゲームサービス事業本部の勝倉です。 この投稿では、Cloud Spanner を使う大規模アプリケーション 1 での負荷試験の方法論と、チューニング方法について記述しています。 前半は、従来的な負荷試験の手法が抱える課題を整理し、それらを解決する新しい方法論を紹介しています。 後半は、Cloud Spanner で秒間500万超のクエリ(5M+ QPS)の負荷を捌くまでに出てきたボトルネックの見つけ方と潰し方について紹介しています。 1. 負荷試験の悩みどころ バックエンドアプリケーションの開発において、負荷試験は重要なチェックポイントになります。 これ
こんにちは、ぎもちんです。 音声ライブ配信アプリ Voice Pococha の Flutter アプリ開発をしています。 Voice Pococha では昨年、 C 言語による低レイヤな音声処理を行うための音声基盤を導入・リリースしました。 この記事では、そのような音声基盤をアプリに導入した背景や、技術選定、実装手法についてお話しします。 音声基盤とは 音声基盤とは Voice Pococha アプリで音声処理を行うためのフレームワークを指します。 Voice Graph と呼ばれており、カラオケ機能追加に伴って実装・導入されました。 以下の3点を主軸に、 C 言語で開発されています Kotlin/Swift との相互運用 低いメンテナンスコスト 高い拡張性とパフォーマンス カラオケ機能要件 音声基盤の説明をする前に、まずは音声基盤を導入する理由となった、カラオケ機能の要件について説明し
2024.02.27 技術記事 Percona XtraBackup: 高性能DBバックアップツール [DeNA インフラ SRE] by Kohei Okazaki #infra-quality #infra-delivery #stabilization #technical-verification #datastore #portability #pxb #mysql はじめに こんにちは、IT基盤部にてインターンとして活動している岡崎です。現在、私はパブリッククラウドチーム (以下、PCA)に所属しており、いくつかの施策に携わっています。 現代のビジネス環境において、クラウドリソースの柔軟な移動と管理は、事業継続性と革新性の両立に不可欠です。この重要なニーズに応えるべく、私たちPCAチームでは、クラウドリソースのポータビリティに関する総合的な施策を進めています。これは、アプリケー
みなさま初めまして!だったり、知っている人もいるかもしれませんが初めまして! DeNAのデジタルエンタテインメント事業部でWeb3担当しているten3でーす! 本日は自分が開発担当していた NFTリテラシー検定 リリースということでエンジニアブログ書かせていただくことになりました! NFTリテラシー検定ってなんなんじゃい! みなさん!NFTってご存じですか? ご存知の方、そうでない方いらっしゃると思います。 NFTと聴いてどんなことを想像されますでしょう? 名前くらい聞いたことがある方だと、デジタルアートだとか、デジタルアートの売買だとかを想像されるかもしれません。 また、Blockchainに詳しい方であれば、Blockchainの改竄に強い特徴と持続性を利用したデジタル証書を想像されるかもしれません。 そして、NFT取引に絡む投機性だったり、詐欺などの犯罪について想像される方もいらっし
はじめに 初めまして、2023年の9月から12月にかけて、DeNAの就業型インターンシップに参加した佐藤 創太です。 普段は、大学院でネットワークの研究をしたり、少数のチームで受託開発を行ったりしています。 突然ですが、学生の皆さまは以下のような点に悩んだことはありますでしょうか? 強いエンジニアになりたいけど、そもそも強いエンジニアとは何だろう? 私はインターンに参加する前、この点について悩み、どうやってエンジニアとして能力を高めていけば良いのかがわかりませんでした。 しかし、インターンで強いエンジニアたちと共に開発を行うことで、自分なりに進む方向性が見えてきました。 そこで、私と同じような悩みを抱える方に向けて、本記事では以下の内容についてお話ししたいと思います。 インターンに応募した理由 業務の概要と働く環境 インターンを通して感じた強いエンジニアとは 是非お付き合いいただければ幸い
2023.12.15 技術記事 ALB TargetGroup を切り替えて S3 上の静的ページを表示する(HaMaMo! ハマスタモバイルオーダーの事例)[DeNA インフラ SRE] by yuto.ota #ydb #hamamo #aws #infrastructure はじめに こんにちは,IT 本部 IT 基盤部第一グループの大田です. IT 基盤部では,DeNA のグループ子会社等も含めて横断的に複数のサービスのインフラ運用を行っています. 今回は,横浜DeNAベイスターズ(以下,YDB)の HaMaMo! というサービスについて,IT 基盤部が関わっているインフラ部分の構成について一部ご紹介します. HaMaMo! とは HaMaMo!(ハマスタモバイルオーダー)は、 ハマスタオリジナルフードを、スマホでオーダーして、完成通知を受信後に、 受け取りに行くだけの便利なオーダ
こんにちは、IT戦略部システム開発グループ所属のyoshiiです。 私は学生時代ひたすら個人開発をしており、就活もこの活動一本で行なってDeNAに入社しました。 今回はほとんど個人開発しか経験していなかった私が、研修や実際の業務の中で、チームで働いて失敗したことや成長できたことなどをゆるく書けたらいいなと思っています。 誰得な記事になるかもですが、どうか最後まで読んでいただけると幸いです。 特に読んで欲しい人 趣味開発はやってきたけど、仕事でコード書いた経験はなくて不安な学生さんに特に読んで欲しいと思って書いています。 もちろんそれ以外の人も読んでいただければ嬉しいですが…! 個人開発に対するスタンスとこの会社に入った決め手 今回のお話をする前に、私がどういうスタンスで趣味の個人開発と向き合ってきたかを説明しておきます。 私にとって個人開発をするスタンスは「自分が面白ければなんでも良い」し
gem の概要 database_rewinder という gem があります。 これを使うとテストケースを実行するたびに DB の中身が初期化されて、しかも超速いというすごい gem です。 弊社でもヘビーユースさせていただいていたのですが、あるプロダクトの自動テストにおいて適切にデータが初期化されないケースがあり、 Flaky test の原因となっていました。 今回ご紹介する mysql_rewinder は、この問題を解決するために database_rewinder の代替を目指して開発した gem です。 使用例 Ruby on Rails / RSpec と組み合わせる場合、以下のように利用します。 RSpec.configure do |config| # MysqlRewinder の初期設定 config.before(:suite) do db_configs = A
こんにちは!@karupaneruraです。 自分のことはPerlの人として知ってもらっている方が多いかと思いますが、今回はJavaの記事を書いてみます。 今回の記事では、「Apache Beamについて調べたけどよくわからなかった」「Apache Beamはなんとなく分かるような気がするけどサンプルコードを多少書き換える範囲から抜け出しきれない」「理解をもう一歩進めて複雑なパイプラインも記述できるようになりたい」という方に向けて、どのようにBeam SDKをつかってどのようなことができるのか、その概観を掴んでもらえるようなところを目標にしています。 なお、分かりやすさのために説明を一部端折ることで不正確な部分が一部出てくるかと思いますが、この概観を掴んだあとに公式ドキュメントを読むなどして補完・修正していただけますと幸いです。 Apache Beamのご紹介 特にApache Beamを
はじめに はじめまして!2023年9月にAIスペシャリストのインターンシップに参加させていただきました、柳( @ynt0485 )と申します。普段は数理最適化や機械学習関連の研究を行っています。 今回のインターンでは、DeNAが運営するX(旧Twitter)アカウントの投稿文を自動生成するというタスクに取り組みました。この記事では、どのような工夫によって生成の精度を上げることができたのかについて紹介します ! 課題内容 概要 初めに、今回のタスクの概要についてお話します。 近年の大規模言語モデルの発展により、文章の自動生成は様々な分野での活用が期待されています。特に、ある分野に特化させた文章の生成はクリエイティブの制作やサービス専用のチャットボットの構築に利用することが できます。 そのため、今回は特定分野に特化させた文章生成の1つとして、あるX(旧Twitter)アカウントの過去の投稿文
はじめに こんにちは!エンジニアリング室の太田です。 DeNA では「DeNA TECH STUDIO」という、世の中の技術向上に貢献する勉強会やイベントを積極的に支援することを目的とし、エンジニアリングに関する勉強会サポートプログラムを運営しています。 2017年9月から始動し、数多くの勉強会やイベントをサポートしてきました。今回はその「DeNA TECH STUDIO」について少しお話したいと思います。 DeNA TECH STUDIO とは アウトプットしたい技術ネタがあるけど、 発表するための場所がない、、、 そもそも準備するまでの手間がかなり、、、 というようなことが億劫で、情報発信したいのにできないことはよくあると思います。 そのような課題を解決して「外にもっと発信したい!」というWILLに対して、それをより実現しやすくするための制度として開始したプログラムです。 DeNAのエ
スクラムチームの構成 私たちのスクラムチームは以下のような構成で開発を行いました。 開発者 4人 プロダクトオーナー 2人 スクラムマスター 1人(私) プロダクトオーナーが2人というのは通常のスクラムで考えるとあまりないのですが、今回ビジネスサイドから参加したメンバーが通常業務との兼任だったため、なかなか時間を割きにくいという特殊な事情もあり、このような体制をとっていました。 スクラム開発で起こった問題 「スクラムわからん」 これが僕たちのチームに最初に立ちはだかった、最大にして最難関の壁でした。 スクラムの講義やスクラムガイドに目を通しただけではスクラムを理解することは難しく、何を取り組むにしても「これはスクラムのやり方に則っているのだろうか?」という疑問にぶつかってしまい、みんながモヤモヤしているし、物事も前に進まないということがスプリント1では起きていました。 スプリント1のスプリ
2023.08.24 技術記事 Prometheus, Grafana, Alertmanager 高可用性構成への挑戦[DeNA インフラ SRE] by Keijun Kumagai #infrastructure #prometheus #infra-quality #monitoring #stabilization こんにちは!k-jun です。IT基盤部にて大規模ゲームのインフラに携わっているインフラエンジニアです。この記事では、モニタリングコンポーネントの Prometheus、Grafana、Alertmanager を冗長化した事例をご紹介させて頂きます。 モニタリングとは モニタリングとは、システムやコンポーネントの振る舞いを観察し出力をチェックすることです。システムはコンポーネントで構成され、各コンポーネントの状態は絶えず変化しています。モニタリングとは、この刻一刻と
はじめに こんにちは。インフラエンジニアの松浦です。 IT 基盤部に所属し、全世界向けのゲームタイトルのインフラ運用を担当しています。 先日あるプロジェクトで Google Kubernetes Engine (以降 GKE) でインフラを構築することになり、そこで GKE のコスト削減のために、 ノード 数削減すなわち Pod 集約率の向上 (1台のノードで出来るだけ多くの Pod を動かす) に取り組みました。 今回はそこで行ったことをご紹介します。 概要 今回のプロジェクトでは、 Kubernetes (以降 K8s) の Horizontal Pod Autoscaler 使用してアプリケーション Pod をオートスケールさせます。 このため、スケールアウト・スケールイン後 (Pod の増減により クラスタオートスケーラー (以降 CA) がノードを増減させた後) でも、Pod 集
上記の表から実際の稼働率は以下のようになります。 (式が長くなるためメトリクス名を省略しています。) ELBxxxのメトリクスはELBの応答ステータス、Targetxxxのメトリクスはターゲット(APIサーバ)の応答ステータスになるので、 それぞれどのステータスもELBとTarget両方を合算する必要があります。 $$\mathrm{稼働率} = \frac{ELB3xx + ELB4xx + Target2xx + Target3xx + Target4xx}{ELB3xx + ELB4xx + ELB5xx + Target2xx + Target3xx + Target4xx + Target5xx}$$ このうち、ELB4xx,ELB5xxに含まれているステータスに関しては考慮が必要なため以下で補足します。 メトリクスについて HTTPCode_ELB_4XX_Count ロードバ
2023.05.16 技術記事 T 系 EC2 インスタンスのクレジットが回復しないので困った話 [DeNA インフラ SRE] by negimaq #infrastructure #sre #aws #ec2 #cost はじめに こんにちは、IT 本部 IT 基盤部第一グループの横田です。 私の所属する IT 基盤部では、組織横断的に複数のサービスのインフラ運用を行っており、インフラの安定的な稼働やコスト削減に取り組んでいます。 今回は、DeNA TechCon2023 LIGHTNING TALKS 1 でも発表させていただいた AWS の EC2 インスタンスにおけるコストコントロールで困った事例をご紹介します。 T 系 EC2 インスタンスとは AWS の EC2 インスタンスには、高い CPU 使用率が持続しない用途において安い料金で利用できる特徴があるバーストパフォーマンス
こんにちは!!技術統括部プロダクト開発部の畔柳(くろやなぎ)です!! DeNAでは社内外で多くの勉強会を開催しており、その中でも最近は特に「ハイブリッド勉強会」の必要性が増えました。 そこで、今回はDeNAで行っているハイブリッド勉強会の運用についてご紹介します。 なぜハイブリッド勉強会が必要か ここ数年で働き方が多様化し、DeNAではリモートワークを積極的に推進しています。 しかしオフィスで顔を合わせてコミュニケーションを取る重要性などもあり、自由に出社してコミュニケーションを取りながら働く「ハイブリッド出社」を推奨しています。 このような働き方の変化を受け、勉強会もハイブリッド形式が求められるようになりました。 ハイブリッド勉強会は、オンライン会場とオフライン会場を用意し、互いの知識やスキルを共有する場を提供します。 このようにハイブリッドで開催することで、参加者の働き方やライフスタイ
こんにちは。PocochaでRelease Train Engineer(RTE)をしている山下です。 Pocochaでは大規模アジャイルフレームワークの一つであるSAFe®を導入しています。 どのような理由で導入したのか、どのように導入したのかについては こちら の記事をご覧下さい。 SAFe®に興味を持っていただけたでしょうか? この記事ではスクラムやXPをすでに導入していて大規模アジャイルフレームワークSAFe®の導入を検討している方を対象に、SAFe®の心臓と呼ばれているPIプランニングを詳しく紹介します。 PIプランニングは多数のアジャイルチームが協調し、一つの大きな目標に向かって協力するためのSAFe®の一大イベントです。 この記事が私たちと同じように異なるアジャイルチームのコミュニケーションや作業の調整に課題を抱えている方の助けになれば幸いです。 それではPIプランニングを学
こんにちは、SWETグループ兼PocochaでQAエンジニアを担当しているkariadです。 Pocochaではよりフロー効率を高めていくため、アジャイル開発体制への移行を進めています。 今回はその中でもテストについて、Pocochaでの取り組みについて紹介します。 また、PocochaではSAFeという大規模アジャイルフレームワークも採用しており、本記事でもSAFeの用語が出てくることがあります。 可能な限り用語がわからなくても意図が伝わるように書いていますが、Pocochaで取り組むSAFeそのものについては別記事にて後日紹介したいと思います。 いつテストをするのか? アジャイル開発でフロー効率を高めていく上で考えなくてはいけないのはいつテストをするかです。 従来のPocochaでは開発終盤にまとめてQAを実施していました。 このときはバグの件数もそれなりにあり、仕様に関わる不具合が見
エンジニアリング室のeveresです。 私自身があまり詳しくない技術領域の社内勉強会 GCloud Monday を2年以上継続して開催してきました。 ※ 詳しくない=勉強会で行われたクイズ大会で2回に1回はビリになる程度の詳しさ 社内勉強会の継続に関して、大切だなと気づいたことがありますのでGCloud Mondayの紹介とともに紹介します。 これから社内勉強会を始めようとしている人や、社内勉強会を開催しているけれど思ってたより重いなと感じている人のお役に立てば幸いです。 GCloud Mondayとは 隔週の月曜日に社内で行われているGoogle Cloudに関する勉強会です。 DeNAの社内コミュニティ勉強会は開催曜日が勉強会名に入ることが多く、GCloud Mondayもその1つです。 DeNAの社内勉強会は会社組織に紐づいた事業部勉強会と、事業部などを横断して有志が集まるコミュニ
2023.02.07 技術記事 Amazon ElastiCache / Google Cloud Memorystore スペック変更時のダウンタイム比較 [DeNA インフラ SRE] by Tomonori Hirata #infrastructure #ElastiCache #Memorystore #AWS #GCP #technical-verification はじめに こんにちは。インフラエンジニアの平田です。 IT 基盤部に所属し、全世界向けのゲームタイトルのインフラ運用を担当しています。 今回は、マネージドのインメモリキャッシューサービスである Amazon ElastiCache for Redis (以降 ElastiCache) と Google Cloud Memorystore for Redis (以降 Memorystore) のそれぞれについて、スペッ
こんにちは、技術統括部セキュリティ部セキュリティ技術グループの小川です。 今回は Shibuya.gamesec #2 にて発表した内容について、ブログ上で紹介していきたいと思います。ゲーム開発者の方がどのようなことに気を付けて開発をすると良いか、参考になれば幸いです。 DeNA におけるリリース前のチート・脆弱性診断 DeNA ではサービスの新規リリースやアップデートを行う前に、セキュリティ部がコードレビュー等を含むチート・脆弱性診断を行っています。公開する前に「その内容を世の中に出して安全か」を確認し、危険な箇所があれば指摘、安全な状態にしてからリリースをしています。 ここでは、このセキュリティチェックで過去発見・修正した脆弱性について集計し、どのような脆弱性がありがちかに触れていきます。集計対象はゲームアプリ・サーバーに関する脆弱性に限ります。しかし、一般的な統計情報として利用するた
大小合わせて300ほどのさまざまな特性をもつサービスが運用されていたDeNAのオンプレミス。2021年4月、DeNAはこのオンプレミスからクラウドへの全移行を完了しました。 2018年からはじまったクラウド移行はどのように成し遂げられたのか。また、クラウドへ100%移行した結果「 技術広報としても、創造的な仕事を行うことに時間を割けるようになると嬉しいですよね? ではどうやったら良いのか。 不明点をあらかじめ減らしておく 例えば、エンジニアが自社のエンジニアブログ記事をはじめて書く時、そのエンジニアにとっては執筆に関して不確実なことが多すぎて、1つ1つの不明点を減らしていくことに多大な労力が必要となります。 また技術広報が技術カンファレンスのスポンサーについて判断を行う時も、判断を行う上で必要な情報や判断基準など不確実なことが多すぎて、不明点を減らすことに多大な労力が必要となります。 これ
はじめに こんにちは、DeNAのエンジニアリング室に所属している本山と申します。 このブログは、 技術広報 Advent Calendar 2022 の1記事です。ということで、今回はタイトルにあります通り、技術カンファレンスで流す企業のCM動画の制作について、「DeNAはこういう作り方をしています」という制作の流れを簡単にご紹介したいと思います。自分では無意識にやっていた部分も思い出しながら、言語化したので『これから技術カンファレンスで流す企業CMを作ってみたい!』という方の一助になれば幸いです。すでにこういった制作業務をされている方にとっては「当たり前」のことしか書いていないかも知れないですが、気づきや、ご共感いただける箇所があれば嬉しいです。 DeNAはどんなCMを流しているの? まずは2022年に公開したCM動画をいくつかご紹介したいと思います。 iOSDC Japan 2022
はじめに こんにちは。データ本部 AI 技術開発部で nagiss というハンドルネームで活動している者です。 先日行われた HACK TO THE FUTURE 2023 予選(AtCoder Heuristic Contest 016) において 1 位を獲得することができましたので、その解法を紹介します。 HACK TO THE FUTURE とは HACK TO THE FUTURE は、 フューチャー株式会社 が AtCoder 上で 2018 年から毎年開催しているプログラミングコンテストです。 コンテストでは、問題がただひとつ出されます。 参加者は、この問題に対しどれだけ高いスコアを獲得できるプログラムを書けるかを競います。 (いわゆる"マラソン (ヒューリスティック) 形式"のコンテストです。) 一昨年まで予選の制限時間は 8 時間でしたが、昨年からは 1 週間程度の長さと
はじめに こんにちは。ソリューション事業本部ゲームアライアンス事業部プラットフォーム開発部の金川( @orekyuu )です。 先日 JJUG CCC 2022 fall で「Fargate上のJVMからCPUを認識するまで 〜正しく認識されないCPUの謎を追え〜」というタイトルで、JVMがコンテナ内からどのようにCPU数を認識しているのかを話しました。 この記事では発表の内容のまとめと、2022年12月現在のコードでの違いについて紹介します。 直面した課題 JavaアプリケーションをECS on Fargateで運用を始めるに当たり1タスクでどれだけの負荷を捌けるかのテストを行うために JavaFlightRecorder を使って詳細なメトリクスを取っていたところ、G1GCになっていることを期待していましたが意図せずSerial GCが有効になっていることに気付きました。 Serial
次のページ
このページを最初にブックマークしてみませんか?
『DeNA Engineering - DeNAエンジニアのポータルサイト』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く