ãããŒãããããããã¯ãšã³ããšã³ãžãã¢ã«ãªãã«ã¯ â 2026幎çåŠç¿é åºã¬ã€ã
ããã¯ãšã³ããšã³ãžãã¢ã«ãªããããã ãã©ãäœããå匷ããã°ããã®ïŒããã³ããšã³ããšéã£ãŠç»é¢ããªããããã€ã¡ãŒãžãæ¹§ããªããŠâŠ
ããã¯ãšã³ãã¯ããŠãŒã¶ãŒããèŠããªãè£åŽã®åŠçããå šéšæ åœããä»äºã ããããŒã¿ã®ä¿åããã°ã€ã³åŠçãAPIã®æäŸããµãŒããŒã®ç®¡çâŠããããšã¯å€ããã©ãåŠã¶é çªããééããªããã°çå®ã«ã¹ãããã¢ããã§ãããã ã仿¥ã¯8ã€ã®ã¹ãããã«åããŠè§£èª¬ããã
8ã¹ããããããã®ïŒïŒ ãŸãStep1ã¯äœããå§ããã®ïŒ
Step1ã¯ããã°ã©ãã³ã°èšèªã®ç¿åŸã ããç®å®ã¯1ã2ã¶æã2026幎ã®ããã¯ãšã³ãèšèªã§äººæ°ãªã®ã¯PythonãGoãJavaãNode.jsã®4ã€ãPythonã¯åŠã³ããããŠAI飿ºã«ã匷ããGoã¯é«éã§äžŠè¡åŠçãåŸæãJavaã¯å€§äŒæ¥ã®æ¥åã·ã¹ãã ã§æ ¹åŒ·ããNode.jsã¯JavaScriptã䜿ãããªãããå§ãããããã©ãã1ã€ãéžãã§ã倿°ã»é¢æ°ã»ã¯ã©ã¹ã»éåæåŠçããããŸã§ãã£ããçè§£ããã
èšèªãèŠãããæ¬¡ã¯Step2ã ãïŒããŒã¿ããŒã¹ã£ãŠèããããšã¯ãããã©âŠ
Step2ã¯ããŒã¿ããŒã¹ãšSQLã ããç®å®ã¯1ã¶æãã»ãŒãã¹ãŠã®WebãµãŒãã¹ã¯ããŒã¿ãä¿åããå¿ èŠããããããSQLã¯é¿ããŠéããªããããŸãã¯PostgreSQLãMySQLãéžãã§ãSELECTã»INSERTã»UPDATEã»DELETEã®åºæ¬æäœãèŠããããããŒãã«èšèšãJOINãã€ã³ããã¯ã¹ãŸã§çè§£ã§ãããå®åã¬ãã«ã ã
Step3ã®APIèšèšã£ãŠãããã³ããšã³ããšããŒã¿ãããåãããéšåã®ããšïŒ
ãã®ãšããïŒStep3ã¯APIèšèšã§ãç®å®ã¯1ã¶æãRESTful APIãåºæ¬äžã®åºæ¬ã§ãHTTPã¡ãœããïŒGET/POST/PUT/DELETEïŒã䜿ã£ãŠããŒã¿ãããåãããä»çµã¿ã ããäœè£ãããã°GraphQLãè§Šã£ãŠã¿ããšãããRESTããæ±ºãŸã£ãURLãã§ããŒã¿ãååŸããã®ã«å¯ŸããŠãGraphQLã¯ã欲ããããŒã¿ã ãæå®ããŠååŸãã§ããã®ãç¹åŸŽã ããStep1ã§éžãã èšèªã®ãã¬ãŒã ã¯ãŒã¯ïŒFlaskãGinãSpring BootãExpressãªã©ïŒã䜿ã£ãŠå®éã«APIãäœã£ãŠã¿ãã
Step4ã¯èªèšŒã»èªå¯ã§ãç®å®ã¯2ã3é±éãèªèšŒã¯ãããªãã¯èª°ïŒãã確èªããããšãèªå¯ã¯ãããªãã¯äœãã§ããïŒããæ±ºããããšã ããJWTã¯ããŒã¯ã³ããŒã¹ã®èªèšŒæ¹åŒã§ããã°ã€ã³åŸã«ããŒã¯ã³ãçºè¡ããŠãªã¯ãšã¹ãããšã«æ€èšŒããä»çµã¿ãOAuthã¯ãGoogleã§ãã°ã€ã³ãã®ããã«å€éšãµãŒãã¹ã®èªèšŒãåããä»çµã¿ã ããã»ãã¥ãªãã£ã«çŽçµããããããã¹ã¯ãŒãã®ããã·ã¥åãHTTPSéä¿¡ã®åºç€ãããã§æŒãããŠããã
Step5ã®Dockerã£ãŠãæè¿ã©ãã®æ±äººã«ãæžããŠããæ°ãããïŒ
Step5ã¯Dockerãšã³ã³ããæè¡ã§ãç®å®ã¯2ã3é±éãDockerã¯ãã¢ããªã®å®è¡ç°å¢ããŸãããšããã±ãŒãžã«ãããããŒã«ã ããèªåã®PCã§ããµãŒããŒã§ãåãç°å¢ã§åããããããèªåã®PCã§ã¯åãã®ã«âŠãåé¡ããªããªããã ãDockerfileã®æžãæ¹ãdocker-composeã§è€æ°ã³ã³ããã®ç®¡çãã€ã¡ãŒãžã®ãã«ããšããã·ã¥ãŸã§ã§ããã°ååã ã
Step6ã®ã¯ã©ãŠãã¯AWSãå®çªã£ãŠèããã©ãå šéšèŠããã®å€§å€ãããªãâŠïŒ
AWSã¯200以äžã®ãµãŒãã¹ããããã©ãæåã¯ã»ãã®äžéšã§å€§äžå€«ãç®å®ã¯1ã¶æããŸãEC2ïŒä»®æ³ãµãŒããŒïŒãRDSïŒãããŒãžãDBïŒãS3ïŒã¹ãã¬ãŒãžïŒãIAMïŒæš©é管çïŒã®4ã€ãæŒãããããæ £ããŠãããLambdaïŒãµãŒããŒã¬ã¹ïŒãECSïŒã³ã³ããå®è¡ïŒã«ãæãåºãããšããã2026幎ã¯AzureãGoogle Cloudã䌞ã³ãŠããã©ãæ±äººæ°ã§ã¯ãŸã AWSãå§åçã ã
Step7ã®CI/CDã£ãŠãèªåã§ãã¹ãããããããã€ãããããä»çµã¿ã ããïŒ
ããïŒStep7ã¯CI/CDãã€ãã©ã€ã³ã®æ§ç¯ã§ãç®å®ã¯2ã3é±éãCIã¯ãã³ãŒãã倿Žãããã³ã«èªåã§ãã¹ãã»ãã«ããããä»çµã¿ãCDã¯ããã¹ãã«éã£ããèªåã§ãããã€ãããä»çµã¿ã ããGitHub Actionsãäžçªå§ãããããŠãããããããã·ã¥ãããèªåãã¹ã â Dockerã€ã¡ãŒãžãã«ã â ã¹ããŒãžã³ã°ç°å¢ã«ãããã€ããšããæµããçµããããã«ãªãã°äžäººåã ã
æåŸã®Step8ã¯ç£èŠã»ãã°ã»ã»ãã¥ãªãã£âŠãããå šéšããã®ïŒ
Step8ã¯ãµãŒãã¹ããéçšãããããã®ã¹ãã«ã§ãç®å®ã¯1ã¶æãæ¬çªãµãŒãã¹ã¯åãããŠçµãããããªããŠããšã©ãŒç£èŠã»ãã°åéã»ã»ãã¥ãªãã£å¯Ÿçãå¿ é ãªãã ãDatadogãGrafanaã§ã¡ããªã¯ã¹ç£èŠãELKã¹ã¿ãã¯ãCloudWatch Logsã§ãã°ç®¡çãOWASPããã10ã§ã»ãã¥ãªãã£ã®åºç€ãåŠãŒããå®ã¯ããã©ã³ãšã³ãžãã¢ã§ããã®Step8ãçãã«ããŠã人ã¯å€ããŠãããããã£ããã§ãããšåžå ŽäŸ¡å€ãã°ããšäžããã
å šéšã§8ã¹ããããæéã«ãããšå幎ãããããªïŒããŒããã©ãªãªã¯ã©ãããã°ããïŒ
éäžããŠåãçµãã°6ã9ã¶æããããç®å®ã ããããŒããã©ãªãªãšããŠã¯ãStep1ã4ã§åŠãã æè¡ã䜿ã£ããCRUDæ©èœä»ãã®Webã¢ããªãã1ã€äœã£ãŠãStep5ã7ã§Dockerã³ã³ããã«ããŠCI/CDã§ã¯ã©ãŠãã«ãããã€ããã®ããã¹ããGitHubã®READMEã«ã¢ãŒããã¯ãã£å³ãèŒããŠãäœ¿çšæè¡ãšãã®éžå®çç±ã説æã§ããã°ã颿¥ã§ããªã奜å°è±¡ã ãã倧äºãªã®ã¯ãå šéšå®ç§ã«ããŠããå¿åããããªããŠãStep4ããããŸã§çµãã£ããç©æ¥µçã«æ±äººã«å¿åããããšã ã