STUDY/기획

[용어] 마이그레이션, 포팅, 컨버팅

sorrow16 2020. 12. 26. 13:16

 

 

1. 마이그레이션(migration)

 

마이그레이션은 하나의 운영체제(OS)를 다른 운영체제로 옮겨가는 과정을 뜻합니다. 일반적으로 더 나은 운영 체계로 나아가는 과정을 말합니다. 예를 들어 '기존에 사용하던 윈도우를 더 높은 단계의 윈도루 버전으로 옮겨가는 과정이나', '기업에서 도입한 새로운 하드웨어와 소프트웨어 중 하나 또는 둘다 바뀌는 환경으로 이주하는 것', '데이터를 다른 저장 장치로 옮기는 과정'등을 뜻합니다.

 

마이그레이션의 핵심은 이전 운영체제에서 사용하면서 설정해둔 프로그램 내용을 변경하지 않고 다른 응용프로그램에서도 활용할 수 있도록 하는 것입니다.

 

가장 보편화된 마이그레이션으로 휴대폰 데이터를 마이그레이션을 통해 동기화하는 과정을 떠올릴 수 있습니다.

 

애플은 아이폰11부터 마이그레이션을 통한 자동 동기화 기능을 제공했는데요. 이를 통해 아이튠즈나 클라우드를 통해 자료를 백업 받지 않아도 수분 내에 기존에 사용하던 휴대폰의 자료, 애플리케이션, 등록 설정까지 모두 새로운 휴대폰으로 올겨올 수 있습니다. 요즘처럼 OS가 빠르게 발전하고 다양해지는 시대에선 마이그레이션 기능이 필수처럼 여겨지기도 하는데요.

 

하지만 데이터베이스를 마이그레이션 하느 경우 새로운 데이터베이스가 이전의 데이터베이스와 구성요소가 다를 수도 있기 째문에 새로운 데이터베이스와 공통된 형식으로 데이터를 변환하는 작업 등이 필요할 수 있습니다.

 

 


2. 포팅(Porting)

 

포팅은 컴퓨터 용어로 '이식'이란 뜻을 갖고 있습니다. CPU, 운영체제 등 소프트웨어를 원래 설계된 컴퓨팅 환경이 아닌 각기 다른환경에서도 동작하 수 있도록 해당 환경에 맞춰주는 작업을 뜻합니다.

 

쉽게 말해 한 소프트웨어를 다른 기종의 컴퓨터로 또는 프로그램으로 옮기는 과정을 말합니다. 예를 들어 윈도우용 프로그램으로 만들어진 소프트웨어를 리눅스나 맥에서 구동할 수 있도록 변경하거나 , iOS용으로 개발된 앱을 안드로이드에서 활용할 수 있도록 하는 작업입니다.

 


3. 컨버팅(Converting)

 

컨버팅이란 공통적으로는 '바꿔준다'라는 뜻을 가지고 있습니다. 즉 A를 B에서도 이용할 수 있도록 변경하는 것을 뜻합니다.

 

IT 개발에서 컨버팅은 개발된 프로그램을 언어만 변경해 같은 플랫폼에서 같은 동작이 가능하도록 수정하는 작업을 의미합니다. 바꿔준다는 점에서 포팅(Porting)과 구분하기 어려울 수 있습니다. 만약 같은 플랫폼 상에서 개발 언어만 다르게 변경하다면 컨버팅, A 플랫폼에 맞게 만들어진 프로그램을 B 플랫폼에 맞게 변경하는 과정은 포팅이라고 합니다.

예를 들어 현재 JAVA로 개발된 윈도우 프로그램을 C#으로 만들어 같은 윈도우에서 동작하도록 개발언어를 변경하는 작업을 컨버팅이라고 합니다.