개발 및 프로그래밍 관련

VDI환경에서 프로그램 개발

윤꾸물 2021. 12. 31. 14:08

 최근 이커머스 프로젝트에서  VDI 환경에서 개발을 진행 중에 있습니다. VDI 환경이란, 가상 데스크톱 인프라로써, 가상 머신을 사용하여, 데스크톱 환경(이미지)을 제공해 주는 기술입니다. 최근 코로나19 이후 재택근무 확산으로 VDI 솔루션이 각광을 받고 있기도 합니다. (VDI 가상화 프로그램 또는 솔루션은 구글링 하면 많이 나오더군요)

 흔히 알고 있는 데스크톱 환경에서 가상 머신(VM) 과는 조금 차이가 있는데, VM은 자신의 로컬 PC 내에 새로운 가상 환경을 설치하는 것이고, VDI는 원격으로 접속한 사용자에게 가상 데스크톱 이미지를 제공하는 것으로 되어있습니다. 예를 들어, VDI 환경은 인터넷 브라우저 상에서 접속을 통해 가상 데스크톱에 접속 후 작업이 가능하다고 생각하면 될 듯합니다.

 VDI 환경에서 프로그램 개발 시 장점으로는 장비(PC)의 다양성 또는 파편화가 없어지게 되므로 모두가 획일적인 환경에서 업무, 개발을 진행할 수 있으며, 프로젝트 룸 또는 개발 사무실에서 일하다가 집에서 일할 때 업무 환경을 동일하게 가져갈 수 있다고 합니다. (뭐 업무 환경에 따라 VPN으로 집에서도 접속할 수 있는 환경이 되게 해야 되는 경우도 필요합니다. 하지만 집에서도 일을 할 수 있다는 것은 좋은 것만은 아닌 듯...)

 이러한 장점으로, 프로그램 개발 시 환경 세팅을 같은 데스크톱 환경에 구축할 수 있으며, 같은 host 환경이나, 접속 환경에서 개발을 진행할 수 있으므로 개발자 각각의 PC 환경에 따른 개개인의 세팅 오류 등이 현저히 줄어들어 개발에 집중할 수 있게 될 듯합니다.(집중과 효율이 좋아질 가능성이 있다는 정도?)

 다만 단점으로는 개인 장비보다 상대적으로 낮은 성능(현재 win7 ram 8GB)과, 듀얼 모니터의 활용을 잘 못해서 (모든 VDI 환경이 그렇지는 않을 듯합니다. 제가 최근에 접한 VDI 환경에서는..) 많은 내용을 참고(웹 화면, 코딩 스크립트 화면, 개발 디버깅용 터미널이나 콘솔 확인 등등)해야 되는 프로그램 개발에서는 어려움 등이 있습니다. 또한 보안이 철저한 곳은 VDI 환경에서의 작업 파일을 외부로 유출(?)등이 안 되는 일반적인 개발 환경이 아니어서 불편한 경우가 많았습니다. 제 개인적인 경험이라, 모두에게 적용되는 상황은 아닙니다. 

 장비를 업그레이드하려고 했는데, 현재 있는 장비도 VDI와 사용자를 연결하는 중간 연결 기기(?) 역할을 하고 있는 상황에서는 VDI 데스크톱의 사양이 좋지 않으면, 아무리 개인 장비의 사양이 좋더라도 의미가 없어서, 이번에 장비 업그레이드는 내년으로 미루게 되었네요.

 예전에 클라우드 기반으로 또는 VPN 환경에서 개발경험이 있어서 그렇게 어렵지 않을 줄 알았는데, 최근에 이러한 환경에서의 개발을 오랜만에 진행 하면서 처음에는 버벅 대다가도, 지금은 이 환경도 익숙해지면서 개발을 하고 있습니다.

 역시 사람은 적응의 동물인가 봅니다.