ãã€ã¯ããµãŒãã¹ã®ãã¹ã ãã©ã¯ãã£ã¹ã¯ãçµç¹ããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã䜿çšããŠå¹ççã§ä¿¡é Œæ§ã®é«ãã¢ãžã¥ãŒã«åŒãœãããŠã§ã¢ ã·ã¹ãã ãéçºãç¶æãæ¡åŒµã§ããããã«ããããšãç®çãšããäžé£ã®ã¬ã€ãã©ã€ã³ãååããã¿ãŒã³ãæããŸãããããã®ãã¹ã ãã©ã¯ãã£ã¹ãå®è£ ãããšãããŒã éã®ã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããããœãããŠã§ã¢ã®é ä¿¡ãå éãããå€åããããžãã¹èŠä»¶ãžã®é©å¿æ§ã匷åãããŸããç¹ã«ããã€ã¯ããµãŒãã¹ã®ã³ã³ããã¹ãã§ã¯ããã¹ã ãã©ã¯ãã£ã¹ã¯ãåã ã®ãµãŒãã¹ ã³ã³ããŒãã³ãã®èšèšãæ§ç¯ã管çã ãã§ãªããã·ã¹ãã å šäœã®äžè²«æ§ãšããã©ãŒãã³ã¹ã®ç¶æã«ã圹ç«ã¡ãŸãã
ãã€ã¯ããµãŒãã¹ã®ãã¹ã ãã©ã¯ãã£ã¹ã®åºæ¬ååã® 1 ã€ã¯ãã¢ããªã·ã㯠ã¢ããªã±ãŒã·ã§ã³ãããå°ããªç¬ç«ããççµåãµãŒãã¹ã«åè§£ããããšã§ããåãµãŒãã¹ã¯ç¹å®ã®ããžãã¹æ©èœãŸãã¯ãã¡ã€ã³ãã«ãã»ã«åããŠãããåå¥ã«éçºãå±éãæ¡åŒµã§ããŸããããã«ãããåäžè²¬ä»»åå (SRP) ãæšé²ãããéçºããŒã éã®æžå¿µäºé ã®ããé©åãªåé¢ãä¿é²ãããæçµçã«ã¯ä¿ææ§ãåäžããåžå Žæå ¥ãŸã§ã®æéãççž®ãããŸãã
ãã€ã¯ããµãŒãã¹ã®ãã¹ã ãã©ã¯ãã£ã¹ã®ãã 1 ã€ã®éèŠãªåŽé¢ã«ã¯ããã¡ã€ã³é§åèšèš (DDD) ã¢ãããŒãã®æ¡çšãå«ãŸããŸããããã«ã¯ãçŸå®äžçã®ããžãã¹èŠä»¶ã«åºã¥ããŠãµãŒãã¹ãã¢ããªã³ã°ããç¹å®ã®å¢çä»ãã³ã³ããã¹ãã«å±ããéèšãå€ãªããžã§ã¯ãããšã³ãã£ãã£ãèå¥ããããšã§ãã¡ã€ã³ã®æŽåæ§ãç¶æããåªåãå¿ èŠã«ãªããŸãã DDD ãæ¡çšãããšãããžãã¹ ããŒã ãšæè¡ããŒã éã®èª¿æŽãåäžãããã¡ã€ã³ã«é¢ããå ±éã®çè§£ãä¿é²ãããµãŒãã¹éã®çµåãæå°éã«æããããšãã§ããŸãã
ã¹ããŒãã¬ã¹ ãµãŒãã¹ãšã¹ããŒããã« ãµãŒãã¹ã®äœæã¯ããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã§ã¹ã±ãŒã©ããªãã£ãšãã©ãŒã«ã ãã¬ã©ã³ã¹ãå®çŸããããã«äžå¯æ¬ ã§ããã¹ããŒãã¬ã¹ ãµãŒãã¹ã¯ãŠãŒã¶ãŒåºæã®æ å ±ãä¿æãããåãªã¯ãšã¹ããç¬ç«ããŠåŠçãããããæ°Žå¹³æ¹åã®ã¹ã±ãŒãªã³ã°ã容æã«ãªããŸããã¹ããŒããã« ãµãŒãã¹ã¯ãŠãŒã¶ãŒã®ç¶æ ãšã»ãã·ã§ã³ã管çããäžè¬ã«ãªãœãŒã¹ããã倧éã«æ¶è²»ããŸããå¯èœãªéãã¹ããŒãã¬ã¹ ãµãŒãã¹ãäœæããã¹ããŒããã« ãµãŒãã¹ãéžæçã«æ¡çšããããšã§ãçµç¹ã¯ãã€ã¯ããµãŒãã¹ ã¢ããªã±ãŒã·ã§ã³å šäœã§ããã©ãŒãã³ã¹ãã¹ã±ãŒã©ããªãã£ããªãœãŒã¹äœ¿çšçã®ãã©ã³ã¹ã广çã«åãããšãã§ããŸãã
ãã€ã¯ããµãŒãã¹ç°å¢ã«ãããéèŠãªãã¹ã ãã©ã¯ãã£ã¹ã® 1 ã€ã¯ãé©å㪠API èšèšãšéä¿¡ãã¿ãŒã³ã確ä¿ããããšã§ããããã«ã¯ãåã ã®ãµãŒãã¹ã®æ©èœãå ¬éããããã®ãçŽæçã§äžè²«æ§ããããããŒãžã§ã³ç®¡çããã API ã®èšèšãå«ãŸããŸãã REST ã gRPC ãªã©ã®æšæºéä¿¡ãããã³ã«ãæ¡çšãããããªãã·ã¥/ãµãã¹ã¯ã©ã€ã ã·ã¹ãã ãã€ãã³ãé§ååã·ã¹ãã ãªã©ã®ã¡ãã»ãŒãž ããŒã¹ã®ã¢ãŒããã¯ãã£ãå©çšããããšã¯ããã€ã¯ããµãŒãã¹éã®ä¿¡é Œæ§ã®é«ãå¹ççãªéä¿¡ãä¿é²ããããã«äžå¯æ¬ ã§ãã
ããŒã¿ãšããŒã¿ã®æ°žç¶æ§ãé©åã«åŠçããããšã¯ããã€ã¯ããµãŒãã¹ã®ãã¹ã ãã©ã¯ãã£ã¹ã®éèŠãªåŽé¢ã§ããåãµãŒãã¹ã«ã¯ç¬èªã®ããŒã¿ ã¹ãã¢ãå¿ èŠã§ãããããŒã¿ã®èªåŸæ§ã確ä¿ãããè€æ°ã®ãµãŒãã¹éã§ããŒã¿ããŒã¹ãå ±æããå¿ èŠããªããªããŸããã€ãã³ã ãœãŒã·ã³ã°ãã³ãã³ã ã¯ãšãªè²¬ä»»åé¢ (CQRS)ãããã³ãã®ä»ã®ããŒã¿ç®¡çãã¿ãŒã³ã®å®è£ ããã·ã¹ãã å šäœã®ä¿¡é Œæ§ãšäžè²«æ§ã®åäžã«åœ¹ç«ã¡ãŸãã
ãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã®ãã 1 ã€ã®ãã¹ã ãã©ã¯ãã£ã¹ã¯ã广çãªãµãŒãã¹ã®æ€åºãç»é²ãè² è·åæ£ã¡ã«ããºã ãå®è£ ããããšã§ãããµãŒãã¹ ãã£ã¹ã«ããªã«ããããã€ã¯ããµãŒãã¹ã¯éäžã¬ãžã¹ããªãŸãã¯åæ£ã·ã¹ãã ãéããŠçžäºã«æ€çŽ¢ããã³éä¿¡ã§ããããã«ãªããè² è·åæ£ã«ãããµãŒãã¹ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹éã§ãªã¯ãšã¹ããæé©ã«åæ£ãããŸãã
ç£èŠããã®ã³ã°ããã¬ãŒã¹ã¯ããã€ã¯ããµãŒãã¹ ã¢ããªã±ãŒã·ã§ã³ã®å¥å šæ§ãããã©ãŒãã³ã¹ãã»ãã¥ãªãã£ãç¶æããããã«äžå¯æ¬ ãªãã¹ã ãã©ã¯ãã£ã¹ã§ããäžå åããããã° ãœãªã¥ãŒã·ã§ã³ã®å®è£ ãäž»èŠãªããã©ãŒãã³ã¹ ã¡ããªã¯ã¹ã®ç£èŠã忣ãã¬ãŒã¹ ããŒã«ã®å©çšã«ãããéçºè ãšéçšããŒã ã¯è€éãªãã€ã¯ããµãŒãã¹ ãšã³ã·ã¹ãã ã®åé¡ãå¹ççã«èšºæãããã©ãã«ã·ã¥ãŒãã£ã³ã°ã§ããããã«ãªããŸãã
ãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã§ã¯ãå ç¢ãªã»ãã¥ãªãã£æ £è¡ãç¶æããããšãäžå¯æ¬ ã§ããã»ãã¥ãªãã£ã®ãã¹ã ãã©ã¯ãã£ã¹ã¯ããµãŒãã¹éã®å®å šãªéä¿¡ã®ç¢ºä¿ãé©åãªèªèšŒããã³èªå¯ã¡ã«ããºã ã®å®è£ ãã»ãã¥ãªã㣠ããªã·ãŒãé©çšããããã® API ã²ãŒããŠã§ã€ã®æ¡çšã«éç¹ã眮ããŠããŸããããã«ã䟵害ãçºçããå Žåã«ã·ã¹ãã å ã§æãŸãããªã暪æ¹åã®ç§»åãçºçããå¯èœæ§ãæå°éã«æããã«ã¯ãæå°ç¹æš©ã®ååãéµå®ããããšãäžå¯æ¬ ã§ãã
DevOps ãã©ã¯ãã£ã¹ãšç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ããã³ç¶ç¶çããã〠(CI/CD) ãã€ãã©ã€ã³ã®æ¡çšã¯ããã€ã¯ããµãŒãã¹ ã¢ããªã±ãŒã·ã§ã³ã®éçºããã¹ãããããã€ãèªååããã³åçåããããã«éèŠã§ããããã«ãããã³ã©ãã¬ãŒã·ã§ã³ã®æåãä¿é²ãããæåã«ããä»å ¥ãæå°éã«æããããè¿ éãªãã£ãŒããã㯠ã«ãŒããä¿èšŒããããã®çµæããœãããŠã§ã¢ã®é ä¿¡ãå éãããã¢ããªã±ãŒã·ã§ã³ã®å質ãåäžããŸãã
ããã¯ãšã³ããWebãããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®åŒ·åãªno-codeãã©ãããã©ãŒã ã§ããAppMasterã¯ãã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ã«ããããã€ã¯ããµãŒãã¹ã®ãã¹ã ãã©ã¯ãã£ã¹ã®å®è£ ãäŸç€ºããŸããããŒã¿ ã¢ãã«ãããžãã¹ ããžãã¯ãAPI endpointsèŠèŠçã«äœæããããããããã³ããšã³ã ã¢ããªã±ãŒã·ã§ã³ãšã·ãŒã ã¬ã¹ã«çµ±åããããšã«ããã AppMaster䜿çšãããšãéçºè ã¯ã¹ã±ãŒã©ãã«ã§ä¿¡é Œæ§ãé«ããä¿å®å¯èœãªãã€ã¯ããµãŒãã¹ ã¢ããªã±ãŒã·ã§ã³ãæ¯èŒçç°¡åã«æ§ç¯ã§ããŸããããã«ããã®ãã©ãããã©ãŒã ã®ãœãŒã¹ ã³ãŒããå®è¡å¯èœãã€ããªãDocker ã³ã³ããã®çææ©èœãããã³ Postgresql äºæããŒã¿ããŒã¹ã®ãµããŒãã¯ãé«å¹çã§ã³ã¹ãå¹çã®é«ããœãããŠã§ã¢ ãœãªã¥ãŒã·ã§ã³ãæäŸããããã®ãã€ã¯ããµãŒãã¹ã®ãã¹ã ãã©ã¯ãã£ã¹ãæ¡çšãããšãããã©ãããã©ãŒã ã®åãçµã¿ãããã«åŒ·èª¿ããŠããŸãã