SlideShare a Scribd company logo
1 of 75
Download to read offline
オリジナル
ゲーム専用プラットフォーム
について
少し自己紹介
● 2008年 DeNA入社(みんなのウェディング)
● 2010年 エンジニアになる
● 2011年 DeNA退社 -> 福岡へ
● 2013年 DeNAに出戻り
● 2016年 ゲーム事業本部
●
●
春山 誠
DeNAのゲーム開発について
DeNA for GAME CREATORS
参照元 : http://recruit-games.dena.jp/technology/
DeNA for GAME CREATORS
参照元 : http://recruit-games.dena.jp/technology/
DeNA for GAME CREATORS
参照元 : http://recruit-games.dena.jp/technology/
DeNA for GAME CREATORS
参照元 : http://recruit-games.dena.jp/technology/
今日お話すること
1. Sakashoとは
2. Sakashoの構成について
3. Rubyを使った開発について
4. 最近の取り組み
5. まとめ
Sakashoとは
DeNA for GAME CREATORS
ネイティブゲーム用プラットフォーム
Sakasho
Sakashoとは
ネイティブアプリゲーム開発に
必要とされるサーバー機能を
提供するゲームプラットフォーム
ゲーム開発におけるサーバーサイドで
やるべき事をSakashoが一括で受け持
つことで、各開発チームはクライアント側
の開発に専念できる
運用のしやすさも見据えたゲームの
作り方のルールもある程度強いる
ゲーム開発・運用に必要なAPIの提供
● ユーザー情報API
● マスターデータ配信API
● ログインボーナスAPI など
Sakashoが提供している機能
● 課金API
● アセット配信API
● CS対応のための機能
SDK
● 課金やPush通知など、OSに依存している機能について
簡単に使えるインターフェースの提供
● Unity、C++のゲームエンジンに対応
Sakashoが提供している機能
WebView用インターフェースの提供
● お知らせの配信
● 掲示板
● 利用規約など
Sakashoが提供している機能
ゲーム専用サーバーとの連携機能
● ゲーム専用サーバーからSakashoにアクセスできるWeb APIを提供
● ゲーム専用サーバーを介してのユーザー情報の取得などに対応
Sakashoが提供している機能
Sakashoの機能一覧(一部抜粋)
● マスターデータ配信
● アセット配信
● プレイヤー管理
● お知らせ管理
● アイテム管理
● ログインボーナス
● お問合せ機能
● 課金
● ログ管理
● ランキング
● 掲示板
● 補填機能
● メンテナンス
● Push通知
● プレイヤー検索機能
● ギルド
● アプリのバージョン管理
● CS運用ツール
Sakashoが提供している機能
主なリリースタイトル
Sakashoの構成について
Sakashoの構成について
Sakashoの構成について(Web View)
マイクロサービス?
役割毎に10の独立したAPIコード群がある
○ メリット
■ 他のAPIへの影響を考えずにデプロイできる
■ リソースを細かく調整できる
○ デメリット
■ 運用工数がかかる(gemの更新とか)
■ 結局サービス毎に人を専用にアサインとかしなかったので、全員
全部見る状態
コード量も少ない(API全部ファイル数が700程度、行数3万行)のでこの規模
だと管理工数のほうが大きい
Sakashoの構成について
Sakashoの構成について
○ MySQLのMaster/Slave構成 + sharding
○ MHAでMasterの高可用性
○ MySQLへの接続は都度接続
○ DNSサーバーはMyDNSを使って、DeNA独自の拡張も入っている
DB周りは、基本インフラチームの指針にそっており、DeNAのオーソドックス
な構成になっています
Sakashoの構成について
DBに関して
Rubyを使った開発
Rubyを書ける人が多いチーム
○ Rubyで開発、運用 > Perlでの開発・運用
○ 何かあってもフォローできる人材がいる
採用面
○ Rubyでサービス開発を経験している人材の増加
Rubyの選択
Rubyを使った開発
PerlからRubyへの移行対応も責任をもって進めた
1. API サーバー : Sinatra + Sequel + Jbuilder
a. アクセス数が多いので、省メモリ・ハイパフォーマンス
b. JSONしか返さない
2. Web View向けWeb サーバ : Ruby on Rails
a. アクセス数は少ない
b. DBに直接アクセスせずに、1のAPIを経由してデータを取得する(API
の仕様そのまま)
c. Web UIを簡単に作れる
フレームワーク選定
Rubyを使った開発
1. 管理 ツール : Ruby on Rails
a. アクセス数は限られている
b. Web UIを簡単に作れる
c. 多少パフォーマンスが犠牲にしても、開発スピードを上げる
フレームワーク選定
Rubyを使った開発
詳細は下記資料をご参照頂ければ
Rubyを使った開発期
http://www.slideshare.net/blueskyblue/de-na-game-backend-as-a-service-20150129
最近の取り組み
パフォーマンス向上
キャッシュ戦略
最近の取り組み
● 基本的にSakashoのキャッシュ戦略はオンメモリキャッシュ
● 幸か不幸かマイクロサービスっぽい作りで、役割分担がされている
○ SakahsoはのAPIサーバーはprefork型(rubyのUnicorn)
○ wokerの数はAPI単位だと少ない(10位)
○ メモリの消費は激しくないため、念のため定期的に再起動はしてい
るが、それにも1h一回程度
■ 1サーバ 125プロセス(60MB 〜 100MB/process)
○ 主にゲームの設定値をキャッシュするので、そこまでメモリを消費す
ることもない
メモリキャッシュ
最近の取り組み
DBのクエリ改善
最近の取り組み
● KVS使う?
○ 一旦冷静に考えて
○ request headerに詰めて渡しているのもある
■ プレイヤーのID
■ shardのID
Proxy -> API間でどうやって共有?
DBのindex
最近の取り組み
● まあ、あるあるで昔作ったコードでPKがない、indexが足りてないとかとか
がたくさんある。。。。
● どうやって修正していくか?
○ 目をつむって ALTER(まあ、40万rowsくらい目安) + Online DDL
○ 徐々に移行(別テーブルに移す)
○ ALTER打ってMHA(最終手段)
○ 仕様変える
まあ、当たり前にみんなやるよね。。
最近の取り組み
● まあ、あるあるで昔作ったコードでPKがない、indexが足りてないとかとか
がたくさんある。。。。
● どうやって修正していくか?
○ 目をつむって ALTER(まあ、40万rowsくらい目安) + Online DDL
○ 徐々に移行(別テーブルに移す)
○ ALTER打ってMHA(最終手段)
○ 仕様変える
まあ、当たり前にみんなやるよね。。
最近の取り組み
● テーブル定義、indexが正しいテーブルを用意
● 古いテーブルと新しいテーブルへ二重に書き込み
○ 整合性チェックスクリプトは用意しておく
● (有効期限あるデータなのであれば)古いテーブルにデータがなければ、
新しいテーブルをみるようなフォールバックコードをいれる
● 移行完了かどうか判定するスクリプトは用意しておき、確認
● 確認完了したら、古いテーブルへの書き込みは停止
● 新しいテーブルのみの参照に切り替え
徐々に移行
Disk Full
最近の取り組み
Diskがあふれる
● プレイヤーの保存履歴を持っている
○ 保存するたびにjsonを保存している
○ DBに保存するには大きすぎるが、ログとして残しておく必要がある
○ DBの増設やshardで対応は現実的でない
最近の取り組み
S3へ逃がす
● jsonをS3へ逃がす
○ dailyでプレイヤー毎に履歴をjsonファイルにして、S3へアップロード
する
○ 今は毎日バッチで対応
● 管理ツールからの検索
○ 日付とプレイヤーのIDで履歴を閲覧可能に
○ そこまでの検索頻度はないので転送量はそこまでかかっていない
メモリ効率化
最近の取り組み
● SakahsoはのAPIサーバーはprefork型(rubyのUnicorn)
● 今までは、Unicornの新しいプロセス(master + worker)が全て新規に立ち
上がるのを見届けてから古いプロセスを停止させていた
○ 一時的にプロセス数が全体の2倍になり、最悪の場合メモリ使用量
が平常時の2倍になりえる (CoWが効いているのでので実際には2
倍にはならないが。。。)
● これを防ぐために、新しいworkerプロセスを1つ起動できたタイミングで古
いworkerプロセスを停止するように修正
APIサーバーのslow restart
最近の取り組み
DeNAのオーソドックスなプロセス管理
● daemontools
○ プロセスの監視
■ プロセスが死んだ場合の自動再起動
○ ログの収集
最近の取り組み
DeNAのオーソドックスなプロセス管理
● daemontools + unicorn
○ unicornをdaemontoolsの配下で動かそうと思ったとき、masterを
graceful restartしようとSIGUSR2を送信すると、親プロセス(旧
worker)が終了した時点で子プロセス(新worker)がinitプロセスの養
子に入ってしまう
○ そうするとdaemontoolsの管理から外れてしまう
○ そこでgraceful restartをServer::Starterに任せる構成にしている
参照元 : http://d.hatena.ne.jp/limitusus/20131225/1387993119
最近の取り組み
DeNAのオーソドックスなプロセス管理
/bin/sh /command/svscanboot
_ svscan /service
| _ supervise log
| | _ multilog t s999999 n10 ./main
| _ supervise sake
| | _ perl start_server --path=/sake/current/tmp/sockets/unicorn.sock --
signal-on-term=QUIT --signal-on-hup=QUIT --status-file=/sake.status --
pid-file=/sake.pid --dir=/sake/current --envdir=/sake/env --
/sake/current/bin/unicorn -c config/unicorn.rb
| | _ unicorn master #sake -c config/unicorn.rb
| | _ unicorn worker[0] #sake -c config/unicorn.rb
最近の取り組み
● すでにServer::Starter + kill-old-delay で運用されている
● 稼働サーバー台数も増えている
○ --signal-on-hupの変更(QUITからCONTへ)を行うことは、作業量が
多すぎるため避ける
○ ワーカー数の多いAPIについてはkill-old-delayを伸ばした上で、
slow restartを導入する
Sakashoの場合の運用事情
最近の取り組み
● check-rack-server-status での監視が unicorn の masterプロセスに対
して、空いているワーカー数を数えている
○ 再起動直後はワーカー数が足りない状態が検出されてしまうという
問題
○ 回避するためcheck-rack-server-statusは複数リクエストの結果で
判断してもらうように監視を修正
Sakashoの場合の運用事情
APIサーバーのslow restart
最近の取り組み
● 実際どうなったの?
キャパシティ管理
最近の取り組み
● リソースの取得方法
○ 自前 daemon
○ fluentd
● リソースの可視化
○ kpi-viewer
○ kibana
● 必要リソースの見積もり + リソースレポート作成
○ report-sakasho-web-kpi
キャパシティ管理
● リソースログの取得
○ 共通
■
■
■
○
■
○
■
●
●
● など
○ 内製 を各サーバに設置し収集したリソースログを に保存
リソースの取得方法1
● アクセスログの収集
○
■ 各 サーバ上で実行
● を収集
○
○
○
○
■
●
○ 物理実機
● で可視化
リソースの取得方法2
● 収集した 上のリソースログを可視化
● 内製ツール
○
○ 等
○ 範囲を特定して表示可能
○ 過去データが丸まらない
● に集めた の可視化
● を駆使して頑張っている
○ 単位の や実行回数の可視化
■ 性能劣化があればひと目で分かる
○ 単位の表示にも切り替え可能
● の 回数はゲームによって異なる
○ なら 万 捌けても、 は一極集中型のため、 万が限界
○ ということもあり、リソース見積もりが難しい
○ 分間 万回のコールならば捌けるという視点で考える
● 単位の収容限界値は、ここまでで取得したデータから見積もり可能
○ ならば、 万 処理可能
● つまり、テストプレイで得られたデータ 目標 の負荷が乗った場合、耐え
られるか計算すればよい
● キャパシティの過不足判断を出来るコマンドを開発
基準日
目標
● 基準日に新規タイトルの負荷が上乗せされた場合のリソースをシミュレーション
● 経験上、 は の を超えることは非常に考えにくい
● すべてのユーザがテストプレイ通りにアクティブにプレイすることはあり得ない
○ 上限値と見做して問題なし
● 本スクリプトを に仕込み、日次で実行
○ を飛ばし、日々振り返り実施
○ 台数調整の指標
最近の課題
Sakashoチーム
チーム
○ だいたい8人くらい
■ ブラウザタイトル担当からアプリタイトル担当へ移行する際に
Sakashoの運用を経験することが多い
リリースサイクル
○ 2週間に一度のペースでリリース
○ 2週間でできることやる
Sakasho専任チーム
Sakashoチーム
リリースサイクル
● 要望確確認会: リリースに含める
フィーチャーを検討
● Sakasho定例: リリースに含める予
定のフィーチャーをチームにシェア
● QA Kickoff: リリースに予定の
フィーチャーをQAに伝え、リリース
するフィーチャーとリリース日を決
める
● リリース告知: ゲームデベロッパに
アナウンスする。
リリースサイクルを細かく
● 仕様書コンプリート
● 開発開始
● SDKのスケルトン提出
● フィーチャーコンプリート
● QA開始
● サインオフ(QA完了)
● リリース
● QA確認
● ゲームデベロッパにリリースした旨をア
ナウンス
● Sakasho定例: フェーズの振り返り
Sakashoチーム
その結果
Sakashoチーム
● 機能数の増大
○ 約50のAPI(メソッド単位だともっと、、)
● SDKのバージョンも増えている
○ 全部で45バージョンくらい
● 変にマイクロサービスぽくしていて開発効率が悪い
○ 共通化されているgemの管理
機能数の増大と複数バージョンのサポー
ト
品質の担保
デグレチェック
人の手でやることじゃない
SDKのテストと自動化
最近の取り組み
● google製のC++テスティングFW
○ https://github.com/google/googletest
○ ライブラリのインストールはいらず、ccファイルをテストコードと一緒
にビルドすればテストの実行ファイルができる
● Xcode(XCTest)と一緒に動かせる
● テスト結果を出力しやすいこと(JUnit形式)
● Native Sakasho SDKが対象
googletestの採用
最近の取り組み
SDK
✔テスト結果を
通知
テストを実行
Slackプラグインで通知も
GitHub pull request builder plugin
で結果を表示
PP
Junit XML
最近の取り組み
SDKのテスト(iOS)
DEMO(時間があれば)
最近の取り組み
SDKのテスト
● SWETチームとの共同作業
参照元 : https://career.dena.jp/job.phtml?job_code=476
まとめ
ゲーム開発を支えるプラットフォームSakasho
○ Sakashoがサーバー側の運用を一括で受け持つことで
各ゲームタイトルはゲーム開発に集中できる
Sakashoのサーバーサイドの開発はRubyを使っている
○ 大規模なアプリケーションの開発・運用に
必要な仕組みを整備しました
開発・運用の効率化を行っています
○ API
■ メモリキャッシュの利用
■ slow restartの対応
○ SDK
■ googletestを利用した結合テストの整備

More Related Content

What's hot

大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
Yusuke Shirakawa
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
 

What's hot (20)

分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
 
コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 

Viewers also liked

DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
dena_study
 

Viewers also liked (10)

DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装
 
制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)
 
Game BaaS Implemented in Ruby
Game BaaS Implemented in RubyGame BaaS Implemented in Ruby
Game BaaS Implemented in Ruby
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術
 
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a ServiceDeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a Service
 
FINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてFINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについて
 
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
 
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発
 
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
 

Similar to DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて

D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介
IGDA Japan
 
はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3
Shoichi Masuhara
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
 
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Takashi Someda
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
leverages_event
 

Similar to DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて (20)

D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介
 
なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)
なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)
なぜ私たちは「効率化」を目指すのか(DeNA Games Tokyo)
 
Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
ドリコムのインフラCI
ドリコムのインフラCIドリコムのインフラCI
ドリコムのインフラCI
 
2018/1/30 Django勉強会
2018/1/30 Django勉強会2018/1/30 Django勉強会
2018/1/30 Django勉強会
 
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
 
Drupalによる大規模サイトの設計・実装 において何に気をつけるべきか
Drupalによる大規模サイトの設計・実装において何に気をつけるべきかDrupalによる大規模サイトの設計・実装において何に気をつけるべきか
Drupalによる大規模サイトの設計・実装 において何に気をつけるべきか
 
Shiva 〜Nextremerをscale upする機械学習環境〜
Shiva 〜Nextremerをscale upする機械学習環境〜Shiva 〜Nextremerをscale upする機械学習環境〜
Shiva 〜Nextremerをscale upする機械学習環境〜
 
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
 
20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecase20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecase
 
はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
Redmine Applied for Large Scale
Redmine Applied  for Large ScaleRedmine Applied  for Large Scale
Redmine Applied for Large Scale
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
 
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~
新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~
新規事業を 支える文化と加速させる技術 ~ devops / GCP / DDD ~
 

More from Makoto Haruyama (12)

Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
backbone.jsの使用例 その1
backbone.jsの使用例 その1backbone.jsの使用例 その1
backbone.jsの使用例 その1
 
Fluentd in Co-Work
Fluentd in Co-WorkFluentd in Co-Work
Fluentd in Co-Work
 
fluent-plugin-resque_stat
fluent-plugin-resque_statfluent-plugin-resque_stat
fluent-plugin-resque_stat
 
初心者エンジニアのシステム構築失敗談
初心者エンジニアのシステム構築失敗談初心者エンジニアのシステム構築失敗談
初心者エンジニアのシステム構築失敗談
 
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談
 
Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2
 
Yapc2012 ltthon
Yapc2012 ltthonYapc2012 ltthon
Yapc2012 ltthon
 
分散ファイルストレージ
分散ファイルストレージ分散ファイルストレージ
分散ファイルストレージ
 
Automation tech casual_talks_1_20120717
Automation tech casual_talks_1_20120717Automation tech casual_talks_1_20120717
Automation tech casual_talks_1_20120717
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
20110622 haruyama webso]cket
20110622 haruyama webso]cket20110622 haruyama webso]cket
20110622 haruyama webso]cket
 

Recently uploaded

Recently uploaded (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて