[디지털데일리 권하영기자] “클라우드 네이티브 아키텍처의 핵심은 어떤 플랫폼에서든 호환될 수 있다는 점이다. 클라우드라는 인프라의 구조 방식에 집중하기보다 애플리케이션을 어떻게 개발하고 호스팅할 것인지에 집중해야 한다.”
이진현 맨텍 상무<사진>는 11일 서울 중구 더플라자호텔에서 <디지털데일리>가 주최한 ‘2020년 전망, 금융IT 이노베이션’ 컨퍼런스를 통해 ‘대세는 클라우드 네이티브 아키텍처’를 주제로 발표하면서 이같이 강조했다.
클라우드 네이티브 아키텍처(Cloud Native Architecture·CNA)란, 응용프로그램 개발·운영과 관련해 하드웨어와 운영체제에 종속되지 않고 호스팅할 수 있는 컴퓨팅 환경을 마련하는 것이다. 애플리케이션을 개발할 때 어떤 플랫폼에서든 호환될 수 있도록 하는 것이 핵심이다. 애플리케이션의 신속한 배포와 롤백이 필요해지면서 각광을 받기 시작했다.
CNA를 위해서는 마이크로서비스아키텍처(MSA), 컨테이너, 데브옵스 등 3가지 요소 중 최소 하나를 충족해야 한다.
MSA는 하나의 큰 애플리케이션을 서비스 단위로 작게 나눠 서비스들끼리 서로 통신하는 형태의 아키텍처다. 각 서비스를 독립적으로 개발·배포할 수 있는 게 장점이다. 각 서비스 장애가 전체 장애로 이어지지 않아 유지보수도 쉽다. 단점은 서비스 간에 API 통신이 필요하다 보니 모놀리스보다 성능이 저하된다. 서비스 단위 테스트와 통합 테스트 정책도 필요하다.
이진혁 상무는 “기존 환경을 MSA로 전환할 때는 기존 통합된 데이터베이스를 어떻게 나눌 것인지, 각 API 호출에 대한 싱글 엔트리 포인트 처리를 어떻게 할지 등을 고려해야 한다”면서 “무엇보다 애플리케이션을 무조건 쪼갤 필요는 없기 때문에, 내가 운영하는 앱이 큰 앱인지도 봐야 한다”고 조언했다.
컨테이너는 운영체제(OS)를 가상화하는 클라우드 기술 중 하나다. 애플리케이션과 이를 실행하는 라이브러리, 바이너리, 구성파일 등을 하나로 묶는다. 호환성이 뛰어나 어떤 환경에서든 배포할 수 있고, OS가 없어 크기가 작은 덕분에 기존 환경에선 5~10분 걸리던 것이 10여초로 단축될 정도로 속도가 빠르다.
이 상무는 “컨테이너를 적용하면 일관된 환경에서 오류가 최소화되고 지속적으로 최적화된 애플리케이션 환경을 유지할 수 있다. 운영 효율성과 개발자 생산성이 올라간다. 또 서로 다른 기종의 물리, 가상, 클라우드 간 마이그레이션이 불필요하며 이기종 인프라 간에 배포와 확장이 가능하다”고 설명했다.
데브옵스는 개발자와 IT 운영 전문가 간의 소통, 협업, 통합을 강조하는 개발 방법론이다. 소프트웨어와 서비스를 빠른 시간에 개발하고 배포하는 것을 목적으로 한다.
이 상무는 “데브옵스를 도입할 때 보통 툴 만능주의에 빠지는데, 문화 정착이 되지 않으면 반드시 실패한다”고 언급했다. 소스→코드 리뷰 →빌드→배포→이슈 관리→소스로 이어지는 프로세스 정립과 문화 정착이 필요하다는 제언이다. 그렇지 않으면 툴만 도입한 상태로 원래 환경대로 돌아갈 수밖에 없다고 그는 지적했다.
마지막으로 이 상무는 “클라우드는 어떤 식으로 생산하고 호스팅하느냐에 집중해야 한다. 그래야 마이크로서비스, 컨테이너, 데브옵스가 다 성공할 수 있다. CNA는 민첩성과 확장성이 요구되는 환경에서 적합하다. 툴에 집중하기보다 문화 정착에 반드시 집중해야 한다”고 강조했다.