ãµãŒããŒã¢ããªã±ãŒã·ã§ã³éçºã«ããã£ãŠå¿ èŠãªç¥èã¯å¹ åºãååšããŸãã ãããç¿åŸããããã®æ å ±ã¯Webãæžç±ã«å€ããããŸãããååŠè ã«ãšã£ãŠäœããåŠã¶ã¹ããã¯é£ããåé¡ã§ãã æ¬ã»ãã·ã§ã³ã¯ããµãŒããŒã¢ããªã±ãŒã·ã§ã³éçºåå¿è ã«åããå ¥éãæèããŠäœæããŸããã
ãããã¯ãŒã¯ã«é¢ä¿ããæè¡ã¯ãIaaSïŒInfrascructure as a ServiceïŒã®ç»å Žãã¯ããã³ã³ããæè¡ã®äžè¬åãªã©ãè¿å¹Žå€é©ã®æãè¿ããŠããŸãã ãããã®æè¡ããæã ãæäŸãããµãŒãã¹ãéããŠããã«ãŠãŒã¶ãŒã®äŸ¡å€ã«ç¹ããã®ããçè§£ããå¿ èŠããããŸãã ãã®ããã«ã¯ããããã玹ä»ãããããªåºæ¬çãªç¥èã®ç¿åŸãå¿ èŠã«ãªããŸãã
ãããã§ãã·ã§ãã«ãªä»äºãç¶ããããã«ã¯ãç¥èãçµéšã®ç©ã¿éããå¿ ãå¿ èŠã«ãªããŸãã æ¯éãæ¬ã»ãã·ã§ã³ãåããããšã«èªåã§èª¿ã¹ãŠãæãåãããŠã¿ãŠãã ããã
æ¬ã»ãã·ã§ã³ã¯ä»¥äžã®æ§æã§é²ããŸãã
- ãããã¯ãŒã¯ãµãŒããŒã«ã€ããŠ
- ãããã¯ãŒã¯ãããã³ã«ã«ã€ããŠ
- ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ãŒã«ã€ããŠ
ãããã¯ãŒã¯ãµãŒããŒãšã¯ãªã«ãã説æããŸãã Linux OSãLinuxã«ãŒãã«ãCPUãã¡ã¢ãªããã£ã¹ã¯ã¹ãã¬ãŒãžãªã©ãã©ã®ãããªãã®ãããŸããIPã¢ãã¬ã¹ãããŒããªã©ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã¹ã«ã€ããŠãç°¡åã«ç޹ä»ããŸãã Linux OSã§ã¯ããã»ã¹ãšããåäœã§ããã°ã©ã ãåäœããŸãã ããã»ã¹ããããã¯ãŒã¯ãµãŒããŒäžã§ã©ã®ããã«ç®¡çãããŠãããããŸããã®ç¹åŸŽã«ã€ããŠç޹ä»ããŸãã VMãã³ã³ããã«ã€ããŠãç°¡åã«ç޹ä»ããŸãã
ä»»æã®ç«¯æ«ãšãããã¯ãŒã¯ãµãŒããŒéã§ããŒã¿éä¿¡ãè¡ãå ŽåãããŒã¿ãã©ã®ããã«éããã®ä»æ§ãå¿ èŠã«ãªããŸãã ãã®ä»æ§ã®ããšããããã³ã«ãšåŒã³ãŸãã ããã§ã¯ã代衚çãªãããã¯ãŒã¯ãããã³ã«ã§ããICMPãTCPãUDPã玹ä»ããTCPãããŒã¹ãšããŠçå®ãããŠããHTTPã«ã€ããŠã玹ä»ããŸãã ãŸããè¿å¹Žäžè¬çã«äœ¿ãããŠããWebSocketã«ã€ããŠãç°¡åã«ç޹ä»ããŸãã
éåžžããããã¯ãŒã¯ãµãŒããŒã®ã·ã¹ãã ã¯è€æ°ã®ãµãŒããŒããæ§æãããŸãã ãããã¯ãŒã¯ãµãŒããŒãšèšã£ãŠã圹å²ã¯æ§ã ã§ããããããã©ã®ããã«æ§æããããLAMPãšåŒã°ããäžè¬çãªäŸã玹ä»ããŸãã ãŸããå€§èŠæš¡ãªãµãŒãã¹ãæ±ããåé¡ãšããã®è§£æ±ºæ¹æ³ã®ïŒã€ã§ãããã€ã¯ããµãŒãã¹ã«ã€ããŠãã話ããŸãã
- ãããã¯ãŒã¯ãµãŒããŒã«ã€ããŠ
- ã³ã³ãã¥ãŒã¿ãŒ
- CPU
- ã¡ã¢ãª
- ãã£ã¹ã¯ã¹ãã¬ãŒãž
- ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹
- IPã¢ãã¬ã¹
- ããŒã
- Linux OSãšLinuxã«ãŒãã«
- ã·ã¹ãã ã³ãŒã«
- ããã»ã¹
- ã¹ã¬ãã
- OSã¯ããã°ã©ã ãã©ã®ããã«æ±ãã
- ã¹ã¿ãã¯ã¡ã¢ãªãšããŒãã¡ã¢ãª
- VMã«ã€ããŠ
- ã³ã³ããã«ã€ããŠ
- ã³ã³ãã¥ãŒã¿ãŒ
- ãããã¯ãŒã¯ãããã³ã«ã«ã€ããŠ
- æšæºå ¥åãæšæºåºåãæšæºãšã©ãŒåºå
- ãããã¯ãŒã¯ãœã±ãã
- OSIåç §ã¢ãã«
- 代衚çãªãããã¯ãŒã¯ãããã³ã«
- ICMP
- TCP
- UDP
- HTTP
- WebSocketãšã¯
- ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ãŒã«ã€ããŠ
- LAMPæ§æ
- ããŒããã©ã³ãµãŒ
- WebãµãŒããŒ
- DBãµãŒããŒ
- ãã£ãã·ã¥ãµãŒããŒ
- å€§èŠæš¡ãµãŒãã¹ã«ããã課é¡ãšãã€ã¯ããµãŒãã¹
- LAMPæ§æ
ãããã¯ãŒã¯ãµãŒããŒãšã¯ãä»»æã®ç«¯æ«ã«å¯ŸããŠããŒã¿ãéåä¿¡åºæ¥ãã·ã¹ãã ã®ããšãæããŸãã ãããã¯ãŒã¯ãµãŒããŒã¯ã³ã³ãã¥ãŒã¿ãŒã«ãã£ãŠå®çŸãããŠãããæã ãæ®æ®µå©çšããŠããããŒãœãã«ã³ã³ãã¥ãŒã¿ãŒãšå éšçã«ã»ãšãã©éãã¯ãããŸããã
ã³ã³ãã¥ãŒã¿ãŒã¯ããã¶ãŒããŒããå§ããšããæ§ã ãªããŒããŠã§ã¢ããæ§æãããŸãã ããã§ã¯ãCPUãšã¡ã¢ãªããã£ã¹ã¯ã¹ãã¬ãŒãžã«ã€ããŠç°¡åã«èª¬æããŸãã
CPU 㯠Central Processing Unit ã®ç¥ç§°ã§ãã ã³ã³ãã¥ãŒã¿ãŒå šäœã®å¶åŸ¡ãæŒç®ãã¡ã¢ãªãªã©ã®èšæ¶è£ 眮ãåšèŸºæ©åšã«å¯Ÿããã€ã³ã¿ãŒãã§ãŒã¹ãªã©ããæ§æãããŸãã CPU ã«ã¯ã¯ããã¯åšæ³¢æ°ãšåŒã°ããåäœããããŸãã1ã¯ããã¯ã§åŠçåºæ¥ãå 容ã¯CPUã®èšèšã«ãã£ãŠç°ãªãã1ã¯ããã¯ã§è€æ°ã®æ©æ¢°èªåœä»€ïŒã¢ã»ã³ããªå®è¡ïŒãå¯èœãªãã®ãããããã§ãã ã¯ããã¯åšæ³¢æ°ã¯GHzã®åäœã§è¡šããäŸãã°1GHzã®CPUã¯1ç§éã«10åã¯ããã¯ãšããæå³ã«ãªããŸãã
[1ç§éã«10åã¯ããã¯] æšä»ã®ã³ã³ãã¥ãŒã¿ãŒã¯æ°GHzã®CPUãåããŠããŸãããå€ãã®æäœã¯1ã¯ããã¯ã§ã¯å®çµããããšãäžå¯èœãªãããçŸåšã®ãšããããªã髿§èœãªãã¹ã¯ãããã³ã³ãã¥ãŒã¿ãŒã§ãã£ãŠãæ¯ç§10åå以äžã®æäœã¯åºæ¥ãªããšãããŠããŸãã Googleã«ã¯ãæ€çŽ¢å¯Ÿè±¡ã®WebããŒãžã85åã»ã©ããããã§ãã ããä»®ã«ãæ€çŽ¢åŠçã1æäœãšããå Žåæéã§ã8.5ç§ãããããšã«ãªããŸããããã§ã¯äœ¿ãç©ã«ãªããŸããã ãã®äŸã瀺åããã®ã¯ãã³ã³ãã¥ãŒã¿ãŒã髿§èœã«ãªã£ããšããŠããããã°ã©ãã³ã°ã«ãããããŒã¿æ§é ãšã¢ã«ãŽãªãºã ã¯ãŠãŒã¶ãŒã®äŸ¡å€ã«å€§ãã圱é¿ãããšããããšã§ãã
ã¡ã¢ãªã¯ã³ã³ãã¥ãŒã¿ãŒã®èšæ¶è£ 眮ã§ãã ã¡ã¢ãªã«ã¯CPUãããŒãããããã°ã©ã ããæŒç®ã®éäžçµæãã®ä»ãä¿åãããŸãããŸããããã°ã©ã ãããå©çšããããšãå¯èœã§ãã åãèšæ¶è£ 眮ã§ãããã£ã¹ã¯ã¹ãã¬ãŒãžã«æ¯ã¹ãŠãããŒã¿ã¯é»æºãèœãšããšæ¶ããŠããŸããŸãããèªã¿åºãæžã蟌ã¿ã®é床ãé«éã§ãããšããç¹åŸŽããããŸãã ã©ã³ãã ã¢ã¯ã»ã¹ã®å ŽåãHDDãšã¡ã¢ãªã§ã¯10,000åãSSDãšã¡ã¢ãªã§ã1,000åçšåºŠã®å·®ããããšèšãããŠããŸãã
ãã£ã¹ã¯ã¹ãã¬ãŒãžã¯ã³ã³ãã¥ãŒã¿ãŒã®èšæ¶è£ 眮ã§ãã ãã¡ã€ã«ãšããåäœã§ããŒã¿ãä¿åãã黿ºãèœãšããŠãããŒã¿ã¯ä¿åããããŸãŸãšããç¹åŸŽããããŸãã ãã£ã¹ã¯ã¹ãã¬ãŒãžã«ã¯ããã€ãçš®é¡ããããŸãããæè¿ã®ããŒãœãã«ã³ã³ãã¥ãŒã¿ãŒã§ããã°SSDãäžè¬çã§ãã ãããã¯ãŒã¯ãµãŒããŒã«ãããŠã¯ãã³ã¹ããå®ãããHDDã䜿çšããããšããããŸãã
ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ãšã¯ãã³ã³ãã¥ãŒã¿ãŒãæ§æããããŒããŠã§ã¢ã®ïŒã€ã§ãNICãšç¥ãããŸãã ïŒã€ã®ã³ã³ãã¥ãŒã¿ãŒã«ïŒã€ä»¥äžçµã¿èŸŒãŸããããšããããŸãã ã³ã³ãã¥ãŒã¿ãŒã¯NICãéããŠãããã¯ãŒã¯ããå±ããããŒã¿ãåãåããŸããèªå® ã®ãã¹ããã€ã¡ãŒãžãããšãããããããããããŸããã NICã«ã¯IPã¢ãã¬ã¹ãšåŒã°ããäœæã®ãããªãã®ãèšå®ãããŸãããŸããIPã¢ãã¬ã¹ãšã¯å¥ã«ïŒã€ã®ã¢ãã¬ã¹ã§è€æ°ã®ãããã³ã«ã«ããéä¿¡ãå®çŸããããã«ããŒããšããæŠå¿µããããŸãã
NICããšã«ïŒã€èšå®ãããäœæãIPã¢ãã¬ã¹ãšåŒã³ãŸãã çŸåšãIPã¢ãã¬ã¹ã«ã¯IPv4ãšIPv6ãšããïŒã€ã®ããŒãžã§ã³ãååšããŸããIPv6ã«ã€ããŠã¯è©³ãããªãã®ã§å²æããŸãã IPv4ã®IPã¢ãã¬ã¹ã¯ã0ã255ã®æ°åïŒã€ã®çµã¿åããã§æ§æãããŸããïŒäŸ: 192.168.11.240ïŒ
IPã¢ãã¬ã¹ã«ã¯ãããªãã¯IPãšãã©ã€ããŒãIPã®ïŒçš®é¡ãååšããŸãã ãããªãã¯IPã¯ãIaaSãªã©ãããéãæ¯æãããšã§å©çšå¯èœãªã°ããŒãã«ãŠããŒã¯ãªIPã¢ãã¬ã¹ã§ãã ååŸãããããªãã¯IPã¯ããåå.com ãªã©ã§è²©å£²ãããŠãããã¡ã€ã³ã«çŽã¥ããŠå©çšããã®ãäžè¬çã§ãã ãã©ã€ããŒãIPã¯ããã©ã€ããŒããªãããã¯ãŒã¯ç©ºéå ã§å©çšããIPã¢ãã¬ã¹ã§ãã å çšãèšã£ãéããIPã¢ãã¬ã¹ã¯0ã255ã®æ°åïŒã€ã®çµã¿åããã§ããããšãããçºè¡åºæ¥ãæ°ã«å¶éããããŸãã ããããæšä»ã¯æã ãææããã¹ããŒããã©ã³ãå«ããŠå€§éã®ç«¯æ«ããããã¯ãŒã¯ã«æ¥ç¶åºæ¥ãå¿ èŠããããŸãã ãã®ããããããã¯ãŒã¯ç©ºéãããªãŒç¶ã«æ§æããããšã§ãã©ã€ããŒããªãããã¯ãŒã¯ç©ºéãäœãåºãããã®å éšã§ã®ã¿å©çšå¯èœãªIPã¢ãã¬ã¹ãå®çŸ©ããããšãåºæ¥ãŸãã 瀟å ãããã¯ãŒã¯ãªã©ãæããäŸã§ãã
NICã«ã¯ïŒã®IPã¢ãã¬ã¹ããèšå®ãåºæ¥ãŸããã ãã®ãŸãŸã§ã¯ãïŒã€ã®NICã§ïŒã€ã®é信圢åŒã§ããéä¿¡ãåºæ¥ãªãããšã«ãªããŸãã ãã®ããã«ãNICã«ã¯ããŒããšããæŠå¿µããããŸããããŒãã¯1ã65535ãŸã§ãããŸãã ããŒãã«ã¯ well known port ãšåŒã°ããäºçŽçªå·ãããã1ã1024ãŸã§ã¯äœ¿ãããšãåºæ¥ãŸããã ãŸããäžè¬çã«åºã䜿ãããŠãããœãããŠã§ã¢ãå©çšããããŒããç¥ã£ãŠããããšã倧äºã§ãã äŸãã°ãHTTPã¯80ãHTTPSã¯443ãMySQLã¯3306ãMemcachedã¯11211ãªã©ã§ãã èªäœã®ãµãŒããŒããããã®ããŒãçªå·ãšéè€ããªãããã«å®è£ ããŠãããšãã©ãã«ãå°ãªãã§ãããã
ãããã¯ãŒã¯ãµãŒããŒãšããŠåºã䜿ãããŠããOSã«LinuxããããŸãã OSã«ã¯ã«ãŒãã«ãšåŒã°ããOSãšããŒããŠã§ã¢ãã©ã€ããŒã®ã€ã³ã¿ãŒãã§ãŒã¹å±€ããããŸãã OSããã«ãŒãã«ã®æ©èœãåŒã³åºãããšãã·ã¹ãã ã³ãŒã«ãšåŒã³ãŸãã OSã¯ããã°ã©ã ãããã»ã¹ãšããåäœã§ç®¡çããŠããŸãã ãããã«ã€ããŠç°¡åã«èª¬æããŸãã
OSããã«ãŒãã«ã®æ©èœãåŒã³åºãããšãã·ã¹ãã ã³ãŒã«ãšåŒã³ãŸãã ã·ã¹ãã ã³ãŒã«ã«ã¯300以äžã®çš®é¡ããããŸãã äŸãã°ãã¡ã€ã«é¢é£ã§ã¯openãreadãwriteãªã©ããããŸããä»ã«ããããã»ã¹ãçæããforkãexecãªã©ããããŸãã éåžžãã·ã¹ãã ã³ãŒã«ã¯ããŒããŠã§ã¢é¢ä¿ã®æäœãå€ãããé ããšãããŠããŸãã
ããã»ã¹ãšã¯ãç°¡åã«èšããšèµ·åäžã®ããã°ã©ã ã®ããšã§ãã ïŒã€ã®ããã»ã¹ã¯è€æ°ã®åããã»ã¹ãçæããå ŽåããããŸãã ããã¯ãå éšçã«ã¯ããã°ã©ã å ã§forkã·ã¹ãã ã³ãŒã«ãåŒã³åºãããšãšå矩ã§ãã OSã¯ãã¹ã±ãžã¥ãŒã©ãŒãšåŒã°ããå¶åŸ¡ã·ã¹ãã ãå©çšããŠè€æ°ã®ããã»ã¹ã䞊åã«å®è¡ã»ç®¡çããŠããŸãã
[䞊åãšäžŠè¡] 䞊åïŒconcurrentïŒãšäžŠè¡ïŒparallelïŒã«ã¯éãããããŸãã 䞊åãšã¯ïŒäººãè€æ°ã®ä»äºãããªãç¶æ ã§ãå¹³è¡ãšã¯ïŒäººãè€æ°ã®ä»äºãããªãç¶æ ã§ãã OSã¯éœåºŠåŠçãè¡ãããã»ã¹ãåãæ¿ããŠæ¬äŒŒçã«åæäžŠè¡ãå®çŸããŠããŸãã ãã®ããã»ã¹ãåãæ¿ããæäœã®ããšãã³ã³ããã¹ãã¹ã€ãããšåŒã³ãŸãã
ã¹ã¬ãããšã¯CPUå©çšã®åäœã§ããããã»ã¹ã«ã¯æäœïŒã€ã®ã¹ã¬ããããããŸãã ã¹ã¬ããã«ã¯ãŠãŒã¶ãŒã¹ã¬ãããšã«ãŒãã«ã¹ã¬ããã®ïŒã€ã®çš®é¡ããããŸãã åºæ¬çã«ã¯ïŒã€ã®CPUãããç¬éã«å®è¡ããŠããã®ã¯å²ã蟌ã¿åŠçãªã©ãå«ããŠïŒããã»ã¹ïŒã¹ã¬ããã§ãã
ãŠãŒã¶ãŒã¹ã¬ããã¯ããã®åæ¿ãããã»ã¹å ã§ã©ã€ãã©ãªã«ããã¹ã±ãžã¥ãŒã©ãŒãè¡ããŸãã è€æ°ã®ãŠãŒã¶ãŒã¹ã¬ããã¯äºãã«ã¡ã¢ãªç©ºéãå ±æããŠããŸãããã®ãããã¡ã¢ãªå¹çãè¯ãåãæ¿ããéããšããç¹åŸŽããããŸãã ãã ãããããŸã§ããã»ã¹å ã§ã®ã¹ã¬ããã£ã³ã°åŠçãšãªãã®ã§ãã«ãããã»ããµã«ãã䞊è¡åŠçã®æ©æµãåããããŸããã ãŸããïŒã€ã®ã¹ã¬ãããã·ã¹ãã ã³ãŒã«å®è¡äžã¯ä»ã®å šã¹ã¬ãããåŸ ã¡ç¶æ ã«ãªããŸãã ãªã®ã§ããŠãŒã¶ãŒã¹ã¬ããã¯ããã°ã©ãã³ã°ææ³ã®ïŒã€ãšããŠæå¹ãªã ãã§ããã©ãŒãã³ã¹ã«å¯äžãããã®ã§ã¯ãããŸããã
ã«ãŒãã«ã¹ã¬ããã¯ããã®åæ¿ãã«ãŒãã«ãè¡ããŸãããã®ããããã«ãããã»ããµã«ãã䞊è¡åŠçãå¯èœãªã¹ã¬ããã§ãã ããããã«ãŒãã«ã¹ã¬ããã®åãæ¿ãã¯ããã»ã¹ã®ãããšéããããŸããªããããåãæ¿ãã³ã¹ãã¯ããã»ã¹äžŠã¿ãšãªãããã§ãã ã«ãŒãã«ã¹ã¬ããããŠãŒã¶ãŒã¹ã¬ããåæ§ã«äºãã«ããã»ã¹å ã®ã¡ã¢ãªãå ±æããŠããŠãŸããããã«ãããã»ããµã«ãã䞊è¡åŠçãæèããå¿ èŠããããããã¡ã¢ãªã¢ã¯ã»ã¹ãé©åã«æä»å¶åŸ¡ããå¿ èŠããããŸãã
ã¹ã¬ããã«ã¯ã³ã«ãŒãã³ãšåŒã°ãã軜éã¹ã¬ãããªã©ä»ã«ãããã€ãçš®é¡ããããŸãã岿ããŸãã
OSã¯ãæã ãæžããããã°ã©ã ããã®ãŸãŸå®è¡ããããšãåºæ¥ãŸããã æã ãæžããããã°ã©ã ã¯ãOSãå®è¡åºæ¥ã圢åŒãžå€æããå¿ èŠããããŸãã äŸãã°Cèšèªã¯ãã³ã³ãã€ã©ãšãªã³ã«ãšåŒã°ããããŒã«ã䜿çšããŠOSãå®è¡åºæ¥ã圢åŒã«å€æåºæ¥ãèšèªã§ãã ããã°ã©ã ãOSãçŽæ¥å®è¡åºæ¥ã圢åŒã«å€æåºæ¥ãèšèªãããã€ãã£ãã§åäœããèšèªããšèšã£ããããŸãã äžæ¹ãJavaã¯ã³ã³ãã€ã«ãããããã®ã®OSãçŽæ¥å®è¡åºæ¥ã圢åŒã«å€æãããããã§ã¯ãããŸãããä»åã¯ãã€ãã£ãã§åäœããããã°ã©ã ã«é¢ããŠã®è©±ã«ãªããŸãã
OSã¯ããã°ã©ã ãèµ·åãããšããã»ã¹ãäœæããŸãã ããã»ã¹ã«ã¯èŠå®ã®ãµã€ãºã®ã¡ã¢ãªãå²ãåœãŠãããŸãã èµ·åãããããã»ã¹ã¯OSã®ã¹ã±ãžã¥ãŒã©ãŒã«ç®¡çãããããã°ã©ã ãçµäºãããŸã§åžžé§ããŸãã
ããã»ã¹ãèµ·åæã«å²ãåœãŠããããã¡ã¢ãªãã¹ã¿ãã¯ã¡ã¢ãªãšåŒã³ãŸãã ãã®ãµã€ãºã¯ç°å¢ã«ãã£ãŠæ§ã ã§ããã4KBã8KBãå€ãããã§ãããã㯠ulimit -s ãšããã³ãã³ãã§ç¢ºèªãåºæ¥ãŸãã ã¹ã¿ãã¯ã¡ã¢ãªã¯ãã®ããã»ã¹å°çšã®ã¡ã¢ãªç©ºéã§ãããæ¢ã«ç¢ºä¿æžã¿ã®ç¶æ ãªã®ã§èªã¿æžããéããšããç¹åŸŽããããŸãã ãŸããããã°ã©ã çµäºæã«èªåçã«OSã«ãã£ãŠè§£æŸããããããªãŒã¯ã®å¿é ããããŸããã ã¹ã¿ãã¯ã¡ã¢ãªã¯ããã»ã¹å°çšãšæžããŸãããã芪ããã»ã¹ã®ã¹ã¿ãã¯ã¡ã¢ãªã¯åããã»ã¹ã«å ±æãããŸãã å察ã«ãåããã»ã¹ã®ã¹ã¿ãã¯ã¡ã¢ãªã¯èŠªããã»ã¹ã«å ±æãããŸããã ã¹ã¿ãã¯ã¡ã¢ãªã¯ã颿°ã³ãŒã«ïŒã³ãŒã«ã¹ã¿ãã¯ïŒãããŒã«ã«å€æ°ãªã©ã®ä¿åã«å©çšãããŸãã ã¹ã¿ãã¯ã¡ã¢ãªãæ¯æžããããšãã¹ã¿ãã¯ãªãŒããŒãããŒãšåŒã³ãŸããã¹ã¿ãã¯ãªãŒããŒãããŒãçºçãããšãããã»ã¹ã¯SEGVã·ã°ãã«ãåãåã匷å¶çã«çµäºããŸãã ååž°é¢æ°ãç¡éã«åŒã³åºããªã©ãããšç°¡åã«åçŸãããããšãåºæ¥ãŸãã
ããŒãã¡ã¢ãªã¯ããã°ã©ã ãåçã«ç¢ºä¿ããã¡ã¢ãªé åã®ããšã§ãã ããŒãã¡ã¢ãªã¯ãå ã ããã»ã¹ã«å²ãåœãŠãããŠããªãã¡ã¢ãªé åãã確ä¿ããã®ã§ã¹ã¿ãã¯ã¡ã¢ãªã«æ¯ã¹ãŠéåžžã«é ããšããç¹åŸŽããããŸãã çç±ã¯ãOSã¯è€æ°ã®ããã»ã¹ã管çããŠããã®ã§ãããã»ã¹ãå ±æã¡ã¢ãªã確ä¿ããããã«ã¯é«åºŠãªæä»å¶åŸ¡ãå¿ èŠã«ãªãããã§ãã ãŸããããã°ã©ã ã確ä¿ããã¡ã¢ãªã¯ããã»ã¹ãçµäºããŠãè§£æŸãããŸãããããã°ã©ã ã®å®è£ è ãæç€ºçã«è§£æŸåŠçãå®è£ ããªããšã¡ã¢ãªãªãŒã¯ãçºçããŸãã
VM㯠Virtual Machine ã®ç¥ã§ãã VMãšã¯ãOSã®ããã»ã¹ãšããŠä»®æ³çã«å¥ã®OSãåããæè¡ã§ããOSãšãã¥ã¬ãŒã¿ãŒãšããã°ã€ã¡ãŒãžãããããããããŸããã VMãèµ·åããOSããã¹ãOSãVMãšããŠèµ·åããOSãã²ã¹ãOSãšåŒã³ãŸãã WindowsãMacã§Linuxãåäœãããããšãå¯èœã§ãæ¬çªç°å¢ã«è¿ãåäœç°å¢ãããŒã«ã«ã«æ§ç¯åºæ¥ããšãã£ãã¡ãªããããVMã忢ããããšãªãCPUãã¡ã¢ãªã®å¢æžãè¡ãããšãå¯èœãªããããã€ã¹ããã¯ãªã³ã³ãã¥ãŒã¿ãŒäžã®OSã«è€æ°ã®VMãèµ·åããŠã·ã¹ãã ãæ§ç¯ããããšãå¯èœã«ãªã£ããããŸãã ãã ããVMã¯CPUãã¡ã¢ãªãªã©ã®ããŒããŠã§ã¢ããšãã¥ã¬ãŒããããããªãŒããŒãããã¯å€§ãããªããŸããèµ·åãé ãã§ãã
ã³ã³ããã¯Linuxããã»ã¹ãOSäžã§éé¢ããOSã®æ©èœãå ±æãã€ã€ç¬ç«ãã空éãä»®æ³çã«å®çŸããæè¡ã§ãã æ§ã ãªã³ã³ããå®è£ ããããŸãããæãæåãªã®ã¯ Docker ã§ãããã ãã¹ãOSãLinuxã§ã³ã³ãããLinuxã§ããå Žåã¯ãã€ãã£ãã«åäœããã®ã§èµ·åãé«éã§ãã·ã³ãªãœãŒã¹ãå¹çè¯ã䜿ãäºãã§ããŸãã ãã¹ãOSãšã³ã³ãããéãå Žåã¯ãã€ããŒãã€ã¶ãŒãšããä»®æ³åæè¡ã«ãã£ãŠãã®å·®åãåžåããŠããããã§ãã ã³ã³ããã¯èµ·åãéããããè² è·ã«å¿ããŠåçã«ã¹ã±ãŒã«ã¢ãããã¹ã±ãŒã«ã¢ãŠãããããããªçšéããããã°ã©ã ã®å®è¡ç°å¢ãã®ãã®ãããã±ãŒãžã³ã°åºæ¥ãäžã«è»œéãã©ã®ç°å¢ã«ã€ããŠãåãããã«åäœãããŒã¿ãã«ã§ãããšããç¹ãç¹åŸŽã§ãã
ãããã¯ãŒã¯ãããã³ã«ãšã¯éä¿¡ã®ä»æ§ã§ãã ã¡ãã»ãŒãžãã©ã®ãããªããŒã¿åãªã®ãããŸããã©ã®ãããªã¹ãããã§ç«¯æ«åå£«ãæ¥ç¶ããã®ããªã©ãéä¿¡ã«ã¯ä»æ§ããªããšãããšããåºæ¥ãŸããã ãŸããLinuxã®ããŒã¿ã®å ¥åºåã«ã€ããŠç޹ä»ããŸãã æ¬¡ã«ããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ã«å¯Ÿããã¢ããªã±ãŒã·ã§ã³åŽã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ãããœã±ããã«ã€ããŠç޹ä»ããŸãã æåŸã«ã代衚çãªãããã¯ãŒã¯ãããã³ã«ã玹ä»ããŸãã
Linux OSäžã§åäœããããã°ã©ã ã¯ããã»ã¹ãšããåäœã§ç®¡çãããŸãã ããã»ã¹ã«ã¯ãå€éšã®ããã»ã¹ãã€ã³ã¿ãŒãã§ãŒã¹ãšããŒã¿ããããšãããããã«ãæšæºå ¥åãæšæºåºåãæšæºãšã©ãŒåºåãšããïŒã€ã®æ©æ§ããããŸãã ããã»ã¹ã¯ã¡ã¢ãªç©ºéãç¬ç«ããŠãããããä»ã®ããã»ã¹ã«å²ãåœãŠãããŠããã¡ã¢ãªã«ã¢ã¯ã»ã¹ããããšã¯åºæ¥ãŸããããã®ããããããïŒã€ã®æ©æ§ã䜿ã£ãŠããŒã¿ããããšãããŸãã ããã»ã¹ã«ããŒã¿ãæž¡ãã«ã¯ã察象ã®ããã»ã¹ã®æšæºå ¥åã«å¯ŸããŠããŒã¿ãæžã蟌ã¿ãŸãã ããã»ã¹ããããŒã¿ãåºåããã«ã¯ãæšæºåºåãžæžã蟌ã¿ãŸããããã»ã¹å ã§çºçãããšã©ãŒãåºåããããã«ã¯ãæšæºãšã©ãŒåºåãžãšæžã蟌ã¿ãŸãã 以äžã®äŸãèŠãªããäœæããŠã¿ãŸãããã
ãŸãã¿ãŒããã«ãéããŸããã¿ãŒããã«ãOSããèŠããïŒã€ã®ããã»ã¹ã§ãã ã¿ãŒããã«ãèµ·åãããšãã³ãã³ãå ¥ååŸ ã¡ã®ç¶æ ã«ãªã£ãŠããã¯ãã§ããããã¯ãã¿ãŒããã«ãæšæºå ¥åã«ããŒã¿ãå ¥åããçµãããŸã§åŸ ã€ãšããã°ã©ãã³ã°ãããŠããããã§ãã ããã§ã¯ã以äžã®ã³ãã³ããã¿ã€ããreturnããŒãå ¥åããŠã¿ãŸãããã
% ps aux
psã³ãã³ãã¯çŸåšå®è¡äžã®ããã»ã¹äžèŠ§ãæšæºåºåã«æžã蟌ããšããã³ãã³ãã§ãã å®è¡ãããšãç»é¢ã«å®è¡äžã®ããã»ã¹äžèЧã衚瀺ãããã¯ãã§ããããã¯ãpsã³ãã³ãã«ããããã»ã¹ãèµ·åãå®è¡äžã®ããã»ã¹äžèЧãååŸããŠæšæºåºåã«æžã蟌ãã§ãããšããããšã§ãã ã¿ãŒããã«ã¯ãæšæºå ¥åã§åãåã£ãã³ãã³ãïŒpsïŒãå®è¡ãããã®æšæºåºåãç»é¢ã«åºåãããšããã¢ããªã±ãŒã·ã§ã³ã§ããã€ãŸããããããã»ã¹ééä¿¡ãšããããšã«ãªããŸãã ããå°ãè€éãªäŸã§ããã»ã¹ééä¿¡ãäœæããŠã¿ãŸãããã
% ps aux | grep nginx
| ã¯ãã€ããšåŒã°ãã巊蟺ã®ã³ãã³ãã®æšæºåºåãå³èŸºã®ã³ãã³ãã®æšæºå
¥åãžç¹ããšããã³ãã³ãã§ãã
äžèšãå®è¡ãããšãããã»ã¹äžèЧãã nginx ãšããæååãå«ãŸããè¡ã®ã¿ãã¿ãŒããã«ã«è¡šç€ºãããŸãã
grepã³ãã³ãã¯ãæšæºå
¥åã«æžã蟌ãŸããæååããåŒæ°ã«æž¡ãããæååãšãããããè¡ãæšæºåºåã«æžã蟌ããšããã³ãã³ãã§ãã
ãŸããLinuxOSã«ã¯ãªãã€ã¬ã¯ããšãã䟿å©ãªã³ãã³ãããããŸãã 以äžã®ã³ãã³ããå®è¡ããŠã¿ãŠãã ããã
% ps aux | grep nginx > file
> ã¯ãªãã€ã¬ã¯ããšåŒã°ããå·ŠèŸºã®æšæºåºåãå³èŸºã®ãã¡ã€ã«ã«æžã蟌ããšããã³ãã³ãã§ãã
psã³ãã³ãã®æšæºåºåããnginxãšããæååãå«ãŸããè¡ãfileãã¡ã€ã«ã«ä¿åãããŠããã¯ãã§ãã
å®ã¯ãããã¯ãããã¯ãŒã¯ãä»ããå Žåã«ãããŠãåãä»çµã¿ã§åäœããŸãã ãµãŒããŒã¢ããªã±ãŒã·ã§ã³ã¯ããœã±ããã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠãããã¯ãŒã¯äžã®å¥ã®ç«¯æ«ãšéä¿¡ãè¡ããŸãã
LinuxOSã«ããããããã¯ãŒã¯ãœã±ããã®å®äœã¯ãã ã®ãã¡ã€ã«ã§ãã ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãããŒã¿ãåä¿¡ãããšã«ãŒãã«ã®æ©èœãåŒã³åºããŸããã«ãŒãã«ã¯ããŒã¿ããœã±ãããã¡ã€ã«ã«æžã蟌ã¿ã€ãã³ããçºç«ããŸãã ã€ãã³ãã¯listenã·ã¹ãã ã³ãŒã«ã«ãã£ãŠã¢ããªã±ãŒã·ã§ã³åŽã§è³Œèªããããšãå¯èœã§ãã ã€ãã³ããçºç«ããããrecvã·ã¹ãã ã³ãŒã«ã«ãã£ãŠãœã±ãããã¡ã€ã«ããããŒã¿ãèªã¿åºãããšãåºæ¥ãŸãã ãããŠãsendã·ã¹ãã ã³ãŒã«ã«ãã£ãŠãœã±ãããã¡ã€ã«ã«æžã蟌ãŸãsendã€ãã³ãã賌èªããŠããã«ãŒãã«ã«ãã£ãŠãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠããŒã¿ãéãããŸãã
ãããã¯ãŒã¯éä¿¡ã®ä»çµã¿ã説æããŸããã éä¿¡æ©èœã¯7ã€ã®ã¬ã€ã€ãŒã«ããããŠããããããOSIåç §ã¢ãã«ãšåŒã³ãŸãã OSIåç §ã¢ãã«ã«ã¯ä»¥äžã®ã¬ã€ã€ãŒããããŸãã
- 7å±€: ã¢ããªã±ãŒã·ã§ã³å±€
- 6å±€: ãã¬ãŒã³ããŒã·ã§ã³å±€
- 5å±€: ã»ãã·ã§ã³å±€
- 4å±€: ãã©ã³ã¹ããŒãå±€
- 3å±€: ãããã¯ãŒã¯å±€
- 2å±€: ããŒã¿ãªã³ã¯å±€
- 1å±€: ç©çå±€
ãããã¯ãŒã¯ãœã±ããã¯4å±€ã®ãã©ã³ã¹ããŒãå±€ã®è©±ã«ãªããŸãã ãããã玹ä»ãã代衚çãªãããã¯ãŒã¯ãããã³ã«ã¯3å±€ã4å±€ã5ã7å±€ã®è©±ã§ãã
ãããã¯ãŒã¯ãããã³ã«ã«ã¯æ§ã ãªçš®é¡ãååšããŸãã æ¬ã»ãã·ã§ã³ã§ã¯ãICMPãTCPãUDPãHTTPã®ïŒã€ã玹ä»ããŸãã
ICMPãšã¯ãOSIåç §ã¢ãã«3å±€ã§è§£æ±ºããããããã³ã«ã§ãã äž»ã«ãããã¯ãŒã¯ã®çé確èªã®ããã«äœ¿çšãããŸãã pingã³ãã³ããå®è¡ããããšã§ãæå®ã®ãµãŒããŒã«å¯ŸããŠICMPãããã³ã«ã«ããéä¿¡ãè¡ãããšãåºæ¥ãŸãã
TCPãšã¯ãOSIåç §ã¢ãã«4å±€ã§è§£æ±ºããããããã³ã«ã§ãã ãã©ã³ã¹ããŒãå±€ã¯ãéä¿¡ããããŒã¿ã®åœ¢åŒã¯åãã端æ«éã®æ¥ç¶ã«é¢ãã仿§ã解決ãããã¬ã€ã€ãŒã§ãã TCPã¯ãæ¥ç¶ã確ç«ããå Žåã«æ¥ç¶ãç¶æãããŠããéããŒã¿ã®å°éä¿èšŒãå®çŸããã¹ããŒããã«ãªãããã³ã«ã§ãã ã¹ããŒããã«ãšããã®ã¯ãæ¥ç¶ã«ç¶æ ãããããšãæããŸããTCPã¯ã3WAYãã³ãã·ã§ã€ã¯ãšåŒã°ããèŠå®ã®ããã»ã¹ãèžãã§ç«¯æ«éã®æ¥ç¶ã確ç«ããŸãã æ¥ç¶ç¢ºç«åŸã¯ã端æ«éã§èªç±ã«ããŒã¿ãéåä¿¡ããããšãåºæ¥ããã®å°éãä¿èšŒããŸãã
UDPãšã¯ãOSIåç §ã¢ãã«4å±€ã§è§£æ±ºããããããã³ã«ã§ãã UDPã¯ãTCPãšã¯å¯Ÿè±¡çã«å°éä¿èšŒã®ç¡ãã¹ããŒãã¬ã¹ãªéä¿¡ãããã³ã«ã§ãã ã¹ããŒãã¬ã¹ãªã®ã§ãæ¥ç¶ç¢ºèªã®ã¹ãããã¯ç¡ãããŒã¿ãäžæ¹çã«éä¿¡ããããšãåºæ¥ãŸãã ãã ããæ¥ç¶ã確ç«ããªãã®ã§ãéä¿¡å ã«ã¡ãããšããŒã¿ãå±ãããã©ãããéä¿¡å ãç¥ãããšãåºæ¥ãŸããã äžèŠã䜿ãç©ã«ãªããªããããªæ°ãããŸãããTCPã«æ¯ã¹ãŠéä¿¡é床ãéããšããã¡ãªããããããäžéšã®ããŒã¿æ¬ æããŠããµãŒãã¹æäŸã«ã¯æ¯éããªããããªåç»ãé³å£°ãªã©ã®ã¹ããªãŒãã³ã°åçã«å©çšãããããšããããŸãã
HTTPãšã¯ãOSIåç §ã¢ãã«5ã7å±€ã§ãããã€ããããããã³ã«ã§ãã äžè¬çãªWebãµãŒãã¹ã®ãµãŒããŒãéçºããå ŽåãICMPãTCPãUDPãæèããããšããããŸããããHTTPã¯æèããå¿ èŠããããŸãã HTTPã¯ãTCPã®äžã«å®è£ ãããŠãããããã³ã«ã§ãéä¿¡ããããŒã¿åãå®çŸ©ãããŠããŸãã ãŸããHTTPã®ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãšããŠWebãã©ãŠã¶ãåºãç¥ãããŠããŸãã
HTTPã¯ã¹ããŒãã¬ã¹ãªéä¿¡ä»æ§ãšãªã£ãŠããããªã¯ãšã¹ããšã¬ã¹ãã³ã¹ãå¿ ã1:1ã§ããå¿ èŠããããŸãã éä¿¡ã®é çªãšããŠããµãŒããŒããã¯ã©ã€ã¢ã³ãã«ããŒã¿ãéãå§ããããšã¯åºæ¥ãŸãããéä¿¡ã¯å¿ ãã¯ã©ã€ã¢ã³ãããã«ãªããŸãã
WebSocketãšã¯HTTPã䜿ã£ãŠæ¥ç¶ã確ç«ãã以éã®éä¿¡ãTCPã§è¡ãéä¿¡ãããã³ã«ã§ãã WebSocketã䜿çšããã°ããµãŒããŒãšã¯ã©ã€ã¢ã³ãéã§ä»»æã®é çªã§ããŒã¿ãéåä¿¡ããããšãå¯èœã«ãªããŸãã å ã ãHTML5ã®ä»æ§ãšããŠçå®ãå§ããããçŸåšã§ã¯ç¬ç«ãããããã³ã«ä»æ§ã«ãªããŸããã ãµãŒããŒããã¯ã©ã€ã¢ã³ãã«å¯ŸããŠãããŒã¿ãPushããããšãå¯èœãªããããã©ãŠã¶ã䜿ã£ãŠãªã¢ã«ã¿ã€ã éä¿¡ãå®çŸããããšãåºæ¥ãŸãã
ãããŸã§ã«ãã³ã³ãã¥ãŒã¿ãŒããããã¯ãŒã¯ã®åºæ¬çãªç¥èã玹ä»ããŸããã éåžžããããã¯ãŒã¯ãµãŒããŒã®ã·ã¹ãã ã¯è€æ°ã®ã³ã³ãã¥ãŒã¿ãŒãå調ããŠåäœããŸãã ããã§ã¯ããããããããã¯ãŒã¯ã¢ãŒããã¯ãã£ãŒã«ã€ããŠç޹ä»ããŸãã
LAMPæ§æãšã¯ãæãäžè¬çãªWebãµãŒãã¹ã®ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ãŒã§ãã LAMPã®4æåã¯ããããOSãããã«ãŠã§ã¢ã®é æåã衚ããŠããŸãã
- L: Linux
- A: Apache
- M: MySQL
- P: PHP
äžè¬çã«LAMPæ§æãšèšããšã以äžã®ãããªãµãŒããŒæ§æã®ããšãæããŸãã
- ããŒããã©ã³ãµãŒ
- WebãµãŒããŒ
- DBãµãŒããŒ
- ãã£ãã·ã¥ãµãŒããŒ
ããããã©ã®ãããªåœ¹å²ãããã®ãã説æããŸãã
ããŒããã©ã³ãµãŒãšã¯ãWebãµãŒãã¹ã®ãããã¯ãŒã¯ã·ã¹ãã ã®å ¥ãå£ãæ åœãããµãŒããŒã§ãã WebãµãŒãã¹ã¯å©çšè ã®æ°ã«å¿ããŠWebãµãŒããŒã®æ°ã墿žããŸããããããïŒã€ã®ãããªãã¯IPãè€æ°ã®ãµãŒããŒã§å ±æããããšã¯åºæ¥ãŸããã ãã®ãããããŒããã©ã³ãµãŒã«ïŒã€ã®ãããªãã¯IPãèšå®ããããŒããã©ã³ãµãŒãäžå¿ãšãããã©ã€ããŒããããã¯ãŒã¯ãæ§æããŸãã WebãµãŒããŒã¯ããã©ã€ããŒããããã¯ãŒã¯å ã§ãã©ã€ããŒãIPãå²ãæ¯ããããŒããã©ã³ãµãŒã«ç»é²ããŠãããŸãã ããããããšã§ãããŒããã©ã³ãµãŒãåãåã£ããªã¯ãšã¹ããWebãµãŒããŒãžãšè»¢éããŸãã ããŒããã©ã³ãµãŒã«ã¯ã転éãè¡ãWebãµãŒããéžå¥ããããã®ããã€ãã®ã¢ã«ãŽãªãºã ããããŸãã ãªã¯ãšã¹ããé çªã«é äžã®WebãµãŒããŒã«è»¢éããã©ãŠã³ãããã³ãšåŒã°ããã¢ã«ãŽãªãºã ãäžè¬çã§ãã ä»ã«ããWebãµãŒããŒã®è² è·ãç£èŠããããšã§æ¯ãåããã¢ã«ãŽãªãºã ãªã©ããããŸãã
ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãšãåŒã°ããŸãã éçºãããµãŒããŒã¢ããªã±ãŒã·ã§ã³ãåäœãããµãŒããŒã§ãã äžè¬çã«ã¯ãURLã«å¿ããããžãã¯ãèµ·åããçµæãè¿ããšããã¢ããªã±ãŒã·ã§ã³ã«ãªãã§ãããã WebãµãŒããŒã¯ãå©çšè ã®æ°ã«å¿ããŠå°æ°ãå¢ããã°è² è·åæ£å¯èœãªå®è£ ã«ããããšãéèŠã§ãã ã€ãŸããïŒã€ã®WebãµãŒããŒå ã«ããå¿ èŠãªããŒã¿ãç¡ãç¶æ ãé¿ããªããã°ãããŸãããããã解決ããããã«DBãµãŒããŒããããŸãã
DBã¯DataBaseã®ç¥ã§ãã DBãµãŒããŒã¯ãã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªããŒã¿ãä¿åããããã®ãµãŒããŒã§ãã WebãµãŒããŒã¯ãªã¯ãšã¹ããåãåããå¿ èŠãªããŒã¿ãDBãµãŒããŒããæ€çŽ¢ããåŠçãå®è¡ããå¿ èŠã§ããã°DBãµãŒããŒãžä¿åããŸãã DBã«ã¯RDBMSãNoSQLãªã©çšéã«å¿ããŠæ§ã ãªçš®é¡ããããŸãã RDBMSã®å®è£ ã§æåãªãã®ã«MySQLãPostgressSQLããããŸãããŸããNoSQLã®å®è£ ã«MongoDBãCassandraãªã©ããããŸãã
éåžžãããŒã¿ããŒã¹ã¯ã³ã³ãã¥ãŒã¿ãŒã®é»æºãèœã¡ãŠãããŒã¿ãä¿æããå¿ èŠããããããããŒã¿ãã¹ãã¬ãŒãžã«ä¿åããŸãã ã¹ãã¬ãŒãžã¯èªã¿æžãã®é床ãé ããããå€ãã®ããŒã¿ããŒã¹ã¢ããªã±ãŒã·ã§ã³ãã¡ã¢ãªäžã§ããŒã¿ãæ±ãããã工倫ãåãããŠããŸãã ããã§ãã¹ãã¬ãŒãžã¢ã¯ã»ã¹ãé¿ããããªãå ŽåããããŸããããã解決ããããã«ãã£ãã·ã¥ãµãŒããŒããããŸãã
ãã£ãã·ã¥ãµãŒããŒãšã¯ãDBãµãŒããŒããèªã¿åã£ãããŒã¿ãã¡ã¢ãªäžã«äžæçã«ä¿åããŠãããµãŒããŒã§ãã ã¡ã¢ãªã§ããããèªã¿æžããé«éã§ãããšããå©ç¹ããããŸãã ããŒã¿ããŒã¹ã¯ãã®æ§è³ªäžãµãŒããŒã忣ããããšãé£ããããããªãã¹ãã¢ã¯ã»ã¹ããªãããèšèšããããã«ãã®ãããªãã¯ããã¯ãçšããããŸãã 代衚çãªãã£ãã·ã¥ãµãŒããŒã«MemcachedãRedisããããŸãã
å€ãã®ãµãŒãã¹ãLAMPãããŒã¹ã«æ§æããããããã¯ãŒã¯ã§çšŒåããŠããŸããããè¿å¹Žãšãã«å€§èŠæš¡ãªãµãŒãã¹ã«ãããŠã¯åé¡ãèµ·ããããã«ãªããŸããã äŸãã°ã
- 管çãããµãŒããŒã®å°æ°ãïŒæ¡ä»¥äžã«ãªã
- ã³ãŒããè¥å€§åãã¡ã³ããã³ã¹ã«ã³ã¹ããããã
- ãšã³ãžãã¢ã®æ°ãå¢ãçµ±å¶ãåããªããªã
ãããã®åé¡ã解決ããããã«ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãŒãšããã¢ãããŒãã«æ³šç®ãéãŸã£ãŠããŸãã ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãŒã®å¯ŸçŸ©èªãšããŠã¢ããªã·ãã¯ã¢ãŒããã¯ãã£ãŒããããŸãã ã¢ããªã·ãã¯ã¢ãŒããã¯ãã£ãŒã¯ããµãŒãã¹ã®å šãŠãåãã³ãŒãããŒã¹ã§è¡šçŸãããŠããç¶æ ã§ãã å°äººæ°éçºãããã»ã©å€§ãããªããµãŒãã¹èŠæš¡ã§ããå Žåã¯ã·ã³ãã«ã§åé¡ã«ã¯ãªããªãã¢ãŒããã¯ãã£ãŒã§ããã倧人æ°éçºãèŠæš¡ã®å€§ãããµãŒãã¹ã«ãªããšã³ãŒãã®äŸåé¢ä¿ã倿Žã«ããäŸåé¢ä¿ããã¹ãã®ã¹ããŒãäœäžãªã©æ¯éããããå ŽåããããŸãã ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãå°ããªç¬ç«ããã¢ããªã±ãŒã·ã§ã³ã®éåã«ãã£ãŠæ§æããã¢ãŒããã¯ãã£ãŒã§ãã ïŒã€ïŒã€ã®å°ããªã¢ããªã±ãŒã·ã§ã³ã¯å®å šã«ç¬ç«ããŠåäœãããããã³ãŒãããŒã¹ãå°ããä¿ã€ããšãã§ãããã€ã¯ããµãŒãã¹ããšã«éçºããŒã ãäœããªã©å€§äººæ°ã«ããéçºã«ã€ããŠãåé¡ã解決ããŸãã
ãããããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãŒã¯ãã®ç®¡çãé£ããããµãŒãã¹ã®ç£èŠãè² è·åæ£ãã¢ããªã±ãŒã·ã§ã³ã®ãããã€ãªã©èããªããã°ãããªãããšã¯å€å²ã«æž¡ããŸãã ããã§ç»å Žããã®ããGoogleãéçºããŠããOSSã§ããkubernetesã§ãã kubernetesã¯ãã³ã³ããã®éåã管çããããã®ããã«ãŠã§ã¢ã§ãããã€ã¯ããµãŒãã¹ãã³ã³ãããšããŠããã±ãŒãžã³ã°ããkubernetesã䜿ã£ãŠèªåã§ã¹ã±ãŒãªã³ã°ããªã«ããªã³ã°ãè¡ããŸãã Googleã¯ãå°ãåã«GCPïŒGoogle Cloud PlatformïŒã«ãŠGKEïŒGoogle Kubernetes EngineïŒããªãªãŒã¹ããŸããã GKEãå©çšããããšã§ãå©çšè ã¯ç°¡åã«kubernetesã®æ©æµãåããããšãã§ãããã€ã¯ããµãŒãã¹éçºè ã«ãšã£ãŠã¯å¯äžã®éžæè¢ãšãŸã§ãªãå¢ãã§ãã
ä»å玹ä»ããç¥èã¯ããããã¯ãŒã¯éçºã«ãããã»ãã®äžéšã§ãã æ¯éèªãã®æãåãããæ°æ§å¥ãéãŠãªãå¹ åºãç¥èãç¿åŸããŠæ¬²ãããšæããŸãã ä»åãããããŸãšããã«ãããåèªèº«ãå床å匷ããªãããŸãããããŸã ãŸã æ°ããçºèŠããããããããŸãã ãªãã¹ãæ°ãã€ããŠæžããã€ããã§ãããééã£ãŠããéšåããããããããŸãããæ¯éææããŠé ããã°ãšæããŸãã
ä»åã¯ãã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãŒã«ã€ããŠã¯è§ŠããŠããŸããã ã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãŒã«ã¯ãMVCãã¯ãªãŒã³ã¢ãŒããã¯ãã£ãŒãªã©å€ãã®èãæ¹ããããŸãã ãã¡ããæ©äŒãããã°ãŸã玹ä»ããããšæããŸãã