- 5
- 이니스프리
- 조회 수 2171
안녕하세요? :)
즐거운 주말 보내고 계시는지요?
개발을 할 때 랩탑을 이용하는 것보다 서버를 사용하면 더 높은 사양의 하드웨어를 활용할 수 있고,
특히 딥러닝에서는 고성능 GPU의 서버를 사용하는지 여부가 중요한 것 같습니다.
최근 MSI 게이밍PC를 쿠팡에서 할인을 중복 적용하여 22개월(!) 할부로 구매하기는 했는데,
집, 회사, 카페 또는 제3의 장소 불문하고 동일한 환경에서 개발을 하고 싶습니다 ^^
그래서 Visual Studio Code Server를 테스트해봤는데
일부 익스텐션이 설치되지 않는 등 약간의 문제가 없지는 않네요 ㅠ.ㅠ
제 개인적인 소견으로는 VS Code Server의 완성도가 높기는 하지만
로컬에서 작업하는 것을 100% 재현해내지는 못하더군요.
대안으로 팀뷰어를 사용하여 서버에 접속해서 개발을 하는 방법을 고려했는데요.
팀뷰어 공식 홈페이지를 확인해보니 개인 라이선스 가격이 월 16,900원이고,
장비 3대까지 허용된다고 하네요 ^^
https://service.teamviewer.com/ko-kr/overview
물론 팀뷰어를 통해 접속하면 디스플레이 측면에서 해상도 저하나 딜레이 등이 발생하겠지만,
제가 하는 작업이 디자인 측면은 그다지 고려되지 않는 관계로 큰 문제는 없을 것 같습니다 :)
그런데 팀뷰어를 사용해서 서버에 접속하여 개발을 하는 사례는 구글링을 해도 잘 확인되지 않는군요 ㅠ.ㅠ
(참고로 X11 포워딩을 사용하시는 분들은 적지 않게 있는 것 같습니다)
제가 미처 예측하지 못한 어떠한 문제로 인하여
팀뷰어, 애니데스크, 구글 원격 데스크탑, 비롯한 원격 접속 프로그램을 통해 서버에 접속하는 방식으로 개발을 하지 않는 것인지
우문에 현답을 부탁드립니다 ^-^
그럼 즐거운 주말 되세요~!
답변 달아주실 분들께 미리 감사드립니다 :)
추천인 2
작성자
댓글 5
예 안녕하세요? ^^
밤늦게 답변 달아주셔서 감사드립니다!
말씀하신 두 개 중에서 전자를 말씀드린 것이 맞습니다 :)
Github에 'code-server'라는 명칭으로 올라왔는데
(https://github.com/coder/code-server)
MS 공식 홈페이지에서는 'VS Code Server'라는 명칭을 사용하길래,
본문에 'VS Code Server'라고 기재했는데 제가 헷갈리게 적었네요 ㅎㅎ
code-server 자체의 완성도는 높은 것 같은데
저도 말씀하신 것과 유사한 문제를 겪어서 다소 아쉽고 적극적으로 활용하기가 꺼려지네요 ㅠ.ㅠ
말씀하신대로 브라우저 기반이라는 특성 때문에 아무래도 한계가 있겠죠.
저도 많이 사용해보지는 않았지만 code-server를 돌리는 것 자체가
서버의 리소스를 생각보다 적지 않게 잡아먹더군요.
'Remote Development' 익스텐션(Remote-SSH 포함)을 사용하는 방법으로 좀 더 고민해보겠습니다.
그럼 평안한 주말 밤 되세요 :)
다시 한 번 감사드립니다!
개인이 윈도우에서 작업한다고 한다면 저는 개인적으로 RDP 추천하고 싶습니다.
또한, 작업 환경을 구축할 때 온전한 서버로 각종 서비스를 설치해서 외부에서도 각각의 서비스를 바로 접근할 수 있으면 좋겠지만
단순히 외부에서도 똑같은 윈도우를 사용하고 싶다면 개인적으로 RDP 사용입니다.
단점은 여러 사람이 각각의 세션으로 동시에 참여가 안된느 것은 흠이지만 Windows Server 버전을 사용하면 이 문제로 해결됩니다. (물론 비용이 문제겠지만요.)
저는 혼자서 접속을 할 예정이고, 윈도우 Pro 이상을 사용한다면 팀뷰어나 구글 데스크탑 같은 추가적인 프로그램 설치하는 것을 선호하지 않습니다.
그 이유는 사용의 편리함은 있지만 서드파티 프로그램 때문에 발생하는 문제를 원치 않기 때문입니다.
또한 리소스 절약의 의미도 조금은 있구요.
애초에 네트워크 지식이 있어서 라우터에서 포트를 개방할 줄 알고 외부에서 연결이 가능하도록 설정할 수 있다면 윈도우 원격 데스크탑을 활성화 해서 접속하는게 제일 나아 보입니다.
윈도우11의 원격데스크탑은 기술의 발전을 많이해서 다른 사용 프로그램만큼 제법 쓸만합니다.
RDP 장점은
1. 윈도우에서 지원하는 서비스 (체크한방으로 설정 끝)
2. 추가적인 리소스가 들어가지 않음.
3. 3389 라는 대중적인 포트라 클라이언트 입장에서 설정이 편안함.
4. 다른 계정 추가 필요없이 마소 계정으로 접근이 가능
5. 앱이 마소에서 개발된 앱이라 업데이트가 괜찮음.
6. 개인이 사용하는 환경만으로 보다면 로컬에서의 작업과 99% 가까움 (개인적으로는 100%라고 생각합니다.)
7. 원격과 로컬과의 복사나 이동이 상당히 잘 됨
반면에 단점은
1. 화면 공유나 작업 coworking 이 지원되지 않음. (혼자서만 사용한다면 전혀 단점이 아닙니다. 오히려 장점이 될 수도 있습니다.)
2. 네트워크 설정 지식이 다소 필요함. (연결이 간편하지 않음)
3. 세션을 하나만 사용가능함 (일반적인 client 버전 윈도우에서만 여러 환경에서 동시에 접속은 불가능)
저는 이미, 각기 다른 환경에 원격 서버3개 두고 작업중입니다.
하나는 완전 개인목적으로 활용할 노트북이고
두번째는 가장 사양이 좋은 메인컴을 WOL 과 사용해서 원격에서 사용중입니다. (스테이블 디퓨전 같은 작업을 원격으로 할 때 주로 사용합니다.)
세번째는 스포어 서버를 로컬로 연결하기 위한 원격 관리용 PC 입니다.
윈도우를 사용하시는지 리눅스를 사용하는지 아님 다른 OS를 사용하는지 몰라서 윈도우 작업 기준으로 적어봤습니다.
개인적으로 항상 RDP 사용하면서 굳이 다른 원격 접속 프로그램을 쓸 일이 있나? 생각합니다.
마스터님 안녕하세요? ^-^
밤늦은 시간에 상세한 답변을 달아주셔서 진심으로 감사드립니다.
마스터님의 경험에서 우러나오는 심도깊은 말씀이 정말 큰 도움이 되었습니다!
여러 PC에서 개발을 하다보니 파일 버저닝이나 모듈 버전 관리 등 문제에 부딪히게 되어
통합적인 작업 환경을 구축할 필요성을 느끼게 되었습니다.
윈도우에서 잘 돌아가는 코드가 우분투에서 사소한 이유로 안 돌아가는데
제가 실력이 부족해서 그걸 발견하는데 한참이 걸리는 경우도 종종 있었습니다.
말씀하신대로 서버와 클라이언트 양측 모두에서 윈도우를 사용한다면 RDP가 최선일 것 같습니다.
경험상 맥은 일반적인 Python 개발을 하는 경우에는 윈도우보다 여러 측면에서 안정적이던데
GPU의 한계(CUDA 미지원), macOS에 따른 HFS+ 파일시스템의 문제 등 이슈가 있더군요.
특히 딥러닝 용도로는 인텔 CPU + 엔비디아 GPU 조합이 최선일텐데요.
드물지만 vPRO가 적용된 메인보드를 사용하는 NUC 중에서
RTX 4070 정도 사이즈의 그래픽카드를 설치할 수 있는 모델을 직구할 수 있던데 재고가 얼마 남지 않았더군요 ㅎㄷㄷ
조금 애매한 포지션이지만 QNAP에서 i3~i9 CPU에 GTX 그래픽카드를 설치할 수 있는 NAS도 판매하구요.
최종적으로 어떤 것을 서버로 사용하게 될지는 좀 더 고민해보겠습니다!
code-server를 고려했던 이유는 가장 범용적인 클라이언트 환경에서 활용할 수 있기 때문이었습니다.
다만 본문과 위의 댓글에서 말씀드린 이유로 인해 VS Code 프로그램 자체를 완벽히 대체하기는 어려운 것으로 생각되어
결론적으로 마스터님께서 말씀해주신 방식으로 구축할 수 있도록 진행해보겠습니다.
저도 스테이블 디퓨전 등 텍스트-이미지 생성 작업을 간간히 돌리기는 해서요 ^^
회사에서 막혀있는 포트(3389)는 없는지, 맥과 iOS에서 MS RDP의 안정성 관련 이슈(한영 전환 등) 측면도 더 알아보고 고려해보겠습니다.
GPU 성능을 요하는 작업은 RDP로 집 데스크탑을 사용하고,
다른 작업은 Vultr의 베어메탈을 임대해서 돌리는 이원화된 방식도 고민해보겠습니다.
그럼 마스터님께서도 요새 일교차가 큰데 감기 조심하시고, 부디 뜻깊은 주말 되세요!
사업도 더욱 번창하시기를 기원합니다.
다시 한 번 진심으로 감사드립니다 :)
전자는 code-server라는 도커를 설치해서 사용해봤는데 마이크로소프트의 마켓플레이스가 아니라 오픈소스 마켓플레이스를 사용해서 확장이 없는 게 많더라고요. 이건 마이크로소프트 마켓플레이스로 바꾸는 방법이 있어서 해결했고 브라우저 환경이라는 한계 때문인지 몇몇 확장이 제대로 작동하지 않았던 경험이 있습니다.
후자는 딱 한번 써봤는데 잠깐 써본 거라 딱히 불편한 건 못 느꼈습니다. 데스크톱 vs code를 사용하다 보니까 이쪽이 좀 더 로컬 개발환경에 가깝지 않나 싶습니다.