タグ

ブックマーク / labs.gree.jp (252)

  • Capistrano ではじめるオートスケーリング | GREE Engineering

    インフラの駒崎です。 Capistrano を使ったデプロイから、オートスケーリングをスムーズに導入するための弊社事例を紹介させていただきたいと思います。 こんな方へ 稿で想定するのはこのような状況です。 Capistrano を使って中央管理型デプロイをしている AWS などのクラウドインフラを使ってオートスケーリングをやりたい オートスケーリング時のデプロイをどうするか検討している コンテナベースのデプロイやブルーグリーンデプロイには準備が足りない 理想は見えているもののなかなか進まない状況から、できるだけスムーズに改善を重ねることを目指します。 稿のゴールは AWS でオートスケーリングを実現することです。 過度な一般化を避けるため、稿では AWS 環境を前提として記述します。 オートスケーリングに必要なもの スケーリングのサイクルは、おおまかに次のように考えられます。 イメー

    Capistrano ではじめるオートスケーリング | GREE Engineering
  • Docker と ECS と WebSocket で最強のリアルタイム・マルチプレイ環境を運用 | GREE Engineering

    概要 AWS ECS でマルチプレイゲーム用インスタンスの管理すると限りなく最強。 はじめに リアルタイム・マルチプレイゲームを作る時、まず考えられることは、あるプレイヤーの行動や状態が他のプレイヤーに伝わることではないかと思われます。しかし、スマートフォンアプリは不安定であったり、複数端末同士で(基地局やバックボーンを介さずに)物理的に直接接続することは出来ませんし、理論的にできたとしても、だいたい開発が進んでいくうちに排他制御の問題などで炎上、もしくはとん挫してしまいます。軽い気持ちでマルチスレッド処理をおこない事故る現象と全くおなじです。 もっとも簡単な解決方法としてはマルチスレッド処理のときようにクリティカルセクションを設けることです。ようはサーバを用意してそこで処理すれば、比較的容易に一意な結果が得られますし、接続に関する問題も起こりにくくなります。 長くなるので → http:

    Docker と ECS と WebSocket で最強のリアルタイム・マルチプレイ環境を運用 | GREE Engineering
  • Subiamを使いAWSのIAM管理をコードベースでおこなう | GREE Engineering

    矢口です。 みなさんはAWSのIAMをどのように管理されていますか? グリーでは色々な要件からMiamというツールをforkして Subiam というツールを開発し利用しはじめました。 Subiamは既存のAWSアカウントのIAM運用を阻害せずにコードベースで安全なIAM管理を始めることのできるツールです。 https://github.com/gree/subiam 特徴 コードでIAMを管理できる 差分を自動検出して適用 IAM全体ではなく任意の範囲だけを切り取って管理でき、システム全体に影響を与えないよう配慮されている dryrunできる 現在の状態をユーザーが管理し保存しておく必要がない 複数AWSアカウントで扱いやすいようRole Nameなどを自分で定義でき共通にできる 既存ツールとの比較 ツールの優劣を示すものではなく、自分たちに必要であった要件についてのみ比較しています。

    Subiamを使いAWSのIAM管理をコードベースでおこなう | GREE Engineering
  • GREEのUserAgent比率を公開します(2016/05) | GREE Engineering

    開発企画部の佐島です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 65.9, "iOS": 34.1 }, "version": { "Android": [ { "percent": 30.7, "name": "5" }, { "percent": 22.5, "name": "4.4" }, { "percent": 16.2, "name": "4.2" }, { "percent": 11, "name": "5.1" }, { "percent": 6, "name": "4.1" }, { "percent": 13.6, "name": "other" } ], "iOS": [ { "percent": 58, "name": "9_3" }, { "per

    GREEのUserAgent比率を公開します(2016/05) | GREE Engineering
  • GREEのUserAgent比率を公開します(2016/04) | GREE Engineering

    開発企画部の佐島です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 65.4, "iOS": 34.6 }, "version": { "Android": [ { "percent": 30.1, "name": "5" }, { "percent": 22.7, "name": "4.4" }, { "percent": 16.7, "name": "4.2" }, { "percent": 9.6, "name": "5.1" }, { "percent": 6.7, "name": "4" }, { "percent": 14.1, "name": "other" } ], "iOS": [ { "percent": 47.4, "name": "9_3" }, { "

    GREEのUserAgent比率を公開します(2016/04) | GREE Engineering
  • 発表資料 | GREE Engineering

    発表資料 | GREE Engineering
  • GREE Tech Talk #10 ご来場ありがとうございました | GREE Engineering

    こんにちは。開発企画部の佐島です。 はじめに 3月24日(木)、グリー主催の技術勉強会 GREE Tech Talk が開催されました。 10回目となる今回のテーマは「データ可視化」。 さまざまな可視化をちょっとづつたくさんみてみようということで発表時間を短く、その分発表者を多く、という形で構成しました。 全ての登壇者の方にスライドと動画の公開についてご快諾いただけましたので詳細はそちらをご覧ください。 セッション概要 上述した通り内容は全て動画でご確認頂けますので、簡単な紹介のみとさせていただきます。 『昨今のデータの可視化のニーズと取り組みについて』 森藤 大地(ニフティ株式会社) 最初にご登壇頂いたのはニフティの森藤さん。所属されているIoTデザインセンタに寄せられる様々な要望を元に実際に可視化された事例をご紹介いただきました。 『ネットワークを可視化してみた』 上竹 嘉史(グリー株

    GREE Tech Talk #10 ご来場ありがとうございました | GREE Engineering
  • GREEのUserAgent比率を公開します(2016/03) | GREE Engineering

    開発企画部の佐島です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 66, "iOS": 34 }, "version": { "Android": [ { "percent": 27.9, "name": "5" }, { "percent": 22.2, "name": "4.4" }, { "percent": 16.6, "name": "4.2" }, { "percent": 10.2, "name": "4" }, { "percent": 8.3, "name": "5.1" }, { "percent": 14.8, "name": "other" } ], "iOS": [ { "percent": 55.2, "name": "9_2" }, { "per

    GREEのUserAgent比率を公開します(2016/03) | GREE Engineering
  • デュアルディスプレイなときに顔の向きでアプリ切り替えてみた | GREE Engineering

    SAO The Beginningのαテストに落選したふじもと (@masaki_fujimoto) です。当選されたかたは、無事ログアウトできるといいですね (負け惜しみ感)。 相変わらず長い前置き それはそれとして、最近ディスプレイが余った (別のフロアに1台おきっぱにしてたのを回収してきた) ので、久々にデュアルディスプレイにしてみました。で、画面がひろびろとするのはいいのですが、なんか思ったより快適じゃない感じがしまして、なんでかなぁと思ったら、隣のディスプレイを見たときにアクティブなウィンドウをスイッチするのがかったるいんですよね。一応図にしてみるとこういう感じで: それぞれ27inchで結構大きいので、基は左側のディスプレイを正面にみておしごとしてます。で、右側にはchatを表示させてて、通知きたらそっちみて、って感じでまぁありがちな感じですね。 で、それはいいんですが、問題

    デュアルディスプレイなときに顔の向きでアプリ切り替えてみた | GREE Engineering
  • GREEのUserAgent比率を公開します(2016/02) | GREE Engineering

    開発企画部の佐島です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 65.5, "iOS": 34.5 }, "version": { "Android": [ { "percent": 27.2, "name": "5" }, { "percent": 24.5, "name": "4.4" }, { "percent": 18, "name": "4.2" }, { "percent": 8.3, "name": "4" }, { "percent": 7.5, "name": "5.1" }, { "percent": 14.6, "name": "other" } ], "iOS": [ { "percent": 52.1, "name": "9_2" }, { "pe

    GREEのUserAgent比率を公開します(2016/02) | GREE Engineering
  • AWS EC2 での最強の Public IP 取得方法 | GREE Engineering

    概要 AWS EC2 インスタンスの Public IP は起動毎に変わってしまい、 ssh や curl コマンドに与えるアドレスを毎回確認するのに困っていませんか? 特に常時起動しない検証や開発のための環境、 Auto Scaling に依存した環境と相性が悪いと思われます。 よくある手法1、EIP を付与する。 しかし EIP はインスタンス起動してない間に費用がかかり、頻繁に Stop したり新規追加するのに向いていません。 よくある手法2、 Route53 を利用する。 Route53 にインスタンスと対照になる名前を与え、 Lambda 等で定期的に更新すれば IP アドレスを意識せずに済みます。 しかし Public Hosted Zone の費用が掛かってしまいます。 Lambda 更新間隔や TTL でのタイムラグもあります。 よくある手法3、 AWS CLI を ssh

    AWS EC2 での最強の Public IP 取得方法 | GREE Engineering
  • GREEのUserAgent比率を公開します(2016/01) | GREE Engineering

    開発企画部の佐島です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 64.4, "iOS": 35.6 }, "version": { "Android": [ { "percent": 25.7, "name": "4.4" }, { "percent": 25, "name": "5" }, { "percent": 18.2, "name": "4.2" }, { "percent": 8.9, "name": "4" }, { "percent": 7.4, "name": "4.1" }, { "percent": 14.8, "name": "other" } ], "iOS": [ { "percent": 42.8, "name": "9_2" }, { "pe

    GREEのUserAgent比率を公開します(2016/01) | GREE Engineering
  • DC内通信のHTTP/2化を検討する | GREE Engineering

    こんにちは、インフラストラクチャ部の後藤です。 懲りずにHTTP/2の記事です。 HTTP/2を実サービスに投入するのには様々な障壁があり、議論が足りてない部分だと感じています。 サイトのHTTPS化 TLS ALPN, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 サポート モニタリング・監視 Dependency Based PriorityとRUM コネクションの生存時間が長く、運用上のDNSを用いたサーバ切り替えと相性が悪い(GOAWAY出せるものもあるが) ELBを使用している場合はTCPで利用する必要がある そもそもL7ネットワーク機器が対応していないという場合もあるかとおもいます。 そこで、今回は比較的容易なDC内のHTTP通信をHTTP/2化することを考えます。 DC内HTTP通信のHTTP/2化 DC内でサーバ間のHTTP/2通信であれば、h

    DC内通信のHTTP/2化を検討する | GREE Engineering
    kazu_levis501
    kazu_levis501 2016/01/21
    [HTTP/2][GREE][DC内通信]
  • 2016年 Mini Tech Talk(グリー社内勉強会) | GREE Engineering

    開発PRチームの三木です。 グリーで開催している社内勉強会「Mini Tech Talk」2016年度のラインナップをお届けします。 毎回勉強会が開催された日に情報を更新していきます 勉強会では基的に社外からゲストスピーカーをお招きして発表いただいています(社内のエンジニアが発表する機会もあります) これまでのラインナップはこちらよりご覧下さい ▪️GREE様におけるネイティブゲームアプリの攻略ロジックと対策(12/16) 八木 様、高村 様(シマンテック) 前回のMini Tech TalkでのWebアプリケーションにおける脆弱性発見までのアプローチを踏まえ、ネイティブゲームに着眼したチート発見までの手口をご紹介します。また、ゲームにおける脆弱性を攻略するにあたって、攻撃者側に立ったロジックを紐解き、どの部分に注意してアプリを作りこんでいけばよいか、対策としてどのようなものを行えば良

    2016年 Mini Tech Talk(グリー社内勉強会) | GREE Engineering
    kazu_levis501
    kazu_levis501 2016/01/05
    [2016/1 Mini Tech Talk]
  • GREEのUserAgent比率を公開します(2015/12) | GREE Engineering

    開発企画部の佐島です。 今月もGREEを利用して頂いているクライアントのUA比率を公開します。 グラフは以下のデータを元に作成しています。 { "os": { "Android": 63.4, "iOS": 36.6 }, "version": { "Android": [ { "percent": 28.6, "name": "4.4" }, { "percent": 22.8, "name": "5" }, { "percent": 19.4, "name": "4.2" }, { "percent": 9.8, "name": "4" }, { "percent": 8, "name": "4.1" }, { "percent": 11.5, "name": "other" } ], "iOS": [ { "percent": 22.3, "name": "9_1" }, { "pe

    GREEのUserAgent比率を公開します(2015/12) | GREE Engineering
  • タダから始める昔ながらの IoT | GREE Engineering

    メリークリスマス!彼女や奥様へのプレゼントに IoT 機器とか買っちゃっていませんか?逆に受け取っているなら使い道を問い詰める前に当記事がオススメです。 今年実態がよくわからない IT 流行語をノミネートするとしたら IoT と Deep Learning が上位、むしろトップ1,2を争うのではないかと思われます。どちらも 2014 から衰えることなく伸びています。 その中でも IoT に関して調べてみたことや、実際に体験してみて、今までとこれからをまとめてみたいと思います。 結構長いので、お忙しい方は文章を飛ばしてシェルの入出力や図をナナメ読みして雰囲気を感じていただければと思います。 そもそも IoT とは まず普通に検索し、内容をまとめてみました。 Wikipedia では、具体的に IP アドレスの存在について触れられています。インターネットに繋がっているだけなら、2000 年ごろ

    タダから始める昔ながらの IoT | GREE Engineering
  • GREE GameDevelopers’ Meetup 02 ご来場ありがとうございました | GREE Engineering

    こんにちは。開発企画部の佐島です。 12月16日(水)、グリー主催のゲーム開発者向けミートアップ GREE GameDevelopers’ Meetup が開催されました。 GREE GameDevelopers’ Meetup とは? GREE GameDevelopers’ Meetup は、ゲーム開発者のみなさんと一緒に、オープンに技術を学び交流できる場づくりを目指し創設されたミートアップです。 2回目となる今回のテーマは、ゲーム開発における数学・物理・アニメーション。 それぞれの分野から、書籍の著者の方をお招きしてお話頂きました。 セッション 『軸を固める』ための物理 堂前 嘉樹(フリーランス) 最初にご登壇頂いたのは「ゲームを動かす数学・物理」の著者である堂前さん。 著書の中でも物理部分にフォーカス頂き、ゲームの動作に関わる物理の考え方について詳細に解説頂きました。 スキンアニメ

    GREE GameDevelopers’ Meetup 02 ご来場ありがとうございました | GREE Engineering
  • ゲーム

    みなさんこんにちは。GREE Advent Calendar 2015、24日目は消滅都市というスマートフォン向けゲームのメインプログラマを担当しております、渡部晋司がお送りいたします。クリスマスイヴではありますが、私は(すでに既婚者なので)恋愛云々のドキドキ感もなければ夫婦間でプレゼント交換もすることもなく、目下楽しみと言えば大きなチキンをべることぐらい。欲って怖いですね。 さてさて、今年もあと少しで終わってしまいます。お読みになっている皆様は、今年一年どんな一年だったでしょうか? 私の方は消滅都市の運用を年初から年末までやっておりまして、それ以外のことは何もやってないといった感じでした。 エントリはAdvent Calendarとしての記事ですから、当は技術的な話とか How To 的なお話ができればよかったのですが、実は今年はCocos2d-x talks #2、CEDEC

    ゲーム
  • ネットワークの可視化 | GREE Engineering

    GREE Advent Calendar 2015 の23日目担当の上竹です。普段はアプライアンスLB やネットワークの構築/運用をしております。 概要 バックボーンネットワークを設計運用していると、実際どのようなトラフィックがどのくらい流れているか中身を知りたい(見たい)ことがよくあります。 どのISP からどの回線へどのくらい流入があるのかだったり、どんなAS からどのくらいアクセスがきているか、これら様々な情報を正しく把握することは、Transit 回線やIX 回線をコントロールし今後のネットワーク戦略を考えるうえで非常に有益です。 また、昨今我々を悩ましているDDoS 対策の第一歩として、今流れているトラフィックをまず"知る"ということが必要だと思います。 そこで、今回ネットワークの見える化を、「NetFlow」、「Fluentd + ElasticSearch + Kibana」

    ネットワークの可視化 | GREE Engineering
  • GREE Tech Talk #09 ご来場ありがとうございました | GREE Engineering

    こんにちは。開発企画部の佐島です。 はじめに 12月15日(火)、グリー主催の技術勉強会 GREE Tech Talk が開催されました。 9回目となる今回のテーマは「MySQL」。 この日は朝から MySQL User Conference Tokyo 2015 も開催されておりましたので、図らずもMySQLづくしな日となりました。 ちなみにMySQLは2015年下半期に注目されていたみたいです。 セッション概要 両セッションともにスライドが公開されておりますので、詳細はスライドをご覧ください。 『MySQL 5.7で遊んでみよう』 yoku0825(GMOメディア株式会社) まずご登壇頂いたのはGMOメディア株式会社のyoku0825さん。User Conference に引き続きこの日2度目のご登壇。 OSC 2015 Tokyo/Fall で発表された資料をもとに、MySQL5.7

    GREE Tech Talk #09 ご来場ありがとうございました | GREE Engineering