NCP 활용 프로젝트 소개

 


인사 


안녕하세요. 오늘은 NCP(네이버 클라우드 플랫폼)을 활용해 저희 팀이 자체적으로 OS를 생성하고 구현한 후기를 공유해보려고 합니다.

저희 프로젝트는 사용자가 직접 웹 환경에서 ‘운영체제’를 경험할 수 있도록 만드는 것을 목표로 했습니다. 이를 위해 가상 파일 시스템 기반 터미널, Redis Pub/Sub을 이용한 실시간 브로드캐스팅, 창 관리자(Window Manager) 등을 구현하며 실제 운영체제와 유사한 환경을 제공하고 있습니다.

이번 OS 프로젝트를 기획한 이유는 단순한 재미를 넘어, 운영체제의 구조를 깊이 이해하고 직접 만들어보며 학습하는 것에 있었습니다. 그래서 리눅스 시스템의 핵심 구성 요소인 ext4 파일 시스템, 디스플레이 서버(Display Server) 등을 참고해 구조를 설계하고 기능을 구현했습니다.

아래 링크에서 저희가 만든 Web OS 프로젝트를 확인하실 수 있습니다.

프로젝트 링크



NCP 활용


저희 프로젝트에서는 NCP의 Server, VPC, Public IP 등 핵심 인프라 서비스를 적극적으로 활용했습니다. 이를 기반으로 전체 시스템 아키텍처를 구성할 수 있었고, 개발·테스트·배포 환경을 안정적으로 운영할 수 있었습니다.



✔ 사용한 서버 구성

저희가 사용한 NCP 서버는 총 3대로, 역할은 다음과 같이 나뉘어 있습니다.

  1. Infra 서버(1대)

    • MySQL 및 Redis 운영

    • 테스트용 및 실제 배포용 인프라를 모두 담당

    • 실제 운영 환경의 안정성을 위해 배포용 MySQL과 Redis는 서버에 직접 설치하여 운영

    • 테스트용 환경은 Docker 기반 MySQL·Redis 컨테이너로 구성해 가볍고 유연하게 관리

  2. 테스트 서버(1대)

    • 실제 배포 전에 검증하는 Staging 환경으로 사용

    • 기능 테스트, 성능 측정, 장애 여부 파악 등 사전 검증 수행

    • Git과 Docker만 설치하여 운영 환경과 최대한 유사하게 유지

  3. 배포 서버(1대)

    • 실제 서비스가 동작하는 서버

    • 테스트 서버와 거의 동일한 환경(Git + Docker 기반)

    • 차이점: HTTPS 제공을 위해 Certbot 설치 및 SSL 인증서 적용

✔ 네트워크 구성

NCP는 기본적으로 사설 네트워크(VPC) 기반으로 동작하므로, 외부 접근을 위해 Public IP를 별도로 할당해 외부에서 안정적으로 접속할 수 있도록 구성했습니다. 모든 서버는 하나의 VPC 내부 서브넷에서 관리하여 네트워크적으로 격리되고 효율적으로 동작하도록 설계했습니다.



NCP 후기 


그동안 제가 주로 사용해온 클라우드 서비스는 AWS였습니다. 물론 예전부터 NCP가 존재했지만, AWS가 업계에서 가장 널리 쓰이고 기능도 가장 많다 보니 개인적으로 큰 기대를 하지 않았던 것이 사실입니다. 하지만 이번 프로젝트를 통해 NCP를 직접 사용해보고 생각이 완전히 달라졌습니다. 예상보다 훨씬 만족스러운 경험이었고, 특히 두 가지가 인상적이었습니다.

✔ 1. 좋은 성능

AWS에서 제가 사용했던 인스턴스는 상대적으로 저사양이기도 했지만, 전반적으로 속도가 느린 느낌을 많이 받았습니다. 그런데 NCP는 체감 성능이 매우 뛰어났습니다. 서버 반응도 빠르고 끊김도 없어서 개발과 테스트를 진행하는 내내 “생각보다 훨씬 좋은데?”라는 느낌을 받았습니다. NCP의 서버 하나하나가 꽤 좋은 스펙을 제공한다는 점이 정말 만족스러웠습니다.

✔ 2. 직관적이고 편한 인터페이스

AWS는 강력한 기능을 정말 많이 제공하고, 그 확장성과 깊이는 따라올 서비스가 없다고 생각합니다. 하지만 그만큼 인터페이스가 복잡하고 필요한 기능 하나만 사용하려고 해도 많은 학습이 필요합니다.

반면 NCP는 필요한 기능 중심으로 인터페이스가 깔끔하게 정리되어 있어 사용 경험이 매우 편했습니다. 오버엔지니어링 없이도 충분히 원하는 작업을 수행할 수 있었기 때문에, 복잡한 기능이 많이 필요하지 않은 프로젝트라면 오히려 NCP가 더 효율적일 수 있겠다는 생각이 들었습니다.

✔ 아쉬웠던 점도 있었다

물론 아쉬움도 있었습니다. 가장 큰 아쉬움은 서버 생성 개수가 최대 5대까지로 제한된다는 점입니다. 저는 MSA 구조를 실험해보고 다양한 서버 구성을 연습해보고 싶었는데, 이 제한 때문에 많은 구성을 시도하기 어려웠습니다.

다만 이러한 부분은 앞으로 NCP가 더 확장된다면 충분히 해결될 문제라고 생각합니다. 서비스 자체의 안정성과 품질을 고려했을 때, 이 제한만 개선되면 개인 사용자에게도 더 매력적인 플랫폼이 될 것 같습니다.

Green Developers 참여 소감


이번에 좋은 기회로 Green Developers 프로그램에 참여하게 되었는데, 가장 큰 수확은 NCP라는 새로운 기술 스택을 직접 경험하고 활용할 수 있었다는 점이었습니다. NCP를 기반으로 새로운 서비스를 기획하고 실제로 구현해보는 과정은 매우 인상 깊었고, 큰 성취감을 느낄 수 있는 시간이었습니다.

이번 경험을 통해 클라우드 인프라를 활용한 서비스 개발의 재미와 가능성을 다시 한번 느꼈습니다. 다음에도 이런 기회가 찾아온다면, 이번보다 더 큰 규모의 프로젝트에 도전해보고 싶습니다.



후기 


오늘은 NCP 서버를 활용해 OS 서버를 구축했던 경험을 공유해보았습니다. 이번 기회를 통해 NCP를 직접 소개하고 사용해볼 수 있어 정말 의미 있는 시간이었습니다. 앞으로도 또 좋은 기회가 생긴다면, 다양한 서비스를 구축해보고 그 경험을 계속 나누고 싶습니다.

읽어주셔서 감사드리고, 하시는 모든 일이 잘되길 바랍니다.
모두 화이팅! 🚀










개발자 김동완

개발, 비전공, 백엔드, 풀스택, 프로그래밍

댓글 쓰기

다음 이전