ãªã³ã©ã€ã³åºåã®åéã¯å¯èœãªéãæè¡çã«é²æ©ããèªååãããã¹ãã ãšæãããŸãããã¡ãããYandexãMail.RuãGoogleãFacebook ãªã©ã®å€§æäŒæ¥ããã®åéã®å°é家ãããã§åããŠããããã§ããããããçµå±ã®ãšãããå®ç§ã«ã¯éçããªããåžžã«èªååã§ãããã®ã¯ååšããŸãã
ã³ãã¥ãã±ãŒã·ã§ã³ã°ã«ãŒã é»éã€ãŒãžã¹ã»ãããã¯ãŒã¯ã»ãã·ã¢ ã¯ããžã¿ã«åºååžå Žã®æ倧æã§ããããã¯ãããžãŒã«ç©æ¥µçã«æè³ããããžãã¹ ããã»ã¹ã®æé©åãšèªååã«åªããŠããŸãããªã³ã©ã€ã³åºååžå Žã®æªè§£æ±ºã®åé¡ã® 1 ã€ã¯ãããŸããŸãªã€ã³ã¿ãŒããã ãã©ãããã©ãŒã ããåºåãã£ã³ããŒã³ã«é¢ããçµ±èšãåéãããšãã課é¡ã«ãªã£ãŠããŸãããã®åé¡ã解決ããããã«ãæçµçã«è£œåãèªçããŸããã D1.ããžã¿ã« (ãã£ãŽã¡ã³ãšèªã¿ãŸã) ã®éçºã«ã€ããŠè©±ããããšæããŸãã
ãªãã§ããïŒ
1. ãããžã§ã¯ãã®éå§æç¹ã§ã¯ãåºåãã£ã³ããŒã³ã®çµ±èšåéãèªååãããšããåé¡ã解決ããæ¢è£œã®è£œåã¯åžå Žã«ã²ãšã€ããããŸããã§ããã ããã¯ãç§ãã¡ä»¥å€ã«ç§ãã¡ã®ããŒãºãæºãããŠããã人ã¯ããªããšããããšãæå³ããŸãã
ImprovadoãRoistatãSupermetricsãSegmentStream ãªã©ã®ãµãŒãã¹ã¯ããã©ãããã©ãŒã ããœãŒã·ã£ã« ãããã¯ãŒã¯ãGoogle Analitycs ãšã®çµ±åãæäŸããåºåãã£ã³ããŒã³ã®äŸ¿å©ãªåæãšå¶åŸ¡ã®ããã®åæããã·ã¥ããŒããæ§ç¯ããããšãå¯èœã«ããŸãã補åã®éçºãéå§ããåã«ããããã®ã·ã¹ãã ã®ããã€ãã䜿çšããŠãµã€ãããããŒã¿ãåéããããšããŸããããæ®å¿µãªããåé¡ã解決ã§ããŸããã§ããã
äž»ãªåé¡ã¯ããã¹ãããã補åãããŒã¿ ãœãŒã¹ã«äŸåãããµã€ãããšã®æ²èŒé äœã®çµ±èšã衚瀺ããåºåãã£ã³ããŒã³ã®çµ±èšãéèšããæ©èœãæäŸããŠããªãããšã§ããããã®ã¢ãããŒãã§ã¯ãããŸããŸãªãµã€ãã®çµ±èšã 1 ãæã§ç¢ºèªãããããã£ã³ããŒã³å šäœã®ç¶æ ãåæãããããããšã¯ã§ããŸããã§ããã
ãã 1 ã€ã®èŠå ã¯ãåæ段éã§ã¯è£œåã西åŽåžå Žã察象ãšããŠããããã·ã¢ã®ãµã€ããšã®çµ±åããµããŒãããŠããªãã£ãããšã§ãããŸããçµ±åãå®è£
ããããµã€ãã§ã¯ãå¿
èŠãªãã¹ãŠã®ã¡ããªã¯ã¹ãå¿
ãããååãªè©³çŽ°ãšãšãã«ããŠã³ããŒãããããšã¯éãããç¹ã«ã·ã¹ãã ã€ã³ã¿ãŒãã§ã€ã¹ã«ãªããã®ãååŸããå¿
èŠãããå Žåãçµ±åã¯å¿
ããã䟿å©ã§ééçã§ãããšã¯éããŸããã§ããã
äžè¬ã«ãç§ãã¡ã¯ãµãŒãããŒãã£è£œåã«é©å¿ããªãããšã決å®ããç¬èªã®è£œåã®éçºãéå§ããŸããã
2. ãªã³ã©ã€ã³åºååžå Žã¯å¹Žã æé·ããŠããã2018幎ã«ã¯åºåäºç®ã§åŸæ¥æ倧ã ã£ããã¬ãåºååžå Žãè¿œãæããŸããã ã ããã¹ã±ãŒã«ããããã ã.
3. åæ¥åºåã®è²©å£²ãç¬å ãããŠãããã¬ãåºååžå Žãšã¯ç°ãªããã€ã³ã¿ãŒãããäžã§ã¯ããŸããŸãªèŠæš¡ã®åºååšåº«ãææããç¬èªã®åºåã¢ã«ãŠã³ããæã£ãå人ææè ãå€æ°ååšããŸããåºåãã£ã³ããŒã³ã¯ååãšããŠè€æ°ã®ãµã€ãã§åæã«å®æœããããããåºåãã£ã³ããŒã³ã®ç¶æ³ãææ¡ããã«ã¯ããã¹ãŠã®ãµã€ãããã¬ããŒããåéããå šäœåã瀺ã XNUMX ã€ã®å€§ããªã¬ããŒãã«ãŸãšããå¿ èŠããããŸãã ããã¯ãæé©åã®å¯èœæ§ãããããšãæå³ããŸãã
4. ã€ã³ã¿ãŒãããäžã®åºååšåº«ã®ææè ã¯ãçµ±èšãåéããŠåºåã¢ã«ãŠã³ãã«è¡šç€ºããããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ããã§ã«åããŠããããã®ããŒã¿çšã® API ãæäŸã§ããããã«æããŸãã ã€ãŸããæè¡çã«ã¯å®è£ å¯èœãšããããšã«ãªããŸãã ããã¯ããã»ã©åçŽã§ã¯ãªãããšãå€æãããšããã«èšã£ãŠã¿ãŸãããã
äžè¬ã«ããããžã§ã¯ããå®è£ ããããã®åææ¡ä»¶ã¯ãã¹ãŠç§ãã¡ã«ãšã£ãŠæããã§ãããç§ãã¡ã¯ãããžã§ã¯ããå®çŸããããã«å šåãå°œãããŸãã...
ã°ã©ã³ããã©ã³
ãŸããç§ãã¡ã¯çæ³çãªã·ã¹ãã ã®ããžã§ã³ã圢æããŸããã
- 1C äŒæ¥ã·ã¹ãã ããã®åºåãã£ã³ããŒã³ã¯ãååãæéãäºç®ãããã³ããŸããŸãªãã©ãããã©ãŒã äžã®é 眮ãšãšãã«ãXNUMXC äŒæ¥ã·ã¹ãã ã«èªåçã«ããŒããããå¿ èŠããããŸãã
- åºåãã£ã³ããŒã³å ã®åé 眮ã«ã€ããŠãã€ã³ãã¬ãã·ã§ã³æ°ãã¯ãªãã¯æ°ããã¥ãŒæ°ãªã©ãé 眮ãè¡ãããŠãããµã€ããããã¹ãŠã®å¯èœãªçµ±èšãèªåçã«ããŠã³ããŒãããå¿ èŠããããŸãã
- äžéšã®åºåãã£ã³ããŒã³ã¯ãAdriverãWeboramaãDCM ãªã©ã®ããããåºåã·ã¹ãã ã«ãããµãŒãããŒãã£ã®ã¢ãã¿ãªã³ã°ã䜿çšããŠè¿œè·¡ãããŸãããã·ã¢ã«ã¯ã¡ãã£ã¢ã¹ã³ãŒã瀟ãšããç£æ¥çšã€ã³ã¿ãŒãããã¡ãŒã¿ãŒããããŸããç§ãã¡ã®èšç»ã«ããã°ãç¬ç«ç³»ããã³æ¥çã®ç£èŠããã®ããŒã¿ãã察å¿ããåºåãã£ã³ããŒã³ã«èªåçã«ããŒããããå¿ èŠããããŸãã
- ã€ã³ã¿ãŒãããäžã®ã»ãšãã©ã®åºåãã£ã³ããŒã³ã¯ãç¹å®ã®ã¿ãŒã²ãã ã¢ã¯ã·ã§ã³ (è³Œå ¥ãé»è©±ãè©Šä¹ãžã®ç³ã蟌ã¿ãªã©) ãç®çãšããŠãããGoogle Analytics ã䜿çšããŠè¿œè·¡ãããŸãããŸãããã®çµ±èšã¯ããã£ã³ããŒã³ã®ã¹ããŒã¿ã¹ãç解ããããã«ãéèŠã§ããããŒã«ã«ããŒãããå¿ èŠããããŸãã
æåã®ãã³ã±ãŒãã¯å¡ç¶ã§ã
ãœãããŠã§ã¢éçºã®æè»ãªåå (ã¢ãžã£ã€ã«ããã¹ãŠ) ãžã®åãçµã¿ãèæ
®ããŠãç§ãã¡ã¯æåã« MVP ãéçºãã次ã«æå³ãããç®æšã«åãã£ãŠå埩çã«é²ãããšã«ããŸããã
補åã«åºã¥ã㊠MVP ãæ§ç¯ããããšã«ããŸãã DANBo (é»éã€ãŒãžã¹ã»ãããã¯ãŒã¯çäºäŒ)ãããã¯ãã¯ã©ã€ã¢ã³ãã®åºåãã£ã³ããŒã³ã«é¢ããäžè¬çãªæ
å ±ãå«ãŸãã Web ã¢ããªã±ãŒã·ã§ã³ã§ãã
MVP ã§ã¯ããããžã§ã¯ãã¯å®è£ ã«é¢ããŠå¯èœãªéãç°¡çŽ åãããŸãããçµ±åãããã©ãããã©ãŒã ã®éå®ããããªã¹ããéžæããŸããããããã¯ãYandex.DirectãYandex.DisplayãRB.MailãMyTargetãAdwordsãDBMãVKãFB ãªã©ã®äž»èŠãªãã©ãããã©ãŒã ãšãäž»èŠãªåºåã·ã¹ãã ã§ãã Adriver ããã³ Weborama ã§ããã
API çµç±ã§ãµã€ãã®çµ±èšã«ã¢ã¯ã»ã¹ããã«ã¯ãåäžã®ã¢ã«ãŠã³ãã䜿çšããŸãããåºåãã£ã³ããŒã³ã«é¢ããçµ±èšã®èªååéã䜿çšãããã¯ã©ã€ã¢ã³ã ã°ã«ãŒã ãããŒãžã£ãŒã¯ããŸããµã€ãäžã®å¿ èŠãªåºåãã£ã³ããŒã³ãžã®ã¢ã¯ã»ã¹ããã©ãããã©ãŒã ã¢ã«ãŠã³ãã«å§ä»»ããå¿ èŠããããŸããã
次ã¯ã·ã¹ãã ãŠãŒã¶ãŒã§ã ãã³ã㌠ç¹å®ã®åœ¢åŒã®ãã¡ã€ã«ã Excel ã·ã¹ãã ã«ã¢ããããŒãããå¿ èŠããããŸããããã®ãã¡ã€ã«ã«ã¯ãæ²èŒã«é¢ãããã¹ãŠã®æ å ± (åºåãã£ã³ããŒã³ããã©ãããã©ãŒã ããã©ãŒããããæ²èŒæéãèšç»ãããææšãäºç®ãªã©) ãšã察å¿ããåºåãã£ã³ããŒã³ã®èå¥åãå«ãŸããŠããŸãããåºåã·ã¹ãã ã®ãµã€ããšã«ãŠã³ã¿ãŒã
ççŽã«èšã£ãŠãããã¯æãããèŠããŸããã
ããŠã³ããŒããããããŒã¿ã¯ããŒã¿ããŒã¹ã«ä¿åããããã®åŸãå¥ã®ãµãŒãã¹ããµã€ãäžã®ãã£ã³ããŒã³ ID ãåéãããããã®çµ±èšæ
å ±ãããŠã³ããŒãããŸããã
ãµã€ãããšã«åå¥ã® Windows ãµãŒãã¹ãäœæããããµã€ãã® API ã® 1 ã€ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã« 1 æ¥ã« 1 åã¢ã¯ã»ã¹ãããæå®ããããã£ã³ããŒã³ ID ã®çµ±èšãããŠã³ããŒããããŸãããåºåã·ã¹ãã ã§ãåãããšãèµ·ãããŸããã
ããŠã³ããŒããããããŒã¿ã¯ãå°ããªã«ã¹ã¿ã ããã·ã¥ããŒãã®åœ¢åŒã§ã€ã³ã¿ãŒãã§ã€ã¹ã«è¡šç€ºãããŸããã
ç§ãã¡ã«ãšã£ãŠäºæãã¬ããšã«ãMVP ãæ©èœãå§ããã€ã³ã¿ãŒãããäžã®åºåãã£ã³ããŒã³ã«é¢ããçŸåšã®çµ±èšãããŠã³ããŒããå§ããŸãããç§ãã¡ã¯ã·ã¹ãã ãããã€ãã®ã¯ã©ã€ã¢ã³ãã«å®è£
ããŸããããæ¡åŒµããããšãããšãã«æ·±å»ãªåé¡ã«ééããŸããã
- äž»ãªåé¡ã¯ãã·ã¹ãã ã«ããŒãããããŒã¿ã®æºåãè€éã§ããããšã§ããããŸããé 眮ããŒã¿ã¯ããŒãããåã«å³å¯ã«åºå®ããã圢åŒã«å€æããå¿ èŠããããŸãããããŠã³ããŒã ãã¡ã€ã«ã«ã¯ãããŸããŸãªãµã€ãããã®ãšã³ãã£ãã£èå¥åãå«ããå¿ èŠããããŸãããæè¡çãªãã¬ãŒãã³ã°ãåããŠããªããŠãŒã¶ãŒã«ãšã£ãŠããµã€ãäžã®ãããã®èå¥åãã©ãã«ããã®ãããã¡ã€ã«å ã®ã©ãã«å ¥åããå¿ èŠãããã®ãââã説æããã®ã¯éåžžã«é£ãããšããäºå®ã«çŽé¢ããŠããŸãããµã€ãã§ãã£ã³ããŒã³ãå®æœããŠããéšéã®åŸæ¥å¡ã®æ°ãšå£²äžé«ãèæ ®ãããšãçµæçã«ç§ãã¡åŽããã¯å€å€§ãªãµããŒããåããããšã«ãªããŸããããããã«ã¯å šãæºè¶³ã§ããŸããã§ããã
- ãã 1 ã€ã®åé¡ã¯ããã¹ãŠã®åºåãã©ãããã©ãŒã ã«ãåºåãã£ã³ããŒã³ãžã®ã¢ã¯ã»ã¹ãä»ã®ã¢ã«ãŠã³ãã«å§ä»»ããã¡ã«ããºã ãããããã§ã¯ãªããšããããšã§ãããããããããšãå§ä»»ã¡ã«ããºã ãå©çšå¯èœã ã£ããšããŠãããã¹ãŠã®åºåäž»ãèªç€Ÿã®ãã£ã³ããŒã³ãžã®ã¢ã¯ã»ã¹ããµãŒãããŒãã£ã®ã¢ã«ãŠã³ãã«èš±å¯ããããšããããã§ã¯ãããŸããã
- éèŠãªèŠå ã¯ããŠãŒã¶ãŒããã§ã« 1C äŒèšã·ã¹ãã ã«å ¥åããŠãããã¹ãŠã®èšç»ãããææšãšé 眮ã®è©³çŽ°ãåå ¥åããå¿ èŠããããšããäºå®ã«ãã£ãŠãŠãŒã¶ãŒã®éã§åŒãèµ·ããããæ€ãã§ããã ãã³ããŒ.
ãã®ããšãããé 眮ã«é¢ããæ å ±ã®äž»ãªæ å ±æºã¯ããã¹ãŠã®ããŒã¿ãæ£ç¢ºãã€æéã©ããã«å ¥åããã 1C ã·ã¹ãã ã§ããã¹ãã§ãããšããèããçãŸããŸãã (ããã§ã®ãã€ã³ãã¯ãè«æ±æžã¯ 1C ããŒã¿ã«åºã¥ããŠçæãããããã1C ã«ããŒã¿ãæ£ããå ¥åããå¿ èŠããããšããããšã§ã)ã¯ãã¹ãŠã® KPI ã«ãšã£ãŠåªå äºé ã§ãïŒãããããŠãã·ã¹ãã ã®æ°ããæŠå¿µãçãŸããŸãã...
ã³ã³ã»ãã
ç§ãã¡ãæåã«æ±ºããã®ã¯ãã€ã³ã¿ãŒãããäžã®åºåãã£ã³ããŒã³ã®çµ±èšãåéããã·ã¹ãã ãå¥ã®è£œåãšããŠåé¢ããããšã§ããã D1.ããžã¿ã«.
æ°ããã³ã³ã»ããã§ã¯ã D1.ããžã¿ã« åºåãã£ã³ããŒã³ãšãã®äžã®ãã¬ãŒã¹ã¡ã³ãã«é¢ããæ å ±ã 1C ããååŸãããµã€ããš AdServing ã·ã¹ãã ãããããã®ãã¬ãŒã¹ã¡ã³ãã«å¯Ÿããçµ±èšãååŸããŸããããã«ããããŠãŒã¶ãŒã®äœæ¥ãå€§å¹ ã«ç°¡çŽ åãã (ãããŠããã€ãã®ããã«ãéçºè ã®äœæ¥ãå¢ããŸã)ããµããŒãã®éãåæžãããã¯ãã§ããã
ç§ãã¡ãééããæåã®åé¡ã¯çµç¹çãªæ§è³ªã®ãã®ã§ãããŸããŸãªã·ã¹ãã ã®ãšã³ãã£ãã£ã 1C ã®ãã£ã³ããŒã³ããã¬ãŒã¹ã¡ã³ããšæ¯èŒã§ããããŒãèšå·ãèŠã€ãããªããšããäºå®ã«é¢é£ããŠããŸãããå®éãåœç€Ÿã®ããã»ã¹ã¯ãåºåãã£ã³ããŒã³ãããŸããŸãªæ åœè (ã¡ãã£ã¢ ãã©ã³ããŒããã€ã€ã³ã°ãªã©) ã«ãã£ãŠããŸããŸãªã·ã¹ãã ã«å ¥åãããããã«èšèšãããŠããŸãã
ãã®åé¡ã解決ããã«ã¯ãç°ãªãã·ã¹ãã å ã®ãšã³ãã£ãã£ããªã³ã¯ããããŠã³ããŒããããããŒã¿ ã»ããå ã§éåžžã«ç°¡åãã€äžæã«èå¥ã§ããäžæã®ããã·ã¥ ã㌠DANBoID ãçºæããå¿ èŠããããŸããããã®èå¥åã¯ãåã ã®ãã¬ãŒã¹ã¡ã³ãããšã«å éš 1C ã·ã¹ãã ã§çæããããã¹ãŠã®ãµã€ãããã³ãã¹ãŠã® AdServing ã·ã¹ãã ã®ãã£ã³ããŒã³ããã¬ãŒã¹ã¡ã³ããã«ãŠã³ã¿ã«è»¢éãããŸãããã¹ãŠã®ãã¬ãŒã¹ã¡ã³ãã« DANBoID ãé 眮ããå®è·µã«ã¯æéãããããŸãããããªããšãå®è¡ã§ããŸãã :)
ãã®åŸããã¹ãŠã®ãµã€ãã«çµ±èšãèªåçã«åéããããã® API ãããããã§ã¯ãªããAPI ãããå Žåã§ããå¿ èŠãªãã¹ãŠã®ããŒã¿ãè¿ãããããã§ã¯ãªãããšãããããŸããã
ãã®æ®µéã§ãçµ±åãããã©ãããã©ãŒã ã®ãªã¹ããå€§å¹ ã«æžããã倧éšåã®åºåãã£ã³ããŒã³ã«é¢äžããäž»èŠãªãã©ãããã©ãŒã ã«çŠç¹ãåœãŠãããšã«ããŸããããã®ãªã¹ãã«ã¯ãåºååžå Ž (GoogleãYandexãMail.ru)ããœãŒã·ã£ã« ãããã¯ãŒã¯ (VKãFacebookãTwitter)ãäž»èŠãª AdServing ããã³åæã·ã¹ãã (DCMãAdriverãWeboramaãGoogle Analytics) ããã³ãã®ä»ã®ãã©ãããã©ãŒã ã®æ倧æäŒæ¥ããã¹ãŠå«ãŸããŠããŸãã
ç§ãã¡ãéžæãããµã€ãã®å€§éšåã«ã¯ãå¿ èŠãªææšãæäŸãã API ããããŸããã API ãååšããªãããå¿ èŠãªããŒã¿ãå«ãŸããŠããªãå Žåã¯ããªãã£ã¹ã®é»åã¡ãŒã«ã«æ¯æ¥éä¿¡ãããã¬ããŒãã䜿çšããŠããŒã¿ãããŒãããŸãã (äžéšã®ã·ã¹ãã ã§ã¯ãã®ãããªã¬ããŒããæ§æã§ããŸãããä»ã®ã·ã¹ãã ã§ã¯ããã®ãããªã¬ããŒãã¯ç§ãã¡ã«æäŸãããŸãïŒã
ããŸããŸãªãµã€ãããã®ããŒã¿ãåæãããšããããšã³ãã£ãã£ã®éå±€ãã·ã¹ãã ããšã«åãã§ã¯ãªãããšãããããŸãããããã«ãæ å ±ã¯ããŸããŸãªã·ã¹ãã ããããŸããŸãªè©³çŽ°ã§ããŠã³ããŒãããå¿ èŠããããŸãã
ãã®åé¡ã解決ããããã«ãSubDANBoID ã³ã³ã»ãããéçºãããŸããã SubDANBoID ã®ã¢ã€ãã¢ã¯éåžžã«åçŽã§ããçæããã DANBoID ã§ãµã€ãäžã®ãã£ã³ããŒã³ã®äž»èŠãªãšã³ãã£ãã£ãããŒã¯ããäžæã®ãµã€ãèå¥åãæã€ãã¹ãŠã®ãã¹ãããããšã³ãã£ãã£ãã¢ããããŒãããDANBoID åå + 第 1 ã¬ãã«ã®èå¥åã«åŸã£ãŠ SubDANBoID ã圢æããŸãããã¹ãããããšã³ãã£ã㣠+ 第 2 ã¬ãã«ã®ãã¹ãããããšã³ãã£ãã£ã®èå¥å +... ãã®ã¢ãããŒãã«ãããç°ãªãã·ã¹ãã ã®åºåãã£ã³ããŒã³ãæ¥ç¶ãããããã®è©³çŽ°ãªçµ±èšãããŠã³ããŒãããããšãã§ããŸããã
ãŸããããŸããŸãªãã©ãããã©ãŒã ã§ã®ãã£ã³ããŒã³ãžã®ã¢ã¯ã»ã¹ã®åé¡ã解決ããå¿ èŠããããŸãããäžã§è¿°ã¹ãããã«ããã£ã³ããŒã³ãžã®ã¢ã¯ã»ã¹ãå¥ã®æè¡ã¢ã«ãŠã³ãã«å§ä»»ããã¡ã«ããºã ã¯ãåžžã«é©çšã§ããããã§ã¯ãããŸããããããã£ãŠãããŒã¯ã³ã䜿çšãã OAuth ã«ããèªåèªèšŒã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãšããããã®ããŒã¯ã³ãæŽæ°ããã¡ã«ããºã ãéçºããå¿ èŠããããŸããã
ãã®èšäºã®åŸåã§ã¯ããœãªã¥ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ãšå®è£ ã®æè¡çãªè©³çŽ°ã«ã€ããŠè©³ãã説æããŸãã
ãœãªã¥ãŒã·ã§ã³ ã¢ãŒããã¯ã㣠1.0
æ°ãã補åã®å®è£ ãéå§ããéãæ°ãããµã€ãã«æ¥ç¶ã§ããæ©èœãçŽã¡ã«æäŸããå¿ èŠãããããšãç解ãããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã®éãé²ãããšã«ããŸããã
ã¢ãŒããã¯ãã£ãèšèšããéããã¹ãŠã®å€éšã·ã¹ãã (1Cãåºåãã©ãããã©ãŒã ãåºåã·ã¹ãã ) ãžã®ã³ãã¯ã¿ãå¥åã®ãµãŒãã¹ã«åé¢ããŸããã
äž»ãªèãæ¹ã¯ããµã€ããžã®ãã¹ãŠã®ã³ãã¯ã¿ãåã API ãæã¡ããµã€ã API ã䟿å©ãªã€ã³ã¿ãŒãã§ã€ã¹ã«æäŸããã¢ããã¿ãŒã§ãããšããããšã§ãã
åœç€Ÿè£œåã®äžå¿ãšãªãã®ã¯ Web ã¢ããªã±ãŒã·ã§ã³ã§ããããã¯ãç°¡åã«ãµãŒãã¹ã«å解ã§ããããã«èšèšãããã¢ããªã¹ã§ãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãããŠã³ããŒããããããŒã¿ãåŠçããããŸããŸãªã·ã¹ãã ããã®çµ±èšãç §åããããããã·ã¹ãã ãŠãŒã¶ãŒã«æ瀺ãã圹å²ãæãããŸãã
ã³ãã¯ã¿ãš Web ã¢ããªã±ãŒã·ã§ã³ã®éã§éä¿¡ããã«ã¯ãã³ãã¯ã¿ ãããã·ãšåŒã°ããè¿œå ã®ãµãŒãã¹ãäœæããå¿ èŠããããŸããããµãŒãã¹ãã£ã¹ã«ããªãšã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©ã®æ©èœãå®è¡ããŸãããã®ãµãŒãã¹ã¯ãåã³ãã¯ã¿ã®ããŒã¿åéã¿ã¹ã¯ãæ¯æ©å®è¡ããŸãããµãŒãã¹å±€ã®äœæã¯ã¡ãã»ãŒãž ãããŒã«ãŒã«æ¥ç¶ãããããç°¡åã§ãç§ãã¡ã«ãšã£ãŠã¯ã§ããã ãæ©ãçµæãåŸãããšãéèŠã§ããã
éçºã®ç°¡çŽ åãšè¿ éåã®ããããã¹ãŠã®ãµãŒãã¹ã Web API ã«ããããšã決å®ããŸãããããã«ãããæŠå¿µå®èšŒãè¿ éã«çµã¿ç«ãŠãèšèšå šäœãæ©èœããããšãæ€èšŒããããšãå¯èœã«ãªããŸããã
å¥ã®ããªãè€éãªã¿ã¹ã¯ã¯ãããŸããŸãªã¢ã«ãŠã³ãããããŒã¿ãåéããããã®ã¢ã¯ã»ã¹ãèšå®ããããšã§ããããããã¯ãŠãŒã¶ãŒã Web ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠå®è¡ããå¿
èŠããããšå€æããŸããããã㯠2 ã€ã®å¥ã
ã®æé ã§æ§æãããŸãããŸãããŠãŒã¶ãŒã¯ OAuth çµç±ã§ã¢ã«ãŠã³ãã«ã¢ã¯ã»ã¹ããããã®ããŒã¯ã³ãè¿œå ãã次ã«ç¹å®ã®ã¢ã«ãŠã³ãããã¯ã©ã€ã¢ã³ãã®ããŒã¿ã®åéãæ§æããŸãããã§ã«æžããããã«ããµã€ãäžã®ç®çã®ã¢ã«ãŠã³ãã«ã¢ã¯ã»ã¹ãå§ä»»ã§ãããšã¯éããªããããOAuth çµç±ã§ããŒã¯ã³ãååŸããããšãå¿
èŠã§ãã
ãµã€ãããã¢ã«ãŠã³ããéžæããããã®æ±çšã¡ã«ããºã ãäœæããã«ã¯ãJSON ã¹ããŒããè¿ãã¡ãœãããã³ãã¯ã¿ API ã«è¿œå ããå¿ èŠããããŸãããJSON ã¹ããŒãã¯ãå€æŽããã JSONEditor ã³ã³ããŒãã³ãã䜿çšããŠãã©ãŒã ã«ã¬ã³ããªã³ã°ãããŸãããã®ããã«ããŠããŠãŒã¶ãŒã¯ããŒã¿ãããŠã³ããŒãããã¢ã«ãŠã³ããéžæã§ããããã«ãªããŸããã
ãµã€ãã«ååšãããªã¯ãšã¹ãå¶éã«æºæ ããããã«ã1 ã€ã®ããŒã¯ã³å ã®èšå®ãªã¯ãšã¹ããçµåããŸãããç°ãªãããŒã¯ã³ã䞊è¡ããŠåŠçã§ããŸãã
Web ã¢ããªã±ãŒã·ã§ã³ãšã³ãã¯ã¿ã®äž¡æ¹ã«èªã¿èŸŒãŸããããŒã¿ã®ã¹ãã¬ãŒãžãšã㊠MongoDB ãéžæããŸãããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®ãªããžã§ã¯ã ã¢ãã«ã 1 æ¥ããã«å€æŽãããéçºã®åæ段éã§ãããŒã¿æ§é ã«ã€ããŠããŸãå¿é ããå¿ èŠããªããªããŸãã
ãã¹ãŠã®ããŒã¿ã MongoDB ã«é©åã«é©åããããã§ã¯ãªãããšãããã«ããããŸãããããšãã°ãæ¯æ¥ã®çµ±èšããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«ä¿åããæ¹ã䟿å©ã§ãããããã£ãŠãããŒã¿æ§é ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«ããé©ããŠããã³ãã¯ã¿ã«ã€ããŠã¯ãã¹ãã¬ãŒãžãšã㊠PostgreSQL ãŸã㯠MS SQL Server ã䜿çšãå§ããŸããã
éžæããã¢ãŒããã¯ãã£ãšãã¯ãããžãŒã«ãããD1.Digital 補åãæ¯èŒçè¿ éã«æ§ç¯ããŠçºå£²ããããšãã§ããŸããã 23 幎éã®è£œåéçºãéããŠãç§ãã¡ã¯ãµã€ããžã® 3 ã®ã³ãã¯ã¿ãéçºãããµãŒãããŒã㣠API ã䜿çšãã貎éãªçµéšãç©ã¿ãããããã«ç¬èªã®ç°ãªããµã€ãã®èœãšãç©Žãåé¿ããæ¹æ³ãåŠã³ãå°ãªããšã 15 ã€ã® API ã®éçºã«è²¢ç®ããŸãããã®ãµã€ãã§ã¯ãçŽ 000 ã®ãã£ã³ããŒã³ãš 80 ãè¶ ãããã¬ãŒã¹ã¡ã³ãã«é¢ããæ å ±ãèªåçã«ããŠã³ããŒãããã補åã®æäœã«é¢ãããŠãŒã¶ãŒããã®å€ãã®ãã£ãŒãããã¯ãåéããããã®ãã£ãŒãããã¯ã«åºã¥ããŠè£œåã®äž»èŠãªããã»ã¹ãæ°åå€æŽããããšãã§ããŸããã
ãœãªã¥ãŒã·ã§ã³ ã¢ãŒããã¯ã㣠2.0
éçºéå§ãã2幎ãçµé D1.ããžã¿ã«ãã·ã¹ãã ã®è² è·ãç¶ç¶çã«å¢å ããæ°ããããŒã¿ ãœãŒã¹ãã©ãã©ãç»å Žããããšã§ãæ¢åã®ãœãªã¥ãŒã·ã§ã³ ã¢ãŒããã¯ãã£ã®åé¡ãåŸã ã«æããã«ãªããŸããã
æåã®åé¡ã¯ããµã€ãããããŠã³ããŒããããããŒã¿ã®éã«é¢é£ããŠããŸããç§ãã¡ã¯ã倧èŠæš¡ãªãµã€ãããå¿ èŠãªããŒã¿ããã¹ãŠåéããŠæŽæ°ããã«ã¯æéããããããããšããäºå®ã«çŽé¢ããŸãããããšãã°ãã»ãšãã©ã®åºåæ ã®çµ±èšã远跡ãã AdRiver åºåé ä¿¡ã·ã¹ãã ããããŒã¿ãåéããã«ã¯ãçŽ 12 æéããããŸãã
ãã®åé¡ã解決ããããã«ãç§ãã¡ã¯ãµã€ãããããŒã¿ãããŠã³ããŒãããããã«ããããçš®é¡ã®ã¬ããŒãã䜿çšãå§ããŸãããç§ãã¡ã¯ããã®åäœé床ãããŒãºãæºããããã«ãµã€ããšå ±å㧠API ãéçºããããŒã¿ã®ããŠã³ããŒããå¯èœãªéã䞊ååããããšããŠããŸãã
ãã 10 ã€ã®åé¡ã¯ãããŠã³ããŒããããããŒã¿ã®åŠçã«é¢é£ããŠããŸããçŸåšãæ°ããæ²èŒæ çµ±èšãå°çãããšãææšãåèšç®ããå€æ®µéã®ããã»ã¹ãéå§ãããŸããããã«ã¯ãçããŒã¿ã®èªã¿èŸŒã¿ãåãµã€ãã®éèšææšã®èšç®ãç°ãªããœãŒã¹ããã®ããŒã¿ã®çžäºæ¯èŒããã£ã³ããŒã³ã®æŠèŠææšã®èšç®ãå«ãŸããŸããããã«ããããã¹ãŠã®èšç®ãè¡ã Web ã¢ããªã±ãŒã·ã§ã³ã«å€å€§ãªè² è·ãããããŸããåèšç®ããã»ã¹äžã«ãã¢ããªã±ãŒã·ã§ã³ããµãŒããŒäžã®ãã¹ãŠã®ã¡ã¢ãª (çŽ 15 ïœ XNUMX GB) ãæ¶è²»ããããšãäœåºŠããããããããŠãŒã¶ãŒã®ã·ã¹ãã äœæ¥ã«æãæªåœ±é¿ãåãŒããŸããã
ç¹å®ãããåé¡ãšè£œåã®ãããªãéçºã«åããéå¿çãªèšç»ã«ãããã¢ããªã±ãŒã·ã§ã³ ã¢ãŒããã¯ãã£ãåæ€èšããå¿ èŠãããããšãããããŸããã
ãŸãã¯ã³ãã¯ã¿ããå§ããŸããã
ãã¹ãŠã®ã³ãã¯ã¿ãåãã¢ãã«ã«åŸã£ãŠåäœããããšã«æ°ä»ããã¹ãããã®ããžãã¯ãããã°ã©ã ããã ãã§ã³ãã¯ã¿ãäœæã§ãããã€ãã©ã€ã³ ãã¬ãŒã ã¯ãŒã¯ãæ§ç¯ããæ®ãã¯æ±çšçã«è¡ãããšãã§ããŸãããã³ãã¯ã¿ã«æ¹åãå¿
èŠãªå Žåã¯ãã³ãã¯ã¿ã®æ¹åãšåæã«ãã³ãã¯ã¿ãçŽã¡ã«æ°ãããã¬ãŒã ã¯ãŒã¯ã«ç§»è¡ããŸãã
åæã«ãDocker ãš Kubernetes ãžã®ã³ãã¯ã¿ã®ãããã€ãéå§ããŸããã
ç§ãã¡ã¯ããªãé·ãé Kubernetes ãžã®ç§»è¡ãèšç»ããCI/CD èšå®ãå®éšããŸãããã移è¡ãéå§ããã®ã¯ããšã©ãŒã«ãã 20 ã€ã®ã³ãã¯ã¿ããµãŒããŒäžã® XNUMX GB 以äžã®ã¡ã¢ãªã䜿ãå§ããå®è³ªçã«ä»ã®ããã»ã¹ãåæ¢ãããšãã ãã§ããã ã調æ»äžã«ãã³ãã¯ã¿ã¯ Kubernetes ã¯ã©ã¹ã¿ãŒã«ç§»åããããšã©ãŒãä¿®æ£ãããåŸãæçµçã«ã¯ããã«æ®ããŸããã
ç§ãã¡ã¯ Kubernetes ã䟿å©ã§ããããšãããã«èªèãã7 ãæ以å ã«ãæãå€ãã®ãªãœãŒã¹ãæ¶è²»ãã XNUMX ã€ã®ã³ãã¯ã¿ãšã³ãã¯ã¿ ãããã·ãå®çšŒåã¯ã©ã¹ã¿ã«ç§»è¡ããŸããã
ã³ãã¯ã¿ã«ç¶ããŠãã¢ããªã±ãŒã·ã§ã³ã®æ®ãã®éšåã®ã¢ãŒããã¯ãã£ãå€æŽããããšã«ããŸããã
äž»ãªåé¡ã¯ãããŒã¿ãã³ãã¯ã¿ãã倧èŠæš¡ãªãããã§ãããã·ã«éä¿¡ããããã®åŸ DANBoID ã«å°éããåŠçã®ããã«äžå€®ã® Web ã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ãããããšã§ãããã¡ããªã¯ã¹ã®åèšç®ãå€æ°è¡ããããããã¢ããªã±ãŒã·ã§ã³ã«å€§ããªè² è·ãããããŸãã
ãŸããåã ã®ããŒã¿åéãžã§ãã®ã¹ããŒã¿ã¹ãç£èŠããã³ãã¯ã¿å ã§çºçãããšã©ãŒãäžå€®ã® Web ã¢ããªã±ãŒã·ã§ã³ã«å ±åããŠãäœãèµ·ãã£ãŠããã®ãããªãããŒã¿ãåéãããªãã®ãããŠãŒã¶ãŒã確èªã§ããããã«ããããšã¯ãéåžžã«é£ããããšãå€æããŸããã
ãããã®åé¡ã解決ããããã«ãç§ãã¡ã¯ã¢ãŒããã¯ã㣠2.0 ãéçºããŸããã
æ°ããããŒãžã§ã³ã®ã¢ãŒããã¯ãã£ã®äž»ãªéãã¯ããµãŒãã¹éã§ã¡ãã»ãŒãžã亀æããããã« Web API ã®ä»£ããã« RabbitMQ ãš MassTransit ã©ã€ãã©ãªã䜿çšããããšã§ãããããè¡ãã«ã¯ãã³ãã¯ã¿ ãããã·ãã»ãŒå®å šã«æžãçŽããã³ãã¯ã¿ ããã«ããå¿ èŠããããŸããããã®ãµãŒãã¹ã®äž»ãªåœ¹å²ã¯ããªã¯ãšã¹ããã³ãã¯ã¿ã«è»¢éããããã³ãã¯ã¿ã«æ»ãããããããšã§ã¯ãªããã³ãã¯ã¿ããã®ã¡ããªã¯ã¹ã®åéã管çããããšã«ãããããååãå€æŽãããŸããã
äžå€®ã® Web ã¢ããªã±ãŒã·ã§ã³ããããµã€ãããã®ãã¬ãŒã¹ã¡ã³ããšçµ±èšã«é¢ããæ å ±ãåå¥ã®ãµãŒãã¹ã«åé¢ããŸãããããã«ãããäžå¿ èŠãªåèšç®ãæé€ãããã¬ãŒã¹ã¡ã³ã ã¬ãã«ã§ãã§ã«èšç®ããã³éèšãããçµ±èšã®ã¿ãä¿åã§ããããã«ãªããŸããããŸããçããŒã¿ã«åºã¥ããŠåºæ¬çµ±èšãèšç®ããããžãã¯ãæžãçŽããŠæé©åããŸããã
åæã«ããœãªã¥ãŒã·ã§ã³ã®æ¡åŒµãšç®¡çããã容æã«ããããã«ããã¹ãŠã®ãµãŒãã¹ãšã¢ããªã±ãŒã·ã§ã³ã Docker ãš Kubernetes ã«ç§»è¡ããŠããŸãã
ç§ãã¡ã¯ä»ã©ãã«ããŸãã
æŠå¿µå®èšŒã¢ãŒããã¯ã㣠2.0 補å D1.ããžã¿ã« æºåãæŽããéãããã³ãã¯ã¿ã®ã»ãããåãããã¹ãç°å¢ã§åäœããŸããããšã¯ãããã« 20 åã®ã³ãã¯ã¿ãæ°ãããã©ãããã©ãŒã ã«æžãæããããŒã¿ãæ£ããããŒãããããã¹ãŠã®ã¡ããªã¯ã¹ãæ£ããèšç®ãããŠããããšããã¹ãããèšèšå šäœãéçšç°å¢ã«å±éããã ãã§ãã
å®éããã®ããã»ã¹ã¯æ®µéçã«è¡ãããããããã¹ãŠãæ©èœãç¶ããããã«ã¯å€ã API ãšã®äžäœäºææ§ãæ®ãå¿ èŠããããŸãã
åœç€Ÿã®åœé¢ã®èšç»ã«ã¯ãæ°ããã³ãã¯ã¿ã®éçºãæ°ããã·ã¹ãã ãšã®çµ±åãæ¥ç¶ããããµã€ããåºåã·ã¹ãã ããããŠã³ããŒããããããŒã¿ã»ãããžã®è¿œå ã®ã¡ããªã¯ã¹ã®è¿œå ãå«ãŸããŸãã
ãŸããäžå€®ã® Web ã¢ããªã±ãŒã·ã§ã³ãå«ããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã Docker ãš Kubernetes ã«ç§»è¡ããäºå®ã§ããæ°ããã¢ãŒããã¯ãã£ãšçµã¿åãããããšã§ãæ¶è²»ããããªãœãŒã¹ã®å±éãç£èŠãå¶åŸ¡ãå€§å¹ ã«ç°¡çŽ åãããŸãã
ãã 1 ã€ã®ã¢ã€ãã¢ã¯ãçŸåš MongoDB ã«ä¿åãããŠããçµ±èšãä¿åããããã®ããŒã¿ããŒã¹ã®éžæãå®éšããããšã§ãããã§ã«ããã€ãã®æ°ããã³ãã¯ã¿ã SQL ããŒã¿ããŒã¹ã«ç§»è¡ããŸãããããã®éãã¯ã»ãšãã©ç®ç«ã¡ãŸããããŸããä»»æã®æéã«ããã£ãŠèŠæ±ã§ããæ¥ããšã®éèšçµ±èšã®å Žåããã®å¹æã¯éåžžã«æ·±å»ã«ãªãå¯èœæ§ããããŸãã
äžè¬çã«ãèšç»ã¯å£®å€§ã§ããå ã«é²ã¿ãŸããã:)
èšäºå·çè
R&D Dentsu Aegis Network Russia: Georgy Ostapenko (
åºæïŒ habr.com