¿ì¸®´Â ¸ØÃßÁö ¾Ê°í ¼ºÀåÇÏ°í ½Í¾î¿ä. °³²¾ð´Ï ÆÀÀº '´õ ÁÁÀº ÀÇ·á ¼ºñ½º¸¦ ´©±¸³ª ´©¸± ¼ö ÀÖ°Ô'¶ó´Â ¸ñÇ¥¸¦ ÀÌ·ç±â À§ÇØ ½ÃÀåÀÇ ¹®Á¦¸¦ ÇØ°áÇØ ¿Ô½À´Ï´Ù. ÀÌÁ¦ ±×µ¿¾Èº¸´Ù ´õ Å©°í º¹ÀâÇÑ ¹®Á¦¸¦ ÇØ°áÇØ ³ª°¡±â À§ÇØ °³¹ßÀÚ¸¦ ºñ·ÔÇÑ Á¦Ç°°³¹ß Á¶Á÷ ±¸¼º¿øµéÀÇ Áö¼ÓÀû ¼ºÀåÀÌ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù°í ÆÇ´ÜÇÏ°í ÀÖ¾î¿ä. ±×·¯±â¿¡ °³²¾ð´Ï ÆÀ °³¹ßÀÚ´Â ¸¶ÁÖÇÑ ¹®Á¦¸¦ ÇØ°áÇÏ´Â °Í ¸¸ÅÀ̳ª, ÇØ°á °úÁ¤ÀÇ °æÇè°ú »õ·Î¿î Áö½ÄÀÇ ÇнÀÀ» ÅëÇØ ¼ºÀåÀ» ÀÌ·ç·Á ³ë·ÂÇØ¿ä.
°³²¾ð´Ï ÆÀÀÌ ´Ù·ç´Â ¸¹Àº ¹®Á¦´Â Å©°í º¹ÀâÇÕ´Ï´Ù. °³²¾ð´Ï ÆÀ ¼¹ö °³¹ßÀÚ´Â ÀÇ·á ¼ºñ½º »ç¿ëÀÚ, º´¿ø, ÀÇ»ç, ÀÇ·á¹ý, °³ÀÎÁ¤º¸ º¸È£ µî ´Ù¾çÇÑ ÁÖü¿Í ÀÌÇØ°ü°è ³»¿¡¼ ±ÕÇüÀÖ°Ô ºñÁî´Ï½º ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ´Ù¾çÇÑ ¿£Áö´Ï¾î¸µ µµ±¸¸¦ »ç¿ëÇØ¿ä. ¶§·Î´Â ½Å¼ÓÇÑ ¹®Á¦ ÇØ°á¿¡ ÁýÁßÇÏÁö¸¸ ½Ã½ºÅÛÀÇ Áö¼Ó¼º¿¡ ¸ØÃßÁö ¾Ê°í ÅõÀÚÇÕ´Ï´Ù.
°³²¾ð´Ï ÆÀÀÇ ±× ´©±¸µµ È¥ÀÚ¼ ¹®Á¦¸¦ ÇØ°áÇÏÁö ¾Ê¾Æ¿ä. °³²¾ð´Ï ÆÀÀº ³ôÀº ¼öÁØÀÇ Çù¾÷À» Ãß±¸ÇÕ´Ï´Ù. ¿ì¸®´Â ±ØµµÀÇ Çù¾÷À» ÅëÇؼ¸¸ ¶Ù¾î³ ÆÀÀÌ ¸¸µé¾îÁö¸ç ¹Ì¿ëÀÇ·á »ê¾÷ÀÇ Å©°í º¹ÀâÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù°í ¹Ï¾î¿ä. °³²¾ð´Ï ÆÀ ¼¹ö °³¹ßÀÚ´Â µ¿·á ¼¹ö °³¹ßÀÚ, ÇÁ·ÐÆ®¿£µå °³¹ßÀÚ, µðÀÚÀ̳Ê, PO¿Í ±ä¹ÐÇÏ°Ô Çù¾÷ÇØ, È¥ÀÚ¼´Â Ç®¾î³»±â ¾î·Á¿î ¹®Á¦µéÀ» Ç®¾î³»°í ÀÖ¾î¿ä.
À¯ÇàÇÏ´Â ±â¼ú ¿ë¾î¿¡ ¸Í¸ñÀûÀ¸·Î µû¸£Áö ¾Ê°í µµ±¸ÀÇ °¡Ä¡¿¡ ÁýÁßÇØ ¹®Á¦ ÇØ°á¿¡ »ç¿ëÇØ¿ä. Áö±Ý °³²¾ð´Ï ÆÀ ¼¹ö °³¹ßÀÚ´Â º¸´Ù ¾ÈÁ¤ÀûÀÎ ¿£Áö´Ï¾î¸µ °æÇèÀ» È®º¸Çϱâ À§ÇØ ÀÌ·± ±â¹ýµéÀ» Á¤Âø½ÃÅ°·Á ³ë·ÂÇÏ°í ÀÖ¾î¿ä.
´ÜÁö Jenkins, GitHub Actions µî CI Áö¿øµµ±¸¸¦ »ç¿ëÇÏ´Â °Í°ú CI´Â ´Þ¶ó¿ä. Martin Fowler°¡ ¼Ò°³ÇÑ ´ÙÀ½ CI °ËÁõ °Ë»ç¸¦ ¸¸Á·Çϴ ȯ°æÀ» °¡²ã°¡°í ÀÖ¾î¿ä.
ÀÌ·± ȯ°æ¿¡¼ °³¹ßÇÏ¸é ±× °¡Ä¡°¡ ´õ ÀÚÁÖ, ´õ ºü¸£°Ô »ç¿ëÀÚ¿¡°Ô Àü´ÞµÉ ¼ö ÀÖ°í, °³¹ßÀÚ´Â ¾ÈÁ¤°¨ À§¿¡¼ ÄÚµùÇÒ ¼ö ÀÖ°Ô µÅ¿ä.
Å×½ºÆ® ÀÚµ¿È´Â Continuous Integration, Continuous Deployment, DevOps µîÀÇ ÇÊ¿äÁ¶°ÇÀÌ¿¡¿ä. Å×½ºÆ®°¡ ³ôÀº ¼öÁØÀ¸·Î ÀÚµ¿È µÇ¾îÀÖÁö ¾Ê´Â ÇÁ·Î¼¼½º´Â ÀÌ·± À̸§À¸·Î ºÎ¸¦ ¼ö ¾ø½À´Ï´Ù. °³¹ßÀÚÀÇ ¸¹Àº ÀÛ¾÷µéÀÌ µµ±¸¿¡ ÀÇÇØ °ËÁõµÇ¾î °¡Ä¡ Àü´Þ¿¡ µÎ·Á¿òÀ» °®Áö ¾Êµµ·Ï ÀÚµ¿È µÈ Å×½ºÆ® ÄÉÀ̽º¸¦ ´ÃÀÌ°í, Å×½ºÆ® ÁÖµµ °³¹ß(test-driven development)À» Àû¿ëÇÏ°í, ½Ã½ºÅÛ°ú ÇÁ·Î¼¼½º¸¦ °³¼±ÇÏ°í ÀÖ¾î¿ä.
ÄÚµùÀº Çù¾÷ÀÔ´Ï´Ù. ¸ðµç °³²¾ð´Ï ÆÀ °³¹ßÀڴ ȥÀÚ¸¸ÀÇ ÆÇ´ÜÀ¸·Î main ºê·£Ä¡¿¡ Ä¿¹ÔÇÒ ¼ö ¾øµµ·Ï ±ÇÇÑÀÌ Á¦ÇѵǾî ÀÖ¾î¿ä. ¸ðµç ÄÚµå´Â ¦ ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ ÀÛ¼ºµÇ°Å³ª µ¿·áÀÇ ¸®ºä¸¦ °ÅÄ£ ½ÂÀÎÀ» ¹Þ¾Æ¾ß¸¸ pull request¸¦ ÅëÇØ main ºê·£Ä¡¿¡ Ãß°¡µÉ ¼ö ÀÖ¾î¿ä. ¶§·Ð °°Àº ºñÁî´Ï½º ¿ä±¸»çÇ×À» ´Ù·ç´Â ¼¹ö, À¥ ÇÁ·ÐÆ®¿£µå, ¸ð¹ÙÀÏ °³¹ßÀÚ°¡ ÇÔ²² ¸ð¿© Äڵ带 ¾²±âµµ ÇØ¿ä.
°³²¾ð´Ï ÆÀµµ ¹Ì¿ëÀÇ·á »ê¾÷µµ ºü¸£°Ô º¯ÈÇÏ°í È®ÀåµÇ°í ÀÖ¾î¿ä. ÀÌ·± º¯È¿¡ ´ëÇÑ ½Ã½ºÅÛÀÇ ÀûÀÀ·ÂÀº ³ë·Â ¾øÀÌ ÁÖ¾îÁöÁö ¾Ê¾Æ¿ä. ½Ã½ºÅÛÀÌ ºñÁî´Ï½º ȯ°æ¿¡ ÀûÀÀÇÏÁö ¸øÇÏ¸é ¼ºñ½ºµµ Á¶Á÷µµ ºñÀüµµ ¹°°ÅÇ°ÀÌ µË´Ï´Ù. À¯¿¬ÇÑ ¾ÆÅ°ÅØó¸¦ È®º¸Çϱâ À§ÇØ ¿©·¯°¡Áö ¼³°è ±â¹ýÀ» ÇнÀÇÏ°í Àû¿ëÇØ¾ß ÇØ¿ä.
°³²¾ð´Ï ÆÀÀº µµ¸ÞÀÎ ÁÖµµ ¼³°è¸¦ ¼¹ö ½Ã½ºÅÛ È®Àå¿¡ ±â¹ÝÀÌ µÇ´Â ±â¹ýÀ¸·Î Á¤Âø½ÃÅ°°í ÀÖ¾î¿ä. Àü¼ú ±â¹ý¿¡¸¸ ¸Å¸ôµÇ¸é ÀÛÀº ¿£Áö´Ï¾î¸µ Àç¹Ì´Â ´À³¥Áö¾ðÁ¤ °³¹ßÀÚÀÇ ½Ã¾ß°¡ Á¼¾ÆÁö°í µµ¸ÞÀÎ ÁÖµµ ¼³°èÀÇ °¡Ä¡¸¦ ÃëÇÏÁö ¸øÇÕ´Ï´Ù. ±×·¡¼ ¿ì¸®´Â Àü¼úÀû ÆÐÅÏ »Ó ¾Æ´Ï¶ó À¯ºñÄõÅͽº ¾ð¾î¿Í Àü·«Àû ¼³°è¿¡µµ ÁýÁßÇØ µµ¸ÞÀÎÀÇ ¹®Á¦¸¦ È¿À²ÀûÀ¸·Î Ç®¾î³»°í ¾ÆÅ°ÅØó Áö¼Ó¼ºÀ» È®º¸ÇÏ·Á ³ë·ÂÇØ¿ä.
Microservices ÆÐÅÏÀÌ À¯ÇàÇÏ°í ÀÖÁö¸¸ ´ÜÁö ¸ðµâ °ü°è¿¡ HTTP ¿äûÀ» Àû¿ëÇÏ´Â °Í¸¸À¸·Ð ÇØ°áµÇ´Â ¹®Á¦º¸´Ù À¯¹ßµÇ´Â ¹®Á¦°¡ ´õ ¸¹¾ÆÁú ¼ö ÀÖ¾î¿ä. °³²¾ð´Ï ÆÀ °³¹ßÀÚ´Â µµ¸ÞÀÎ ÁÖµµ ¼³°è¿¡ ±â¹ÝÇØ ½Ã½ºÅÛ ³» °æ°è¸¦ ¼³Á¤ÇÏ°í ºÐ¸®µÈ ¿ä¼ÒµéÀÌ ºñµ¿±â À̺¥Æ®¸¦ »ç¿ëÇØ À¯¿¬ÇÏ°Ô ÅëÇյǵµ·Ï ¾ÆÅ°ÅØó¸¦ ¼³°èÇØ¿ä.
°³²¾ð´Ï ÆÀ ¼¹ö °³¹ßÀÚ´Â ´ÙÀ½ÀÇ µµ±¸¸¦ ÁÖ·Î »ç¿ëÇØ¿ä. ±× ¹Û¿¡µµ ÁÖ¾îÁø ¹®Á¦¿¡ µû¶ó °¡Àå ÀûÇÕÇÑ ¿©·¯°¡Áö µµ±¸¸¦ µµÀÔÇÕ´Ï´Ù.
¿ì¸®´Â °³²¾ð´Ï ÆÀ(Èú¸µÆäÀÌÆÛ)ÀÇ ÀÌÀÍ¿¡ ÃÖ¼±ÀÌ µÇ´Â ¹æÇâÀ¸·Î, ±ÔÄ¢º¸´Ü ¿øÄ¢¿¡ ±â¹ÝÇÏ¿© ¿òÁ÷ÀÔ´Ï´Ù. µ¿·áµéÀÌ ÇÔ²² ¸ñÀûÀ» ´Þ¼ºÇϴµ¥ ´õ ¸ôÀÔÇÏ°í ´õ ¼ºÀåÇÒ ¼ö ÀÖµµ·Ï ¿©·¯°¡Áö ¹®ÈÀû Á¦µµ¿Í ¼Æ÷Æà ÇÁ·Î±×·¥À» ¿î¿µÇÕ´Ï´Ù.
Ãâ±Ù½Ã°£ : ¿ÀÀü 10½Ã (°³Àΰú ÆÀÀÇ »óȲ¿¡ µû¶ó Á¶À² °¡´É)
¼ö½À±â°£: 3°³¿ù(±Þ¿©, ¼Æ÷Æà ÇÁ·Î±×·¥ Â÷µî ¾øÀ½)
¼·ù °ËÅä ¡æ ÄÚµùÅ×½ºÆ® ¡æ »çÀü ÀÎÅͺä(¿Â¶óÀÎ) ¡æ º» ÀÎÅͺä(´ë¸é) ¡æ ÆòÆÇÁ¶È¸ ¡æ ó¿ì ÇùÀÇ ¡æ ÀÔ»ç