Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ゲームインフラとGoogle Cloud Platformと酒!

ゲームインフラとGoogle Cloud Platformと酒!

Avatar for Yusuke Hasegawa

Yusuke Hasegawa

March 28, 2016
Tweet

More Decks by Yusuke Hasegawa

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ ࢯ໊ ௕୩઒ ༞հ ܦྺ GMO, Yahoo Japan, Squere Enix

    etc…
 2010೥ʹgms(gloopsͷલ਎)΁ೖࣾ Πϯϑϥ໘ͷ͢΂ͯͷઃܭ ։ൃ෦෦௕ͱͯ͠։ൃ෦૊৫ԽɺΤϯδχΞͷ࠾༻ ࣥߦ໾һɺϓϦϯγύϧΠϯϑϥετϥΫνϟʔΞʔΩςΫτ ৬छ ͍ΘΏΔΠϯϑϥΤϯδχΞ GCPྺ GCEॳظͷࠒ͔Β ͦͷଞ azure, aws΋৮͍ͬͯ·͢ɻ publish Fusion-IOΛ2011೥ʹຊ൪ಋೖ͠Fusion-IOࣾʹऔΓ্͛ΒΕΔ SoftwareDesign2012.03هࣄ 2012೥DellͷCMग़ԋʢςϨϏ౦ژ ϫʔϧυϏδωεαςϥΠτʣ IcingaʢnagiosͷforkʣͷϢʔβʔίϛϡχςΟʹܝࡌ facebook: yusuke.exzm
  2. Application WebSocket HTTP Load Balancer Cloud Storage BigQuery Percona XtraDB

    Cluster Redis UserData Shard Redis WebSocket HealthyList Monitor Operation Static IP Static IP Static IP CNAME asset.xxx.com Cloud Storage CBDLVQ KPI Data Cloud Monitoring Cloud Logging 2014೥લ൒ࠒʹߏ੒ͨ͠΋ͷʹݱঢ়ͷΞϨϯδΛՃ͓͑ͯΓ౰࣌ͷߏ੒ͱ͸ҟͳ͍ͬͯ·͢ɻ
  3. "QQMJDBUJPO nginx gunicorn django haproxy maxscale consul serf fluentd redis

    XtraDB XtraDB XtraDB redis bigquery ֤छInstance৘ใ JOqVYEC΁ͷNFUSJDTૹ৴ ֤छ؂ࢹ4UBUVTͳͲ HTTP Load Balancer
  4. 8FC4PDLFU nginx gunicorn django haproxy maxscale consul serf fluentd redis

    XtraDB XtraDB XtraDB redis bigquery ֤छInstance৘ใ JOqVYEC΁ͷNFUSJDTૹ৴ ֤छ؂ࢹ4UBUVTͳͲ redis HTTP Load Balancer
  5. "QQMJDBUJPOͱ8FC4PDLFUͷ࿈ܞ redis consul HTTP API - nginx - DNS -

    supervisord - haproxy - maxscale - connections ্هstatus͕͢΂ͯOKͷInstanceΛ RedisͷListͱͯ͠อଘ
  6. Network Load Balancer rabbitmq cluster percona xtradb cluster application old

    api operation monitor BigQuery Cloud DNS Network Load Balancer application new api redis image cache jobqueue worker application customer api key data temporary data asset Network Load Balancer Network Load Balancer ݱࡏ४උத application sub system ha-mode Cloud Storage
  7. Network Load Balancer master node client node data node kibana

    elasticsearch elasticsearch elasticsearch elasticsearch elasticsearch fluentd fluentd elasticsearch fluentd elasticsearch fluentd elasticsearch fluentd Static IP 1೔ಛʹଟ͍೔Ͱ150GB ͪΐͬͱଟΊͷ೔Ͱ40GB ී௨͸6ʙ8GB
  8. provisioning configration ֤छMiddleware setup etc…
 ؀ڥม਺/PATH/LDࣗಈઃఆ configration ֤छMiddlewareࣗಈઃఆ fluentd, haproxy,

    etc… clustering serf/consulࣗಈઃఆ operation perlͷcinnamonͰͰ͖͍ͯΔ
 ΦʔέετϨʔγϣϯπʔϧ bootstrap monitoring init੍ޚ: glauncher monitoring: gmonitor HSBTZT6UJMJUJFT Utilities envutils cfgutils clutils clctl gutils
  9. SFSVO w #BTI$PNNBOE-JOF'SBNFXPSL w SFSVO<NPEVMFT><DPNNBOET> w ίϚϯυͷମܥԽ͕ߦ͑ͯඇৗʹศརʂ w HDMPVEͰTOBQTIPUͱͬͯEJTLͭͬͯ͘JNBHFੜ੒ͱ͔ΊΜͲ֮ͯ͑ͯ͘͘͞ΒΕͳ͍ w

    *OTUBODFͷ.BDIJOF4J[Fͱ͔ͷ3FTJ[Fͱ͔͹͹ͬͱ΍Γ͍ͨ w FMBTUJDTFBSDIͷDMVTUFSTUBUVTͱ͔OPEFTͱ͔DVSMͰ͍͍֮ͪͪ͑ͯΒΕͳ͍ w ίϚϯυ௕͍΋ͷͰΑ͘࢖͏΋ͷͳͲΛొ࿥ͯ͠ศརʹ࣮ߦͯ͠·͢ɻ w Ұ౓΍ͬͨ͜ͱ͸΋͏΍Βͳ͍ʂ͆
  10. FOWVUJMT w ؀ڥߏ੒πʔϧ w CBTISDࣗಈੜ੒ 1"5) ."/1"5) 1,(@$0/'*(@%*3ͱ͔ w MEDPOpHʢ௥Ճͨ͠-%ͷDPOpHࣗಈੜ੒ͱ௥Ճ

    w VTSMPDBMFUD HJU؅ཧ ͱFUD഑ԼͷࣗಈTZNMJOL w OUQEઃఆ͔ΒDISPOZEͷDPOpHࣗಈੜ੒ w SFSVOͷNPEVMFEJSFDUPSZ΋ؚΜͰ͍ͯHJUͰ؅ཧ
  11. DMDUM w ΦʔέετϨʔγϣϯπʔϧ w ฼ମ͸QFSMͷDJOOBNPO w DJOOBNPO<SPMF><UBTL> w HJUͰ؅ཧ w

    TFSGͷΫϥελ৘ใ͔ΒΦʔέετϨʔγϣϯͷ3PMFΛࣗಈੜ੒ w কདྷతʹ͸DPOTVMͷXSBQQFSͳͲʹҠߦͯ͠TFSGґଘΛݮΒ͍ͯ͘͠ ํ਑Ͱഇࢭ͍ͯ͘͠༧ఆ
  12. HNPOJUPS w HPMBOHͰ։ൃ͍ͯ͠Δ؂ࢹϓϩάϥϜ w HNPOJUPS<TVCDPNNBOE> w Ϧιʔε؂ࢹɺ௨৴ɺϛυϧ΢ΣΞͷεςʔλεऔಘ w DPOTVMʹΩοΫ͞ΕΔܗͰىಈ w

    DPOTVMͷ؂ࢹ*OUFSGBDF͸/BHJPT1MVHJOͱಉ͡ w *OqVY%#΁௚઀σʔλΛॻ͖ࠐΉʢঃʑʹ4UBDL%SJWFSͷ$VTUPN.FUSJDT΋௥Ճ ͞Εͭͭ͋Δ w αϒίϚϯυ͕ଟ͘ͳΓ͖͍͗ͯͯͯ͢ࠔͬͯΔ͆͆ʢͰ΋ؾʹ͠ͳ͍ʂ