CA테크놀로지스, 마이크로서비스 구현 위한 가이드 제시

[아이티데일리] 애자일(Agile)이나 데브옵스(DevOps)를 가능케 하는 마이크로서비스 환경은 개발자에게 전체 프로세스에 대한 총체적인 시각을 제공하고 개발에서 출시까지 소요되는 시간을 단축시킨다. 올바르게 구현된 마이크로서비스 환경은 서비스 안정성을 확보하면서도 기업의 혁신을 가속화할 수 있다.

마이크 아문센(Mike Amundsen) CA테크놀로지스 API아카데미 API아키텍처담당 이사는 “코드 한 줄을 바꾸기 위해 어떤 기업은 3개월이 걸리기도 하고, 다른 기업은 3주가 걸리기도 한다. 성공적인 마이크로서비스 환경을 갖춘 기업은 이를 단 하루만에도 할 수 있다”고 말했다.

▲ 마이크 아문센 CA테크놀로지스 API아카데미 API아키텍처담당 이사

마이크 이사는 마이크로서비스의 구현을 위해서는 기술적인 요소보다 조직의 구성, 문화, 워크 프로세스와 도구 등이 더욱 중요하다고 강조했다. 다시 말해 ▲보다 작은 서비스를 만들고 ▲팀의 규모를 적절하게 유지하며 ▲적합한 도구와 API를 활용해야 한다는 설명이다.

큰 규모의 소프트웨어(SW)는 개발에 오랜 시간을 필요로 한다. 이러한 SW를 개발하는 기업들은 분기에 한 번, 길게는 반년에 한 번씩 업데이트를 발표하기도 한다. 이들은 적절한 시기에 필요한 서비스를 제공할 수 없음은 물론, 시장의 변화에 따라 수정이 필요할 경우 이에 민첩하게 대응할 수도 없다.

마이크로서비스는 짧은 기간에 만들 수 있는 여러 개의 작은 서비스를 다량으로 만들어 이러한 문제를 해결한다. 독립적으로 운용될 수 있는 작은 서비스들을 빠르게 개발하고 이들의 조합과 상호작용을 통해 보다 큰 규모의 서비스를 구현한다. 따라서 기업은 개발에서 출시까지의 기간을 획기적으로 앞당길 수 있으며 시장 변화에도 유연하게 대처할 수 있다.

마이크 이사는 또한 “마이크로서비스에서 오해하지 말아야 할 점은, SW를 더 많이 출시하는 것이 아니라 하나의 SW도 보다 작게 쪼개서 출시한다는 것”이라며, “독립적인 서비스를 빠르게 개발·수정할 수 있는 환경을 만들어 워크 인 프로그레스(WIP)를 줄이는 것이 마이크로서비스의 주요 측정 지표”라고 설명했다.

적절한 팀 규모에 대해서는 던바의 법칙(Dunbar’s Number)이 제시됐다. 마이크로서비스에 있어서 가장 적절한 인원은 1레벨과 2레벨에 해당하는 5~15명이며, 던바의 법칙에 따르면 이는 일을 가장 효율적으로 수행할 수 있는 조직 규모다. 제프 베조스 아마존 CEO는 이를 ‘피자 두 판을 먹을 수 있는 팀’으로 정의했으며, 마이크로소프트는 ‘매직 세븐’이라는 용어를 제시한 바 있다.

작은 규모의 팀을 여러 개 구성하고 자체적인 의사결정을 내릴 수 있는 자율성을 부여한다면 조직의 창의성과 속도를 향상시킬 수 있다. 마이크로서비스를 위해서는 각각의 팀이 다른 팀과 유기적으로 소통하는 한편, 다른 팀의 업무와 관계없이 독립적으로 서비스의 개발과 출시를 진행할 수 있어야 한다.

적합한 도구·API의 활용 역시 마이크로서비스의 중요한 요소다. 예를 들어 잘 구축된 마이크로서비스는 자동화된 테스트 도구를 활용한다. 코드의 정합성·의존성·복잡성 등을 자동화된 테스트 도구로 검토함으로써 개발에서 출시까지 소요되는 시간을 단축할 수 있다.

특히 마이크로서비스를 위한 API에 대해서는 ▲인간과 머신을 동시에 고려한 메시징 포맷을 사용할 것 ▲동일한 프로세스에 대해 인터페이스를 다양화할 것 ▲서비스와 인터페이스의 설계를 분리할 것 등이 강조된다.

마이크 이사는 끝으로 “마이크로서비스를 위해서는 한 번에 모든 것을 바꾸려는 ‘빅뱅’ 방식의 접근이 아니라, 작은 성공 사례를 만들고 이를 확대해나가는 과정이 필요하다”며, “독립적으로 움직이는 팀들과 이를 투명하게 관리할 수 있는 전사적인 가시성이 마이크로서비스의 성공을 위한 핵심”이라고 강조했다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지