VM¿þ¾î ÄÚ¸®¾Æ(´ëÇ¥ ÀüÀÎÈ£)´Â 10ÀÏ º»»ç ¹ßÇ¥¸¦ Àοë, ‘½ºÇÁ¸µ ºÎÆ®(Spring Boot)’ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿ÏÀü °ü¸®Çü ¼ºñ½º ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå(Azure Spring Cloud)’ÀÇ »ó¿ëÈ(GA)¸¦ ¹ßÇ¥Çß´Ù.
Áö³ 9¿ù 2ÀÏ°ú 3ÀÏ(¹Ì±¹ ÇöÁö½Ã°£) ÁøÇàµÈ ±Û·Î¹ú °³¹ßÀÚ ÄÁÆÛ·±½º ‘½ºÇÁ¸µ ¿ø(SpringOne)’¿¡¼ ¼±º¸ÀÎ ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’´Â ³×ÀÌƼºê ¾ÖÀú ¼ºñ½º·Î ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®(ÀÌÇÏ MS)°¡ ¿î¿µÀ» ´ã´çÇÑ´Ù.
ÀÌ ¼ºñ½º´Â °³¹ß ´Ü°èºÎÅÍ MS¿Í ±ä¹ÐÇÏ°Ô Çù·ÂÇØ¿Â VM¿þ¾î°¡ ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’ÀÇ ¿î¿µÀ» Áö¿øÇÒ ¿¹Á¤ÀÌ´Ù.
‘½ºÇÁ¸µ’Àº Áö³ ¼ö³â°£ ¸¶ÀÌÅ©·Î¼ºñ½º, ¹èÄ¡ ÇÁ·Î¼¼½Ì, ¹ÝÀÀÇü ¾ÖÇø®ÄÉÀ̼Ç, À̺¥Æ® ±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç µîÀÇ °³¹ßÀ» °£¼ÒÈÇϱâ À§ÇØ ´Ù¾çÇÑ ±â´ÉÀ» ¾÷µ¥ÀÌÆ® ¹× Ãß°¡ÇØ ¿Ô´Ù.
º¸¾È¾÷ü ‘½º´ÏÅ©(Snyk)’°¡ ÃÖ±Ù ¹ßÇ¥ÇÑ Á¶»ç °á°ú¿¡ µû¸£¸é, ½ºÇÁ¸µÀº 60% ÀÌ»óÀÇ ³ôÀº äÅ÷ü·Î Àü ¼¼°è ÀÚ¹Ù ·±Å¸ÀÓ(Java Runtime) Ç÷§Æû ½ÃÀåÀ» ¼±µµÇÏ°í ÀÖ´Â °ÍÀ¸·Î ³ªÅ¸³µ´Ù.
¿¹ÄÁ´ë, °³¹ßÀÚµéÀº ¿ÀÀü¿¡ ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé°í, ¿ÀÈÄ¿¡ ¿ÂÇÁ·¹¹Ì½º Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ¿¡¼ Å×½ºÆ®¸¦ ÁøÇàÇϸç, ÇÏ·ç°¡ ³¡³ª±â Àü¿¡ ÆÛºí¸¯ Ŭ¶ó¿ìµå »ó¿¡¼ ¿î¿µÇÏ´Â ½Ã³ª¸®¿À¸¦ °ÅÄ£´Ù.±×·¯³ª, ÀÌ°°Àº °úÁ¤Àº »ó´çÈ÷ º¹ÀâÇϱ⠶§¹®¿¡ VM¿þ¾î ½ºÇÁ¸µÆÀÀº ÀÌ ¿öÅ©Ç÷ο츦 °£¼ÒÈÇÏ´Â °ÍÀ» ÇÙ½É ¸ñÇ¥·Î ¼³Á¤Çß´Ù.
- ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’ ÁÖ¿ä ±¸¼º ¿ä¼Ò - |
¡ß½ºÇÁ¸µ Ŭ¶ó¿ìµå(Spring Cloud) = ¼ºñ½º ·¹Áö½ºÆ®¸®, Ŭ¶óÀ̾ðÆ® »çÀÌµå ·Îµå ¹ë·±½Ì, ¼Å¶ºê·¹ÀÌÄ¿ µîÀÇ ±â´ÉÀ¸·Î Ŭ¶ó¿ìµå »ó¿¡¼ ½ºÇÁ¸µ ºÎÆ®(Spring Boot) ¾ÖÇø®ÄÉÀ̼ÇÀ» º¸´Ù ½±°Ô ±¸µ¿ÇÒ ¼ö ÀÖ´Â Åø°ú ÇÁ·¹ÀÓ¿öÅ©¸¦ Á¦°øÇÑ´Ù.
‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’°¡ ±¸¼º¿ä¼Ò¸¦ °ü¸®Çϱ⠶§¹®¿¡ °³¹ßÀÚ´Â °£´ÜÇÑ ±¸¼º Á¤º¸¸¸ Á¦°øÇÏ¸é µÈ´Ù.
¡ßÄÉÀÌ ÆÑ(kpack) = Ŭ¶ó¿ìµå ³×ÀÌƼºê ºôµå ÆÑ(Cloud Native Buildpacks)À» È°¿ëÇØ Äí¹ö³×Ƽ½º »ó¿¡¼ ÄÁÅ×ÀÌ³Ê À̹ÌÁö »ý¼º ¹× ¾÷µ¥ÀÌÆ®¸¦ ÀÚµ¿ÈÇÏ´Â ¿ÀǼҽº ±â¹ÝÀÇ Äí¹ö³×Ƽ½º ³×ÀÌƼºê ±¸Ãà ¼ºñ½º·Î, VM¿þ¾î źÁÖ ºôµå ¼ºñ½º(Tanzu Build Service)ÀÇ ÇÙ½É ¿ä¼Ò´Ù.
¡ß¾ÖÀú Äí¹ö³×Ƽ½º ¼ºñ½º(Azure Kubernetes Service) = MS°¡ Á¦°øÇÏ´Â ¿ÏÀü °ü¸®Çü Äí¹ö³×Ƽ½º ¼ºñ½º´Ù.
|
ÄÉÀÌ ÆÑ°ú ‘¾ÖÀú Äí¹ö³×Ƽ½º ¼ºñ½º´Â »ç¿ëÀÚ¿¡°Ô Á÷Á¢ ³ëÃâµÇÁö ¾ÊÁö¸¸, ±â¾÷Àº ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’ÀÇ ÀÔÁõµÈ ¿ÀǼҽº ±â¼úÀÌ ±× ¾ÖÇø®ÄÉÀ̼ÇÀ» µÞ¹ÞħÇÏ°í VM¿þ¾î¿Í MS°¡ ¿£ÅÍÇÁ¶óÀÌÁî±Þ Áö¿øÀ» Á¦°øÇÑ´Ù´Â Á¡À» ½Å·ÚÇÒ ¼ö ÀÖ´Ù.
¡ß¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß °¡¼ÓÈ = ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’¸¦ È°¿ëÇØ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀ» º¸´Ù ½±°Ô °³¹ßÇÒ ¼ö ÀÖ´Ù.
‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’´Â °ü¸®Çü ¼ºñ½º·Î¼ ‘½ºÇÁ¸µ Ŭ¶ó¿ìµå’ ÀÎÇÁ¶ó¸¦ ¼³Ä¡ÇÏ°í °ü¸®ÇÏ´Â ¾÷¹«¸¦ ¼öÇàÇÑ´Ù.
°³¹ßÀÚ°¡ ¼Ò½ºÄڵ峪 ¾ÆƼÆÑÆ®(artifact)¸¸ ¹èÆ÷ÇÏ¸é ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’°¡ ¼ºñ½º µð½ºÄ¿¹ö¸®¿Í ±¸¼º °ü¸®, ºÐ»ê Æ®·¹À̽ÌÀ» Æ÷ÇÔÇÑ ±âŸ ÀÛ¾÷À» ¼öÇàÇÑ´Ù.
¶ÇÇÑ ‘¾ÖÀú Äí¹ö³×Ƽ½º ¼ºñ½º’»ó¿¡¼ ¿î¿µµÇ±â ¶§¹®¿¡ ¼ºñ½º È®ÀåÀÌ ¿ëÀÌÇÏ´Ù.
‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’´Â ÇöÀç Àü ¼¼°è 10°³ ¸®Àü¿¡¼ ¼ºñ½º¸¦ Á¦°øÇÏ°í ÀÖ´Ù.
¡ß°·ÂÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà ¹× ¹èÆ÷ = ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’¿¡¼´Â ‘¾ÖÀú ¾×Ƽºê µð·ºÅ丮(Azure Active Directory)’³ª ‘ÄÚ½º¸ð½º(Cosmos) DB’¿Í °°Àº ÀαâÀÖ´Â ¾ÖÀú ¼ºñ½º¿Í ½±°Ô »óÈ£ÀÛ¿ëÀÌ °¡´ÉÇÏ´Ù.
MS´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ¼ºñ½º¿¡ ´ëÇØ ‘½ºÇÁ¸µ ½ºÅ¸Åͽº(Spring Starters)’¸¦ Á¦°øÇØ ±¸¼º ÀÚµ¿È¸¦ Áö¿øÇϸç, À̶§ ½ºÇÁ¸µ ½ºÅ¸Åͽº´Â ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’¿¡ Á¦ÇѵÇÁö ¾Ê°í ¾ÖÀú »ó¿¡ ¹èÆ÷µÈ ¸ðµç ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ǿ¡¼ »ç¿ë °¡´ÉÇÏ´Ù.
ºí·ç-±×¸° ¹èÆ÷(blue-green deployments)¸¦ Áö¿øÇØ ÇÊ¿ä½Ã °³¹ßÀÚ°¡ Áï½Ã ÀÌÀü ¹öÀüÀ¸·Î µÇµ¹¾Æ°¥ ¼ö ÀÖÀ¸¸ç, ¾ÖÀú µ¥ºê¿É½º(Azure DevOps)¿Í ‘Á¨½ºÅ²(Jenkins)’¸¦ Æ÷ÇÔÇÑ µ¥ºê¿É½º(DevOps) Åø°úÀÇ ÅëÇÕÀ» ÅëÇØ CI/CD ÆÄÀÌÇÁ¶óÀÎÀ» ÀÚµ¿ÈÇÒ ¼ö ÀÖ´Ù.
¡ßµ¥ÀÌ(Day) 2 ¿î¿µ °£¼ÒÈ = ¿ÏÀü °ü¸®°¡ °¡´ÉÇÑ ‘¾ÖÀú ½ºÇÁ¸µ Ŭ¶ó¿ìµå’ »ó¿¡¼ ±¸Ãà ¹× ¹èÆ÷µÈ ¾ÖÇø®ÄÉÀ̼ÇÀº MS°¡ ÀÎÇÁ¶ó ´ÜÀÇ ¸ðµç ÆÐÄ¡¿Í ¾÷µ¥ÀÌÆ®¸¦ ó¸®ÇØ ¿î¿µ ºÎ´ãÀ» Å©°Ô ÁÙ¿©ÁØ´Ù.
ÀÌ ¿Ü¿¡µµ ‘¾ÖÀú ¸ð´ÏÅÍ(Azure Monitor)’¸¦ ÅëÇØ °³¹ßÀÚ°¡ ¼ºñ½º °£ÀÇ »óÈ£ÀÛ¿ë ÃßÀû°ú ¼º´ÉÀÌ ÀúÇÏµÈ ¼ºñ½º ¹× º´¸ñÇö»óÀ» ½±°Ô ¹ß°ßÇÏ°í, ¼öÁýµÈ ¸ÞÆ®¸¯À» ±â¹ÝÀ¸·Î °æ°í¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
<±èµ¿±â ±âÀÚ>kdk@bikorea.net < ÀúÀÛ±ÇÀÚ © BI KOREA ¹«´ÜÀüÀç ¹× Àç¹èÆ÷±ÝÁö > |