개발자 / 클라우드

IDG 블로그 | 클라우드 이식성이 불가능한 이유

David Linthicum | InfoWorld 2018.01.22
이식성(Portability)이란 애플리케이션을 한 호스팅 환경에서 다른 호스팅 환경으로 옮길 수 있다는 것을 의미한다. 여기에는 한 클라우드에서 다른 클라우드로, 즉 AWS에서 마이크로소프트 애저로 옮기는 것도 포함된다. 이렇게 애플리케이션을 한 플랫폼에서 다른 플랫폼으로 이식하는 데 필요한 작업은 구체적인 환경에 따라 달라진다.

Image Credit : GettyImagesBank

컨테이너는 이런 이식을 한층 쉽게 만들어주는 기술의 하나로 여겨진다. 애플리케이션과 운영체제로 하나의 묶음으로 캡슐화해 도커나 쿠버네티스 같은 컨테이너 표준을 지원하는 플랫폼에서 구동할 수 있기 때문이다. 하지만 컨테이너가 만병통치약은 아니다.

실제로 애플리케이션 이식은 컨테이너이건 아니건 서로 다른 환경의 호환성 문제를 처리하기 위해 엄청난 양의 계획 작업이 필요하다. 컨테이너 기술을 사용한다고 플랫폼에서 플랫폼으로, 클라우드에서 클라우드로 컨테이너화된 애플리케이션의 이식을 보장받지는 못한다. 예를 들어, 리눅스용 컨테이너화된 애플리케이션을 윈도우로 이식할 수는 없다.

컨테이너는 운영체제와 애플리케이션을 하나로 묶는 멋진 방법임이 틀림없다. 컨테이너 기술을 활용하면 한층 개선된 이식성 역량을 얻을 수 있다. 많은 사람들이 믿는 것처럼 “어떤 플랫폼에서 어떤 플랫폼으로도 이식할 수 있는 역량”을 주지는 않는다.

물론 기업에 이식성은 중요하다. 그리고 이식은 언제나 할 수 있다. 필요한 것은 처음 애플리케이션을 만들 때와 비교할만한 엄청난 계획 작업이다.

충분한 시간과 돈만 있다면, 모든 애플리케이션을 이식할 수 있다는 것이 부정할 수 없는 사실이다. 여기서 중요한 것은 플랫폼 간의 이식에 필요한 작업을 최소화할 수 있도록 애플리케이션을 만들거나 크로스 플랫폼 애플리케이션 호환성을 제공하는 데 도움이 되는 기술을 이용하는 것이지만, 어디까지나 공식의 일부에 불과하다.

따라서 이식성은 이진법적인 것이 아니다. 즉 되고 안되고의 문제가 아니다. 대답은 회색 영역에 속한다. 많은 IT 책임자가 그토록 싫어하는 “때에 따라 다르다”는 것이다.

이식성을 이해하는 데 가장 결정적인 것은 아마도 치러야하는 대가일 것이다. 바로 모든 환경에 걸쳐 지원되는 최소공통분모 기능만 사용하기 때문에 기능성이 떨어지기 진다는 것이다. 네이티브 플랫폼이나 클라우드 기능을 더 많이 사용하는 애플리케이션일수록 이식의 난이도는 높아진다. 이유는 간단하다. 많은 쓸만한 기능이 특정 운영체제나 언어, 클라우드 플랫폼, 기타 기술에 묶여 있으며, 이들 기능은 그냥 그대로 옮겨지지 않는다. 이식할 수 없는 경우도 있다.

이런 문제를 완화하는 유일한 방법은 계획과 설계 과정이다. 그럼에도 기술이 계속 변화하기 때문에 쉽지 않다. 이식성은 앞으로도 이진법적인 문제가 아니라 회색 영역에 속할 것이다.  editor@itworld.co.kr
 Tags 포팅 이식성

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.