¼º°øÀûÀ¸·Î µµÀÔÇϱâ À§Çؼ ÇÊ¿äÇÑ ±â¼úµé ÀÖ¾î...API´Â »ýÇ÷
[º¸¾È´º½º ¹®°¡¿ë ±âÀÚ] ÇöÀç ±â¾÷ ³»¿¡¼ µ¶ÀÚÀûÀ¸·Î ¾ÛÀ» °³¹ßÇÏ´Â IT ºÎ¼µéÀº ¸¶ÀÌÅ©·Î¼ºñ½º(microservice)¶ó´Â ¾ÆÅ°ÅØó¸¦ Àû±Ø µµÀÔÇÏ°í ÀÖ´Ù. À¥ ¼¹ö ±â¾÷ÀÎ NGINSX¿¡ µû¸£¸é ÀÌ¹Ì ¸¶ÀÌÅ©·Î¼ºñ½º µµÀÔ¿¡ ÁýÁß ÅõÀÚ¸¦ ÇÏ°í ÀÖ´Â ±â¾÷ÀÌ 68%³ª µÈ´Ù°í ÇÑ´Ù. Ŭ¶ó¿ìµå °³¹ß¾÷üµé Áß ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ÀÌ¹Ì »ç¿ëÇÏ°í Àְųª ¿ÃÇØ ¾È¿¡ »ç¿ëÇÒ ¿¹Á¤ÀÎ °÷Àº 90%³ª µÇ¾ú´Ù.
[À̹ÌÁö = iclickart]
ÀÌó·³ ¶ß°Å¿î ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó¶õ ¹«¾ùÀΰ¡? ÀÛÁö¸¸ µ¶¸³ÀûÀÎ ±â´ÉÀ» ¼öÇàÇÏ´Â ¼ºñ½ºµéÀ» Á¶¸³ÇØ Á» ´õ Å« ¾ÛÀ̳ª ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µé¾î³»´Â °ÍÀÌ´Ù. ¾ÛÀ» Åë°·Î, óÀ½ºÎÅÍ ¸¸µé¾î³»´Â ±âÁ¸ ¹æ½Ä°ú Á¤È®È÷ ¹Ý´ëµÈ´Ù°íµµ º¼ ¼ö ÀÖ´Ù. ÀÛÀº ±â´ÉµéÀ» ¡®Á¶¸³¡¯ÇÏ´Â °ÍÀÌ´Ù º¸´Ï ÀçÈ°¿ë, ÀçÁ¶¸³, À籸¼ºÀÌ °¡´ÉÇØ °³¹ß °úÁ¤¿¡ ¼Óµµ¿Í À¯¿¬¼ºÀÌ ÇÔ²² ´õÇØÁø´Ù.
ÇÏÁö¸¸ °¡Æ®³Ê¿¡ ÀÇÇÏ¸é ¸¶ÀÌÅ©·Î¼ºñ½º°¡ ¸¸´ÉÀº ¾Æ´Ï´Ù. ¡°¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØóÀÇ À¯¿¬¼ºÀº Á¤¸»·Î ´ë´ÜÇÕ´Ï´Ù. ±×·¯³ª ¸ðµç ȯ°æ¿¡¼ ±×·¯ÇÑ ÀåÁ¡À» ¹ßÈÖÇÏ´Â °Ç ¾Æ´Õ´Ï´Ù. °³¹ßÁøÀ» À̲ô´Â À§Ä¡¿¡ ÀÖ´Â ºÐµéÀº ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÀåÁ¡°ú ´ÜÁ¡À» ³¹³¹ÀÌ ¾Ë°í ÀÖ¾î¾ß ÇÒ °Ì´Ï´Ù. ¸¶ÀÌÅ©·Î¼ºñ½º°¡ Á¦´ë·Î ±â´ÉÀ» ÇÏ·Á¸é ¸î °¡Áö ÀüÁ¦Á¶°ÇÀÌ °®ÃçÁ®¾ß ÇÕ´Ï´Ù.¡± °¡Æ®³Ê°¡ ¸»ÇÏ´Â ÀüÁ¦Á¶°Ç¿¡´Â ¸î °¡Áö ±â¼úµéÀÌ Æ÷ÇԵǴµ¥, ±× Áß 7°¡Áö¸¦ ¿©±â¿¡¼ ¼Ò°³Çغ»´Ù.
ÄÜÅ×À̳Ê(container)
¸¶ÀÌÅ©·Î¼ºñ½º¸¦ µµÀÔÇÏ´Â °¡Àå Å« ÀÌÀ¯ Áß Çϳª°¡ À¯¿¬¼ºÀÌ´Ù. ±×·¡¼ ¸¹Àº ±â¾÷µéÀÌ ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ¾ÖÇø®ÄÉÀ̼ǵéÀ» ÄÜÅ×ÀÌ³Ê »ó¿¡¼ ±¸ÃàÇÑ´Ù. ÇöÀç °¡Àå ¸¹ÀÌ È°¿ëµÇ´Â ÄÜÅ×ÀÌ³Ê ±â¼úÀº µµÄ¿(Docker)´Ù. ÄÜÅ×ÀÌ³Ê ±â¼úÀ̶õ ¾ÖÇø®ÄÉÀ̼ǰú ±×¿¡ Á¾¼ÓµÇ´Â ¸ðµç ¿ä¼ÒµéÀ» Çϳª·Î ÆÐÅ°ÁöÈ ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ȸ»ç ÀÔÀå¿¡¼´Â ÇØ´ç ¾ÖÇø®ÄÉÀ̼ÇÀ» ¾ðÁ¦ ¾îµð¼³ª ¹èÆ÷ÇÒ ¼ö ÀÖ°Ô µÇ°í, µ¥ÀÌÅͼ¾ÅÍ¿¡¼ ´Ù¸¥ Ŭ¶ó¿ìµå ¼ºñ½º·Îµµ °£ÆíÇÏ°Ô À̵¿ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ÄÜÅ×ÀÌ³Ê ±â¼ú ½ÃÀåÀº 2016³â¿¡ 7õ 620¾ï¿ø ±Ô¸ð·Î ÀÚ¶ó³µ°í, 2020³â¿¡´Â 2Á¶ 7õ¾ï¿ø ±Ô¸ð·Î ¼ºÀåÇÒ °ÍÀ¸·Î º¸ÀδÙ.
¿ÀÄɽºÆ®·¹À̼Ç(orchestration)
¾ÖÇø®ÄÉÀ̼ÇÀ» °£ÆíÇÏ°Ô ÆÐŰ¡ ÇÏ´Â °ÍÀÌ ÄÜÅ×À̳ʶóÁö¸¸, ±× ÄÜÅ×À̳ʵµ ¼ö°¡ ¸¹¾ÆÁö¸é °ü¸®°¡ Èûµé¾îÁö°Ô µÈ´Ù. ±×·¡¼ ´ëµÎµÇ´Â °Ô ¿ÀÄɽºÆ®·¹ÀÌ¼Ç ±â¼ú ¹× ÅøµéÀÌ´Ù. °¡Àå ÀαⰡ ¸¹Àº ÄÜÅ×ÀÌ³Ê °ü¸® Åø ȤÀº ¿ÀÄɽºÆ®·¹ÀÌ¼Ç Åø·Î´Â µµÄ¿ÀÇ ½º¿ú(Swarm)À̳ª ±¸±ÛÀÇ Äí¹ö³×Ã÷(Kubernetes), ¾ÆÆÄÄ¡ÀÇ ¸Þ¼Ò½º(Mesos), ÁÖÅ°ÆÛ(ZooKeeper) µîÀÌ ÀÖ´Ù. 4¸¸ 5õ ¿©°³ÀÇ ÄÜÅ×ÀÌ³Ê È¯°æÀ» Á¶»çÇßÀ» ¶§, Äí¹ö³×Ã÷°¡ 43%, ¸Þ¼Ò½º°¡ 9%, ½º¿úÀÌ 7%¸¦ Â÷ÁöÇÏ°í ÀÖ¾ú´Ù.
Ŭ¶ó¿ìµå ÄÄÇ»ÆÃ
À¯¿¬¼º¿¡ ´ëÇÑ Ãß±¸¸¦ °è¼ÓÇÏ´Ùº¸´Ï ¹ß»ýÇÏ´Â Çö»óÀÌ, ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó¸¦ Ŭ¶ó¿ìµå »ó¿¡¼ ±¸ÃàÇÏ´Â °ÍÀÌ´Ù. ¾Æ¸¶Á¸, ¾ÖÀú, ±¸±Û ¾Û ¿£Áø, ºí·ç¹Í½º µî ´ëÇü Ŭ¶ó¿ìµå ¼ºñ½ºµéÀº ÀÌ¹Ì ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ Áö¿øÇÒ ¼ö Àִ ü°è¸¦ °®Ãß°í ÀÖ´Ù. ·¹µåÇÞ(Red Hat)ÀÇ ¿Àǽ¬ÇÁÆ®(OpenShift)³ª ¿ÀǽºÅÃ(OpenStack)°ú °°Àº ¿ÀǼҽº Ç÷§Æûµéµµ ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ÄÜÅ×ÀÌ³Ê ±â¼úÀ» Áö¿øÇÑ´Ù. ÀÌ¿Í ¸Â¹°·Á FaaS(function as a service : ¼ºñ½ºÇü ±â´É)¶ó°íµµ ºÒ¸®´Â ¼¹ö ¾ø´Â ÄÄÇ»Æà ¼ºñ½ºµµ À¯Çàó·³ ¹øÁö°í ÀÖ´Ù. °¡Æ®³Ê¿¡ ÀÇÇÏ¸é °ø°ø Ŭ¶ó¿ìµå ¼ºñ½º ½ÃÀåÀº 2017³â¿¡ 18% ¼ºÀåÇÒ °ÍÀ¸·Î º¸ÀδÙ.
Áö¼ÓÀûÀÎ ÅëÇÕ Åø°ú Áö¼ÓÀûÀÎ ¹èÆ÷ Åø
¸¶ÀÌÅ©·Î¼ºñ½º ¾ÖÇø®ÄÉÀ̼ÇÀ» È°¿ëÇÏ´Â ±â¾÷µéÀÌ ´Ã¾î³ª¸é¼ ¡®Áö¼ÓÀûÀÎ ÅëÇÕ¡¯°ú ¡®Áö¼ÓÀûÀÎ ¹èÆ÷¡¯µµ Áß¿äÇÑ °³³äÀ¸·Î ÀÚ¸® Àâ±â ½ÃÀÛÇß´Ù. ÁÙ¿©¼ CI(continuous integration)¿Í CD(continuous delivery)¶ó°íµµ ÇÑ´Ù. CI´Â »õ·Î¿î Äڵ带 °øÀ¯µÈ ÀúÀå¼Ò¿¡ Àû¾îµµ ÇÏ·ç¿¡ ÇÑ ¹ø ÀÚµ¿À¸·Î ÁÖÀÔ½ÃÅ°´Â °ÍÀ» ¸»ÇÑ´Ù. º¸ÅëÀº ÇÏ·ç¿¡ ÇÑ ¹ø ÀÌ»óÀÇ ÁÖ±â·Î ¼³Á¤µÈ´Ù. CD´Â ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¸¦ ¿Â¶óÀÎ ¼¥°ú °°Àº ¹èÆ÷ ȯ°æÀ¸·Î ÀÚµ¿À¸·Î ¿Å±â´Â ±â¼úÀÌ´Ù. CI¿Í CD´Â º¸Åë ÇÔ²² »ç¿ëµÈ´Ù. Á¨Å²½º(Jenkins), Çãµå½¼(Hudson), ¼ÎÇÁ(Chef) µîÀÇ ÅøÀÌ À¯¸íÇÏ´Ù.
¾ÖÇø®ÄÉÀÌ¼Ç ¸ð´ÏÅ͸µ
¸¶ÀÌÅ©·Î¼ºñ½º ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ°í ¹èÆ÷ÇÏ´Â ±â¼ú ¿Ü¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼º´É¿¡ ÃÊÁ¡À» ¸ÂÃá ¸ð´ÏÅ͸µ ±â¼úµµ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù. ÇÏÁö¸¸ ÇöÁ¸ÇÏ´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¸ð´ÏÅ͸µ ÅøµéÀº ´ëºÎºÐ ¡®¿öÅÍÆú(waterfall)¡¯ ¹æ½ÄÀ¸·Î ¸¸µé¾îÁ³´Ù. Áï, ÇöÀçÀÇ µ¥ºê¿É½º³ª ¸¶ÀÌÅ©·Î¼ºñ½º ȯ°æ°ú ±ÃÇÕÀÌ ÁÁÁö ¾Ê´Ù´Â °ÍÀÌ´Ù. ±×³ª¸¶ Àü¹®°¡µéÀÌ ±ÇÀåÇÏ´Â ÅøÀº ÇÁ·Î¸ÞÅ׿콺(Prometheus), ´ÙÀ̳ªÆ®·¹À̽º(Dynatrace), ¾Û´ÙÀ̳»¹Í½º ¸¶ÀÌÅ©·Î¼ºñ½º iQ(AppDynamics Microservices iQ), ÀνºÅ¸³ª(Instana)°¡ ÀÖ´Ù.
API
¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽ºÀÇ Áظ»ÀÎ API´Â ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØóÀÇ »ýÇ÷°ú °°Àº Á¸Àç´Ù. °¢°¢ÀÇ ¸¶ÀÌÅ©·Î¼ºñ½ºµéÀº API¸¦ °¡Áö°í Àִµ¥, ÀÌ API¸¦ ÅëÇØ ´Ù¸¥ ¸¶ÀÌÅ©·Î¼ºñ½º¿ÍÀÇ ¡®±³·ù¡¯¿Í ¡®»óÈ£Àۿ롯À» ÇÑ´Ù. API°¡ Àֱ⠶§¹®¿¡ ¼ºñ½º¸¦ Àß°Ô ÂÉ°³´Â °Ô °¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù. ±â¾÷µéÀº API¸¦ ¿ÜºÎÀο¡°Ô Àû±Ø ³ëÃâ½ÃÄÑ Á¦3ÀÚ°¡ µ¶ÀÚÀûÀÎ ¾Û °³¹ß µîÀ» ÅëÇØ ÀڽŵéÀÌ Á¦°øÇÏ´Â ¼ºñ½º¸¦ È°¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ÀÌ·¡¼ µîÀåÇϱ⠽ÃÀÛÇÑ °Ô API °ü¸® ¼Ö·ç¼ÇÀÌ´Ù.
REST
Ç¥Çö »óÅ Àü¼Û(Representational State Transfer)ÀÇ Áظ»ÀÎ REST´Â ¸¶ÀÌÅ©·Î¼ºñ½ºµé »çÀÌÀÇ Åë½Å°ú ±³·ù, »óÈ£ÀÛ¿ëÀÌ ¹®Á¦°¡ µÊ¿¡ µû¶ó ´ëµÎ°¡ µÇ°í ÀÖ´Â ±â¼úÀÌ´Ù. »ç¿ëÀÌ ¸Å¿ì °£ÆíÇØ °³¹ßÀÚµé »çÀÌ¿¡¼ ÀαⰡ ³ô´Ù. ¸¶ÀÌÅ©·Î¼ºñ½ºµéÀÌ HTTP¸¦ ÅëÇØ °ðÀå »óÈ£ Åë½ÅÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ¸ç, ¿äû°ú ÀÀ´äÀº XML, HTML, JSON°ú °°Àº Ç¥ÁØ Æ÷¸ËÀ¸·Î 󸮵ȴÙ. ¶ÇÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÖÇø®ÄÉÀ̼ǵéÀÌ ´ëºÎºÐ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ̱⠶§¹®¿¡ À¥ ±â¼ú ÀÇÁ¸µµ°¡ ³ôÀº REST´Â ´ç¿¬ÇÑ ¼±ÅÃÀ̾ú´Ù.
[±¹Á¦ºÎ ¹®°¡¿ë ±âÀÚ(globoan@boannews.com)]
Copyrighted 2015. UBM-Tech. 117153:0515BC
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>