ç§ãã¡ã®ããŒã ã¯ãã²ãŒã Quake Championsã®ããã¯ãšã³ãã«åãçµãã§ããŸãã俳åªã¢ãã«ãšã¯äœãããããžã§ã¯ãã§ã©ã®ããã«äœ¿çšããããã«ã€ããŠã話ããŸãã
æè¡ã¹ã¿ãã¯ã«ã€ããŠå°ãã ããããCïŒã§ã³ãŒããèšè¿°ããŸããããã¹ãŠã®ãã¯ãããžãŒã¯ããã«é¢é£ä»ããããŠããŸãã ãã®èšèªã®äŸã§ç€ºãç¹å®ã®äºæããããŸãããäžè¬çãªååã¯å€ãããŸããã

çŸæç¹ã§ã¯ãAzureã§ãµãŒãã¹ããã¹ãããŠããŸãã Table StorageãCosmos DBãªã©ãæåŠããããªãéåžžã«èå³æ·±ãããªããã£ããããã€ããããŸãïŒãã ããã¯ãã¹ãã©ãããã©ãŒã ãããžã§ã¯ãã®ããã«ãããã«çžãããããªãããã«ããŠããŸãïŒã
次ã«ã俳åªã¢ãã«ãšã¯äœãã«ã€ããŠå°ãã話ãããããšæããŸãã ãããããããã¯ååãšããŠ40幎以äžåã«ç»å ŽããŸããã

ã¢ã¯ã¿ãŒãšã¯ãç¬èªã®å éšç¶æ ãšãã®ç¶æ ãå€æŽããããã®æä»çã¢ã¯ã»ã¹æš©ãæã€ç¹å®ã®å€ç«ãªããžã§ã¯ããããããšã瀺ã䞊åã³ã³ãã¥ãŒãã£ã³ã°ã®ã¢ãã«ã§ãã ã¢ã¯ã¿ãŒã¯ãã¡ãã»ãŒãžãèªã¿åããããã«ãå éšç¶æ ãå€æŽããå Žåã¯äœããã®ããžãã¹ããžãã¯ãå®è¡ããä»ã®ã¢ã¯ã¿ãŒãå«ãå€éšãµãŒãã¹ã«ã¡ãã»ãŒãžãéä¿¡ã§ããŸãã ãããŠã圌ã¯ä»ã®ä¿³åªãäœæããæ¹æ³ãç¥ã£ãŠããŸãã
ã¢ã¯ã¿ãŒã¯äºãã«éåæã§éä¿¡ãããããè² è·ã®é«ãåæ£ã¯ã©ãŠãã·ã¹ãã ãäœæã§ããŸãã ãã®ç¹ã§ãã¢ã¯ã¿ãŒã¢ãã«ã¯æè¿åºã䜿çšãããŠããŸãã
äžèšãèŠçŽãããšãããçš®ã®ãµãŒããŒã¯ã©ã¹ã¿ãŒãããã¯ã©ãŠãããããã¢ã¯ã¿ãŒããã®ã¯ã©ã¹ã¿ãŒäžã§å転ããŠãããšæ³åããŠã¿ãŸãããã

ã¢ã¯ã¿ãŒã¯äºãã«åé¢ãããŠãããéåæåŒã³åºããä»ããŠéä¿¡ããŸãããŸããã¢ã¯ã¿ãŒã¯å éšã§ã¹ã¬ããã»ãŒãã§ãã
ã©ã®ããã«èŠãããã æ°äººã®ãŠãŒã¶ãŒïŒéåžžã«å€§ããªè² è·ã§ã¯ãªãïŒãããŠãããæç¹ã§ãã¬ãŒã€ãŒãæµå ¥ããŠããããšãç解ããæ©æ¥ã«ã¢ããã¹ã±ãŒã«ãè¡ãå¿ èŠããããšããŸãã

ãµãŒããŒãã¯ã©ãŠãã«è¿œå ããã¢ã¯ã¿ãŒã¢ãã«ã䜿çšããŠãåã ã®ãŠãŒã¶ãŒãããã·ã¥ããåã ã®ã¢ã¯ã¿ãŒãå²ãåœãŠãã¯ã©ãŠãå ã®ãã®ã¢ã¯ã¿ãŒã«ã¡ã¢ãªãšããã»ããµæéãå²ãåœãŠãŸãã
ãããã£ãŠãã¢ã¯ã¿ãŒã¯ããŸããã£ãã·ã¥ã®åœ¹å²ãæããã次ã«ããã¹ããŒããã£ãã·ã¥ãã§ãããäžéšã®ã¡ãã»ãŒãžãåŠçããŠããžãã¹ããžãã¯ãå®è¡ã§ããŸãã ç¹°ãè¿ããŸãããããŠã³ã¹ã±ãŒã«ãè¡ãå¿ èŠãããå ŽåïŒããšãã°ããã¬ã€ã€ãŒãæ®ã£ãŠããå ŽåïŒ-ãããã®ã¢ã¯ã¿ãŒãã·ã¹ãã ããåé€ããŠãåé¡ã¯ãããŸããã
ããã¯ãšã³ãã®ç§ãã¡ã¯ãå€å žçãªã¢ã¯ã¿ãŒã¢ãã«ã䜿çšãããOrleansãã¬ãŒã ã¯ãŒã¯ã«åºã¥ããŠããŸãã éãã¯äœã§ãã-ä»ããã話ãããŸãã

ãŸãããªã«ã¬ã¢ã³ã¯ä»®æ³ä¿³åªã®æŠå¿µãå°å ¥ããŸããããã¯ãã°ã¬ã€ã³ãšãåŒã°ããŸãã ãµãŒãã¹ããã®ã¢ã¯ã¿ãŒãäœæããããã€ãã®ãµãŒããŒã«é 眮ãã責任ãè² ãåŸæ¥ã®ã¢ã¯ã¿ãŒã¢ãã«ãšã¯ç°ãªããOrleansã¯äœæ¥ãåŒãç¶ããŸãã ã€ãŸã ç¹å®ã®ãŠãŒã¶ãŒãµãŒãã¹ãç¹å®ã®ç²åºŠãèŠæ±ããå ŽåãOrleansã¯ã©ã®ãµãŒããŒã®è² è·ã軜æžãããããç解ããããã«ã¢ã¯ã¿ãŒãé 眮ããŠãŠãŒã¶ãŒãµãŒãã¹ã«çµæãè¿ããŸãã
äŸã ç©ç©ã®å ŽåããŠãŒã¶ãŒã®ç¶æ ãIDãªã©ãã¢ã¯ã¿ãŒã®ã¿ã€ãã®ã¿ãç¥ãããšãéèŠã§ãã ãŠãŒã¶ãŒID 777ã®å Žåããã®ãŠãŒã¶ãŒã®ç²åºŠãååŸãããã®ç²åºŠã®ä¿åæ¹æ³ã«ã€ããŠã¯èãããç²åºŠã®ã©ã€ããµã€ã¯ã«ãå¶åŸ¡ããŸããã ãããããªã«ã¬ã¢ã³ã¯ããèªäœã®äžã«ããã¹ãŠã®ä¿³åªã®éãéåžžã«unningãªæ¹æ³ã§ä¿åããŠããŸãã 俳åªãããªãå Žåã圌ã¯ããããäœæãã俳åªãçããŠããå Žåã圌ã¯ãããè¿ãããŠãŒã¶ãŒãµãŒãã¹ã®ããã«ãã¹ãŠãèŠããã®ã§ããã¹ãŠã®ä¿³åªã¯åžžã«çããŠããŸãã

ããã«ã¯ã©ã®ãããªå©ç¹ããããŸããïŒ ç¬¬äžã«ãããã°ã©ããŒãã¢ã¯ã¿ãŒèªèº«ã®äœçœ®ã管çããå¿ èŠããªããšããäºå®ã«ããééçãªè² è·åæ£ã 圌ã¯åã«ãè€æ°ã®ãµãŒããŒã«å±éãããŠããOrleansãèšãïŒããªãã®ãµãŒããŒãããã®ãããªä¿³åªããã ããã

å¿ èŠã«å¿ããŠãããã»ããµãšã¡ã¢ãªã®è² è·ãå°ããå Žåã¯ããŠã³ã¹ã±ãŒã«ã§ããŸãã ç¹°ãè¿ããŸãããéã®ã¢ããã¹ã±ãŒã«ãè¡ãããšãã§ããŸãã ãããããµãŒãã¹ã¯ããã«ã€ããŠäœãç¥ããŸããã圌ã¯ç©ç©ãèŠæ±ããŸãããããŠããªã«ã¬ã¢ã³ã¯åœŒã«ãã®ç©ç©ãäžããŸãã ãããã£ãŠããªã«ã¬ã¢ã³ã¯ç©ç©ã®ã©ã€ããµã€ã¯ã«ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã±ã¢ãè¡ããŸãã
第äºã«ãOrleansã¯ãµãŒããŒã®ã¯ã©ãã·ã¥ãåŠçããŸãã

ããã¯ãå€å žçãªã¢ãã«ã§ã¯ãããã°ã©ããŒããã®ãããªã±ãŒã¹ãèªåã§åŠçãã責任ãããå ŽåïŒã€ãŸãããµãŒããŒã«ã¢ã¯ã¿ãŒãé 眮ãããã®ãµãŒããŒãã¯ã©ãã·ã¥ããã©ã€ããµãŒããŒã®1ã€ã§ãã®ã¢ã¯ã¿ãŒãäžããå¿ èŠãããïŒãããæ©æ¢°çãªãŸãã¯ããã°ã©ããŒã®ããã®è€éãªãããã¯ãŒã¯äœæ¥ããããŠãªã«ã¬ã¢ã³ã§ã¯ããã¯éæã«èŠããŸãã ã°ã¬ã€ã³ãèŠæ±ãããšãOrleansã¯ãããå©çšã§ããªãããšã確èªãããããããã¯ã¢ããããŠïŒã©ã€ããµãŒããŒã®äžéšã«é 眮ãïŒãµãŒãã¹ã«è¿ããŸãã
ããå°ãæ確ã«ããããã«ããŠãŒã¶ãŒãèªåã®ç¶æ ã®äžéšãèªã¿åãæ¹æ³ã®å°ããªäŸãåæããŠã¿ãŸãããã

ç¶æ ã¯ããã®ãŠãŒã¶ãŒã®é§ãæŠåšãé貚ããŸãã¯ãã£ã³ããªã³ãä¿åãã圌ã®çµæžç¶æ³ã§ããå ŽåããããŸãã ãããã®ç¶æ ãååŸããããã«ã圌ã¯PublicUserServiceãåŒã³åºããå·ã®Orleansã«åãæ¿ããŸãã äœãèµ·ãã£ãŠããã®ãïŒOrleansã¯ããã®ãããªã¢ã¯ã¿ãŒïŒã€ãŸããã°ã¬ã€ã³ïŒããŸã ãªãããšã«æ°ä»ããç¡æã®ãµãŒããŒäžã§äœæããã°ã¬ã€ã³ã¯æ°žç¶ã¹ãã¢ãããã®ç¶æ ãèªã¿åããŸãã
ãããã£ãŠãã¹ã©ã€ãã«ç€ºãããŠããããã«ã次åã¯ã©ãŠããããªãœãŒã¹ãèªã¿åããšãã«ããã¹ãŠã®èªã¿åãã¯ãã£ãã·ã¥ãã£ãã·ã¥ããè¡ãããŸãã ãŠãŒã¶ãŒãã²ãŒã ãé¢ããå ŽåããªãœãŒã¹ã®èªã¿åãã¯è¡ãããªããããOrleansã¯ç©ç©ã誰ã«ã䜿çšãããªããªããéã¢ã¯ãã£ãåã§ããããšãç解ããŸãã
è€æ°ã®ã¯ã©ã€ã¢ã³ãïŒã²ãŒã ã¯ã©ã€ã¢ã³ããã²ãŒã ãµãŒããŒïŒãããå Žåããããã¯ãŠãŒã¶ãŒç¶æ ãèŠæ±ã§ãããã®ãã¡ã®1ã€ããã®ç²åºŠãäžããŸãã ããæ£ç¢ºã«ã¯ãOrleansããããååŸããæ¢ã«ããã£ãŠããããã«ããã¹ãŠã®åŒã³åºããã¹ã¬ããã»ãŒãã§é çªã«çºçããŸãã æåã«ãã¯ã©ã€ã¢ã³ãã¯ç¶æ ãåä¿¡ãã次ã«ã²ãŒã ãµãŒããŒãåä¿¡ããŸãã

æŽæ°ã®åããããŒã ã¯ã©ã€ã¢ã³ããç¶æ ãæŽæ°ããããšãã圌ã¯ãã®è²¬ä»»ãç©ç©ã«ç§»ããŸãã ããã®ãŠãŒã¶ãŒã«10ãŽãŒã«ããäžããããšã°ã¬ã€ã³ãäžæãããšãã°ã¬ã€ã³å ã®äœããã®ããžãã¹ããžãã¯ã§ãã®ç¶æ ãåŠçããŸãã ãããŠããã£ãã·ã¥ãã£ãã·ã¥ã®æŽæ°ãè¡ãããå¿ èŠã«å¿ããŠæ°žç¶åã«ä¿åãããŸãã

ããã§æ°žç¶æ§ãå¿ èŠãªã®ã¯ãªãã§ããïŒ ããã¯å¥ã®ãããã¯ã§ãããã°ã¬ã€ã³ãæ°žç¶æ§ã®ç¶æ ãåžžã«ç¶æããããšã¯ãç§ãã¡ã«ãšã£ãŠç¹ã«éèŠã§ãªãå Žåããããšããäºå®ã«ãããŸãã ããããªã³ã©ã€ã³ã®ãã¬ã€ã€ãŒã®ç¶æ ã§ããå Žåãçç£æ§ã®ããã«ããã倱ããªã¹ã¯ããããŸãããããçµæžã«é¢ä¿ããå Žåããã®ç¶æ ãä¿æãããããšã確èªããå¿ èŠããããŸãã
æãåçŽãªã±ãŒã¹ïŒç¶æ ã®ä¿ååŒã³åºãããšã«ããã®æŽæ°ãPersistenceã«æžã蟌ã¿ãŸãã ãããã£ãŠãgrayãçªç¶çªç¶èœã¡ãå Žåãä»ã®ãµãŒããŒã®ããã€ãã§æ¬¡ã«ç²åºŠãäžãããšãçŸåšã®ããŒã¿ã§ãã£ãã·ã¥ãæŽæ°ãããŸãã
ã©ã®ããã«èŠãããã®å°ããªäŸã

æ¢ã«è¿°ã¹ãããã«ãã°ã¬ã€ã³ã¯ã¿ã€ããšããã€ãã®ããŒã§æ§æãããŠããŸãïŒãã®å Žåãã¿ã€ãã¯IPlayerStateãããŒã¯IGrainWithGuidKeyã§ããã€ãŸããGuidã§ãïŒã ãããŠãç§ãã¡ãå®è£ ããã€ã³ã¿ãŒãã§ãŒã¹ãããªãã¡ GetStatesã¯ãç¶æ ã®ãªã¹ããšApplyStateãè¿ããŸãããããã®ç¶æ ã¯é©çšãããŸãã Orleansã¡ãœããã¯Taskãè¿ããŸãã ãããäœãæå³ããã®ãïŒã¿ã¹ã¯ã¯ãç¶æ ãæ»ã£ããšãã«ãããã¹ã解決ãããç¶æ ã«ãªãããšãäŒãããããã¹ã§ãã GrainFactoryã§ååŸããPlayerStateããããŸãã ã€ãŸã ããã§ãªã³ã¯ãååŸããŸããããã®ç©ç©ã®ç©ççãªå Žæã«ã€ããŠã¯äœãç¥ããŸããã GetStatesãåŒã³åºããšãOrleansã¯ã°ã¬ãŒã³ãäžããPersistenceã¹ãã¢ããç¶æ ãã¡ã¢ãªã«èªã¿åããApplyStateãæ°ããç¶æ ãé©çšãããšãã¡ã¢ãªãšæ°žç¶æ§ã®äž¡æ¹ã§ãã®ç¶æ ãæŽæ°ããŸãã
UserStatesãµãŒãã¹ã®é«ã¬ãã«ã¢ãŒããã¯ãã£ã«é¢ããããå°ãè€éãªäŸãäœæããããšæããŸãã

OfferSeviceãéããŠç¶æ ãååŸããäœããã®çš®é¡ã®ã²ãŒã ã¯ã©ã€ã¢ã³ãããããŸãã ãŠãŒã¶ãŒã®ã°ã«ãŒãïŒãã®å Žåã¯ãŠãŒã¶ãŒïŒã®çµæžã¢ãã«ãæ åœããGameConfigurationServiceããããŸãã ãããŠããã®çµæžã¢ãã«ãå€ããããšããŠãããªãã¬ãŒã¿ãŒãããŸãã ããã«å¿ããŠããŠãŒã¶ãŒã¯OfferSeviceã«ç¶æ ã®åä¿¡ãèŠæ±ããŸãã ãŸããOfferSeviceã¯ãããã®ã°ã¬ã€ã³ã§æ§æãããUserOrleansãµãŒãã¹ã«æ¢ã«ã¢ã¯ã»ã¹ããŠãããã¡ã¢ãªå ã§ãŠãŒã¶ãŒã®ãã®ç¶æ ãçºçãããäœããã®ããžãã¹ããžãã¯ãå®è¡ããOfferServiceãä»ããŠãŠãŒã¶ãŒã«ããŒã¿ãè¿ããŸãã
äžè¬çã«ãã°ã¬ã€ã³ã¯äºãã«ç¬ç«ããŠããããããªã«ã¬ã¢ã³ã¯ãã®é«ã䞊ååŠçèœåã«åªããŠãããšããäºå®ã«æ³šç®ããããšæããŸãã äžæ¹ãã°ã¬ã€ã³ã®å éšã§ã¯ãåæããªããã£ãã䜿çšããå¿ èŠã¯ãããŸããããã®ã°ã¬ã€ã³ãžã®ååŒã³åºããäœããã®åœ¢ã§äžè²«ããŠããããšãããã£ãŠããããã§ãã
ããã§ããã®ã¢ãã«ã®èœãšãç©Žã®ããã€ããæããã«ããããšæããŸãã

1ã€ç®ã¯ç²åºŠãç²ãããŸãã ã°ã¬ã€ã³å ã®ãã¹ãŠã®åŒã³åºãã¯ã¹ã¬ããã»ãŒãã§ãããããã°ã¬ã€ã³ã«å€§èãªããžãã¯ãããå Žåã¯ãé·æéåŸ ã€å¿ èŠããããŸãã ç¹°ãè¿ããŸããããã®ãããª1ã€ã®ã°ã¬ã€ã³ã«å²ãåœãŠãããã¡ã¢ãªãå€ãããŸãã ç²ãå°ãããããšæªãã®ã§ãç²ã®ãµã€ãºãã©ãããã¹ããã«ã€ããŠã®æ£ç¢ºãªã¢ã«ãŽãªãºã ã¯ãããŸããã ããã§ã¯ãæé©å€ããé²ããå¿ èŠããããŸãã ã©ã¡ããæ£ç¢ºã«èšããã¯æ±ºããŸããã決ããã®ã¯ããã°ã©ã次第ã§ãã
2çªç®ã®åé¡ã¯ããã»ã©æçœã§ã¯ãããŸãã-ããã¯ããããé£éåå¿ã§ãã ãŠãŒã¶ãŒãããã€ãã®ç©ç©ãäžãããšããŠãŒã¶ãŒã¯ã·ã¹ãã å ã®ä»ã®ç©ç©ãæé»çã«äžããããšãã§ããŸãã ãããã©ã®ããã«èµ·ãããïŒãŠãŒã¶ãŒã¯èªåã®ã¹ããŒã¿ã¹ãåãåãããŠãŒã¶ãŒã«ã¯åéãããŠãåéã®ã¹ããŒã¿ã¹ãåãåããŸãã ãããã£ãŠãã·ã¹ãã å šäœããã¹ãŠã®ã°ã¬ã€ã³ãã¡ã¢ãªã«ä¿æãã1000人ã®ãŠãŒã¶ãŒãããŠãããããã«100人ã®å人ãããå Žåã100,000ã®ã°ã¬ã€ã³ããã®ããã«ã¢ã¯ãã£ãã«ã§ããŸãã ãã®ã±ãŒã¹ãåé¿ããå¿ èŠããããŸã-äœããã®æ¹æ³ã§å人ã®ç¶æ ãäœããã®å ±æã¡ã¢ãªã«ä¿åããŸãã

ããŠãã¢ã¯ã¿ãŒã¢ãã«ãå®è£ ããããã«ååšããæè¡ã¯äœã§ããã ããããæãæåãªã®ã¯Akkaã§ãJavaã䜿ã£ãŠç§ãã¡ã®ãšããã«æ¥ãŸããã Akka.NET for .NETãšåŒã°ãããã©ãŒã¯ããããŸãã å®è£ ãšããŠãä»ã®èšèªã®ãªãŒãã³ãœãŒã¹ã§ããOrleansããããŸãã Service Fabric Actorãªã©ã®Azureããªããã£ãããããŸã-å€ãã®ãã¯ãããžãŒããããŸãã
èŽè¡ããã®è³ªå
-CICDã®ãããªå€å žçãªåé¡ã解決ããæ¹æ³ããããã®ã¢ã¯ã¿ãŒãæŽæ°ããæ¹æ³ãDockerã䜿çšããæ¹æ³ã¯ãããŸããïŒ
-ãŸã dockerã䜿çšããŠããŸããã äžè¬çã«ãDevOpsã¯å±éã«åŸäºããŠãããAzureã¯ã©ãŠããµãŒãã¹ã«ãµãŒãã¹ãå±éããŸãã
-ããŠã³ã¿ã€ã ãªãã®ç¶ç¶çãªæŽæ°ãã©ã®ããã«çºçããŸããïŒ Orleansèªèº«ãããµãŒããŒã®ã¢ã¯ã»ã¹å ãµãŒããŒãèŠæ±ã®éä¿¡å ãµãŒããŒãããã³ãã®ãµãŒãã¹ã®æŽæ°æ¹æ³ã決å®ããŸãã ã€ãŸã æ°ããããžãã¹ããžãã¯ãç»å Žããåãã¢ã¯ã¿ãŒã®ã¢ããããŒããç»å ŽããŸãã-ãããã®ã¢ããããŒãã¯ã©ã®ããã«å±éãããŸããïŒ
-ãµãŒãã¹å šäœã®æŽæ°ã«ã€ããŠè©±ããŠããå Žåãããã³äœããã®ã¢ã¯ã¿ãŒã®ããžãã¹ããžãã¯ãæŽæ°ããå Žåããã®ããã®æ°ããOrleansãµãŒãã¹ãå±éã§ããŸãã éåžžãããã¯ããããžãšåŒã°ããããªããã£ãã§è§£æ±ºãããŸãã ããã€ãã®æ°ããOrleansãµãŒãã¹ãå±éããŸãããããã¯ãä»ã®ãšããã空ã§ãã¢ã¯ã¿ãŒãªãã§ãå€ããµãŒãã¹ã衚瀺ããæ°ãããµãŒãã¹ã«çœ®ãæããŸãã ã·ã¹ãã ã«ã¯ã¢ã¯ã¿ãŒã¯ãŸã£ãããããŸãããã次ã®ãŠãŒã¶ãŒãªã¯ãšã¹ãã§ãããã®ã¢ã¯ã¿ãŒã¯æ¢ã«äœæãããŠããŸãã ããããæåã«äœããã®ã¹ãã€ã¯ãçºçããã§ãããã ãã®ãããªå ŽåãæŽæ°ã¯éåžžååäžã«è¡ãããŸããååäžã¯ãã¬ã€ã€ãŒã®æ°ãæãå°ãªãããã§ãã
ããµãŒããŒãã¯ã©ãã·ã¥ããããšãOrleansã¯ã©ã®ããã«ç解ããŸããïŒã ããªãã¯åœŒãããã«å¥ã®ãµãŒããŒã«ä¿³åªãæãããšèšã£ã...
-圌ã¯ãã©ã®ãµãŒããŒãçããŠããããå®æçã«ç解ããpingatorãæã£ãŠããŸãã
-圌ã¯ç¹ã«ã¢ã¯ã¿ãŒãŸãã¯ãµãŒããŒã«pingãå®è¡ããŸããïŒ
-å ·äœçã«ã¯ããµãŒããŒã
-ãã®ãããªè³ªåïŒä¿³åªã®å éšã§ãšã©ãŒãçºçããŸãããããªãã¯åœŒãã¹ãããããšã«ãååœä»€ã§è¡ããšèšããŸãã ãããããšã©ãŒãçºçããã¢ã¯ã¿ãŒã¯ã©ããªããŸããïŒ åŠçãããªããšã©ãŒããããšããŸãã 俳åªã¯æ»ã«ãããŠããã ãã§ããïŒ
-ããããOrleansã¯æšæºã®.NETã¹ããŒãã§äŸå€ãã¹ããŒããŸãã
-èŠãŠãç§ãã¡ã¯äŸå€ãåŠçããªãã£ãã俳åªã¯æããã«æ»ãã ã ãã¬ãŒã€ãŒã¯ã©ã®ããã«èŠãããããããŸãããããã®åŸã©ããªããŸããïŒ ã©ãããããããã®ã¢ã¯ã¿ãŒãåèµ·åããããšããŠãããããã®ãããªäœããããããšããŠããŸããïŒ
-ã±ãŒã¹ã«å¿ããŠãåäœã«äŸåããŸãã ããšãã°ãåè©Šè¡å¯èœãŸãã¯åè©Šè¡äžå¯ã
-ã€ãŸã ããã¯ãã¹ãŠèšå®å¯èœã§ããïŒ
-ããããããã°ã©ã ãããŠããŸãã ããã€ãã®äŸå€ãåŠçããŠããŸãã ã€ãŸã ãã®ãããªãšã©ãŒã³ãŒããããã³æªåŠçã®äŸå€ãªã©ã®äžéšã¯æ¢ã«ããã«ããã·ã¥ãããŠããããšãæ確ã«ããããŸãã
-ããã€ãã®æ°žç¶æ§ããããŸããïŒããŒã¿ããŒã¹ã®ãããªãã®ã§ããïŒ
-æ°žç¶æ§ãã¯ããæ°žç¶ã¹ãã¬ãŒãžãåããããŒã¿ããŒã¹ã
-ããŒã¿ããŒã¹ãïŒæ¡ä»¶ä»ãã§ïŒã²ãŒã ãããŒãå®ãããšããŸãããã 俳åªã圌女ã«å°éã§ããªãå Žåã¯ã©ããªããŸããïŒ ã©ã®ããã«åŠçããŸããïŒ
-ãŸã第äžã«ãããã¯ã¹ãã¬ãŒãžã§ãã çŸæç¹ã§ã¯ãAzure Table Storageã䜿çšããŠããŸããããã®ãããªåé¡ã¯å®éã«çºçããŸã-ã¹ãã¬ãŒãžãã¯ã©ãã·ã¥ããŸãã éåžžããã®å Žåãåæ§æããå¿ èŠããããŸãã
-ã¢ã¯ã¿ãŒãã¹ãã¬ãŒãžã§äœããååŸã§ããªãã£ãå Žåããã¬ãŒã€ãŒã¯ã©ã®ããã«èŠããŸããïŒ åœŒã¯åã«ãã®ãéãæã£ãŠããªãã®ã§ããããããšãããã«ã²ãŒã ãéããŸããïŒ
-ãããã¯ãŠãŒã¶ãŒã«ãšã£ãŠéèŠãªå€æŽã§ãã åãµãŒãã¹ã«ã¯ç¬èªã®é倧床ãããããããã®å ŽåããŠãŒã¶ãŒãµãŒãã¹ã¯ç«¯æ«ç¶æ ã§ãããã¯ã©ã€ã¢ã³ãã¯ã¯ã©ãã·ã¥ããŸãã
-ã¢ã¯ã¿ãŒã®ã¡ãã»ãŒãžã¯éåæãã¥ãŒãä»ããŠçºçããããã«æããŸããã ãã®æé©åããããœãªã¥ãŒã·ã§ã³ã¯ã©ãã§ããïŒ èšãã¿ãŸãããããã¬ãŒã€ãŒããã³ã°ã¢ããããŸãããïŒ ãªã¢ã¯ãã£ããªã¢ãããŒãã䜿çšããæ¹ãè¯ããšã¯æããŸãããïŒ
-ã¢ã¯ã¿ãŒã®ãã¥ãŒã®åé¡ã¯ããªãããç¥ãããŠããŸãããã¥ãŒã®ãµã€ãºãæ確ã«å¶åŸ¡ã§ããªãããã§ããããªãã¯æ£ããã§ãã ãããããªã«ã¬ã¢ã³ã¯ã第äžã«ãããçš®ã®ç®¡çäœæ¥ãåŒãåãã第äºã«ãåã«ã¿ã€ã ã¢ãŠãã«ãã£ãŠã¢ã¯ã¿ãžã®ã¢ã¯ã»ã¹ãèœã¡ããã€ãŸã ããšãã°ã俳åªã«é£çµ¡ããããšã¯ã§ããŸããã
-ãããŠãããã¯ãã¬ãŒã€ãŒã«ã©ã®ããã«åœ±é¿ããŸããïŒ
-ãŠãŒã¶ãŒãµãŒãã¹ã¯ã¢ã¯ã¿ãŒã«å¯ŸåŠãããããäŸå€ã¿ã€ã ã¢ãŠãäŸå€ãã¹ããŒããããããã¯ãªãã£ã«ã«ããµãŒãã¹ã§ããå Žåãã¯ã©ã€ã¢ã³ãã¯ãšã©ãŒãã¹ããŒããŠçµäºããŸãã ããã»ã©éèŠã§ãªãå Žåã¯ãåŸ æ©ããŸãã
-ã€ãŸã DDoSã®è åšã¯ãããŸããïŒ å€æ°ã®å°ããªã¢ã¯ã·ã§ã³ã§ãã¬ãŒã€ãŒãé 眮ã§ããŸããïŒ èª°ããããã«å人ã®æåŸ ãªã©ãéå§ãããšããŸãã
-ããããããŸãé »ç¹ã«ãµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããªãããã«ãããªã¯ãšã¹ããªããã¿ãŒããããŸãã
-ããŒã¿ã®äžè²«æ§ãã©ã®ããã«æ±ããŸããïŒ 2人ã®ãŠãŒã¶ãŒãããŠãäžæ¹ããäœããååŸããããäžæ¹ã«äœããè«æ±ããå¿ èŠããããšããŸãã
-ãã質åã§ãã ãŸããOrleans 2.0ã¯åæ£ã¢ã¯ã¿ãã©ã³ã¶ã¯ã·ã§ã³ããµããŒãããŠããŸã-ãããæåã®ãªãªãŒã¹ã§ãã ããæ£ç¢ºã«ã¯ãçµæžã«ã€ããŠè©±ãå¿ èŠããããŸãã ãããŠæãç°¡åãªæ¹æ³ãšããŠ-æåŸã®ãªãŒãªã³ãºã§ã¯ãã¢ã¯ã¿ãŒéã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯åé¡ãªãå®è£ ãããŠããŸãã
-ã€ãŸã ããŒã¿ã®æŽåæ§ãç¶æããæ¹æ³ããã§ã«ç¥ã£ãŠããŸããïŒ
-ã¯ãã
Pixonic DevGAMM Talksãšã®ãããªãè¬æŒ
- Consulã䜿çšããã¹ããŒããã«ãµãŒãã¹ã®ã¹ã±ãŒãªã³ã° ïŒIvan BubnovãDevOps at BIT.GAMESïŒ;
- CICDïŒããŠã³ã¿ã€ã ãªãã®åæ£ã¯ã©ã¹ã¿ãŒã·ã¹ãã ãžã®ã·ãŒã ã¬ã¹ãªå±é ïŒEgor PanovãPixonicã·ã¹ãã 管çè ïŒ;
- Tacticoolã¢ãã€ã«ãªã³ã©ã€ã³ã·ã¥ãŒã¿ãŒã¡ã¿ãµãŒããŒã¢ãŒããã¯ã㣠ïŒPavel PlattoãPanzerDogã®ãªãŒããœãããŠã§ã¢ãšã³ãžãã¢ïŒ;
- ECSãCïŒãžã§ãã·ã¹ãã ãSRPãã¢ãŒããã¯ãã£ãžã®ã¢ãããŒããã©ã®ããã«å€ããã ïŒValentin SimonovãUnityã®ãã£ãŒã«ããšã³ãžãã¢ïŒ;
- éçºã«ãããKISSåå ïŒKonstantin Gladyshevã1C Game Studiosã®ãªãŒãã²ãŒã ããã°ã©ããŒïŒ;
- ã¯ã©ã€ã¢ã³ããšãµãŒããŒã®äžè¬çãªã²ãŒã ããžã㯠ïŒPixonicã®å¯æè¡è²¬ä»»è ãAnton GrigorievïŒã
- Cucumber in the CloudïŒè£œåã¹ãã¬ã¹ãã¹ãã«BDDã¹ã¯ãªãããäœ¿çš ïŒALICE Platformã®ãã¯ãã«ã«ãããã¯ããããŒãžã£ãŒãAnton KosyakinïŒã