네이버 클라우드를 통한 클라우드 & DevOps 스터디 중간 점검 후기

스터디를 하게 된 배경

B612라는 개발 소모임을 운영하고 있다. 지난 4월 B612는 Naver Cloud Platform에서 운영하는 주니어 개발자 지원 프로그램 Green Developers와 정식으로 제휴를 체결하고 소속 단체로 활동하고 있다.

 

Green Developers(이하 그린데브)가 주는 주요 혜택 중 하나는 NCP에서 사용 가능한 클라우드 크레딧의 제공이다. 신규 가입 시 제공하는 10만 원의 크레딧과 더불어 제휴 크레딧으로 최대 90만 원까지 제공하는데, 새롭게 클라우드 서비스를 이용해서 서비스를 제공하고자 하는 이들에게 도움을 줄 수 있는 비용이다.

 

또한 그린데브가 주는 다른 혜택으로는 교육 커리큘럼 가이드가 있다. 사실 그리 거창한 것은 아닌데, NCP에서 제공하는 가이드 라인을 어떻게 하면 더 효과적으로 활용할 수 있을 것인지에 대한 짧은 가이드라인이 제시되어 있다.

 

클라우드에 대한 수요는 점차 늘어가고 있다. 이제는 모든 것이 클라우드로 돌아간다. 간단한 웹 서비스를 호스팅할 때도, 이제는 홈서버를 구축해서 직접 호스팅하기보다 클라우드 호스팅 서비스를 이용해서 호스팅하는 경우가 대부분이다. IaaS, PaaS, Saas 등의 용어는 핫한 기술 키워드 중 하나이다.

 

또한, 클라우드와 더불어서 뜨고 있는 것이 데브옵스(DevOps)이다. 데브옵스는 Development+Operation의 약어로, 개발과 운영을 한대 묶어 효율적인 프로세스를 구성하겠다는 의미이다.

 

데브옵스 기술이 점차 발전하면서, 인프라 구축은 더 전문화되고 고도화되고 있다. 과거에는 전문가의 손길이 필요했던 전문적인 인프라 구축이, 이제는 데브옵스 기술과 클라우드 서비스를 통해서 누구나 돈만 내면 손쉽게 구축이 가능해졌다. 그러나 이러한 기술이 등장하면서, 더 전문적이고 효율적인 서비스를 구축하기 위해서 배워야 하는 것들도 늘어났다.

 

그렇기 때문에 클라우드와 데브옵스에 관한 수요는 계속해서 증가하고 있다. 우리 학교에서도 이 기술을 배워보고자 하는 이들이 알게 모르게 늘어났다. 워낙에 핫한 기술이지만 체계적인 교육 커리큘럼 없이는 막연한 기술이다. 그렇기 때문에 B612에서는 이러한 니즈를 충족시키고, B612 멤버가 아닌 외부의 대학생들에게도 클라우드 기술에 대한 지평을 제공하고자 스터디를 기획하게 되었다.

왜 NCP?

Naver Cloud Platform, NCP

데브옵스+클라우드 스터디 중 한 파트인 클라우드는 NCP를 기반으로 커리큘럼이 구성되고 진행 중이다. 왜 NCP인가? 물론 결정적인 이유는 B612가 그린데브 소속이기 때문이다. 그린데브 소속이여서 받을 수 있는 1인당 최대 100만 원의 크레딧 혜택을, B612가 주관하는 클라우드 & 데브옵스 스터디에 참여하는 외부 인원도 받아서 자유롭게 사용할 수 있게 해놨다.

 

그러나 이 외에도 NCP가 주는 혜택들은 다양하다. 우선, 한국 기업인 네이버의 자사업인만큼 무엇보다 한국 친화적이다. 외국 기업의 클라우드 서비스의 경우 일단 외국 기업이기에 영어권 국가를 중심으로 친화적인 서비스를 펼칠 수밖에 없다. 애초에 한국은 언어적 장벽이 높게 드리운 나라인만큼, 외국 서비스를 이용하는데 있어 어쩔 수 없는 불편함을 감수하는 것이 실정이다.

 

물론 외국계 빅테크 기업의 클라우드 서비스는 한국어 문서화가 워낙 잘 되어 있다. 그럼에도 불구하고, 실제 서비스를 이용하게 되면 어쩔 수 없이 영어를 잘해야 하는 순간이 온다. 무언가 문제가 생겼을 때 고객 센터도 영어로 질의응답을 주고 받아야 하고, 불편하다. 대부분의 문서는 영어권으로 편찬되어 있다.

 

반면 NCP는 한국 친화적인 문서화를 100% 지원한다(물론 영어 문서도 당연히 지원한다). 그리고 고객센터 역시 한국어 친화적인 서비스를 제공하고 있어, 빠르게 문제가 생겼을 때 대처를 받을 수 있다.

 

한국 친화적인 클라우드 서비스이기에, 무엇보다 한국을 대상으로 하는 서비스에 있어 다른 외국 클라우드 서비스가 제공하기 어려운 성능적인 이점을 제공한다. 한국에 리전이 두 개가 존재하고, 다른 서비스 대비 한국을 대상으로 더 빠른 속도와 안전성을 제공한다고 한다.

 

클라우드를 사용하는 주요한 이유는 비용 효율화이다. NCP는 클라우드 비용을 산정하기가 비교적 쉬운 편이다. 실시간으로 동기화되는 클라우드 서비스 이용량을 원화로 표시하고 있어서, 이번 달에 청구될 비용을 예상하기 쉬운 편이다.

 

또한 VPC를 제공하고 있어, 개인은 하이퍼바이저 기술을 기반으로 한 개인용 클라우드 리소스를 독립적으로 할당받을 수 있어, 말 그대로 나만의 클라우드 컴퓨팅 리소스를 확보할 수 있다.

 

물론 후술할 단점도 존재한다. 당연히 클라우드 메이저 서비스인 AWS, Azure, GCP 대비 불리한 점들도 존재한다. 이는 NCP의 사업 역사가 불과 2017년에 시작한, 클라우드 서비스 치고는 신생 서비스인 탓도 존재한다. 또한 한국 기업이기에 한국 친화적인 서비스를 제공한다는 장점은, 해외를 대상으로 하는 서비스에서는 불리한 단점으로 작용한다. 이는 직접 NCP를 사용하고 이에 대해 공부하면서 느낀 점과 함께 후술하겠다.

스터디를 준비하면서

스터디를 준비하는 것은 쉽지 않았다. 나 혼자 준비할 수는 없고, B612 운영진 중 한 분에게 담당을 해주실 것을 부탁했다. 그 분이 메인으로 커리큘럼을 준비하면 내가 보조하는 형식이다. 교육과 진행은 그 분이 담당하고 운영 및 관리는 내가 분담하기로 했다.

스터디를 준비하면서 가장 문제가 되었던 점은 크게 두 가지였다.

  1. 스터디 그 자체에 대한 준비
  2. 커리큘럼에 대한 준비

스터디 준비하기

1번에서 우선 고려해야 할 점은, 이 스터디가 단순히 B612 소모임 멤버만을 대상으로 하는 스터디가 아니라는 점이다. 외부 인원도 포함시켜야 하므로, 일단 외부 인원을 모집해야 했고, 그에 따라서 스터디를 설명할 메타 자료 역시 준비해야 했다. 이 스터디가 B612 주관 하에 진행된다는 것을 알리기 위해선, 지금껏 내부적으로만 운영되던 B612의 정보를 이제 드러내야 했다. 이 스터디가 B612를 공개적인 소모임 체제로 전환한다는 신호탄이기도 했다.

 

스터디의 아이디어 자체는 4월달부터 시작됐고, 5월 달부터 본격적인 모집과 준비에 들어갔다.

 

먼저 구글폼을 준비했고, 홍보글을 작성했다. 홍보글은 대학생들이 주요 사용하는 에브리타임과, 현재 우리 학교에서 가장 큰 규모(100명 넘게 모여있다)의 오픈 커뮤니티인 GDSC OC를 대상으로 준비했다. 이때 GDSC OC는 타 학회이기에, 이를 허락받는 것이 될까 싶었지만, 스터디의 목적과 방향성을 설명드리자 GDSC 회장님은 흔쾌히 허락해주었다. GDSC의 방향성과 스터디의 목적이 잘 부합될 것임을 강조해서 설득했다. 그리고 어차피 서로 얼굴 알고 GDSC 회장님도 내가 뭐 하는 지 알고 있는 눈치였어서 별 문제 없이 통과됐다.

에브리타임 홍보글과 데브옵스 스터디 소개 페이지
데브옵스 스터디 OT 슬라이드

모집 중 발생한 작은 사고

사실 모집이 그리 순탄한 편은 아니었다. 우선, 원래는 모집 인원 자체를 작게 잡았다. 많아야 10명 정도? 이 중에서 6명은 B612 내부 인원이었으니, 외부 인원은 많아야 4명 정도로 모집할 계획이었다.

 

그래서 구글폼도 따로 받지 않고, 그냥 카톡으로 받을 생각이었다.

 

1학년 여름방학 때 자료구조 스터디를 기획해서 모집했던 적이 있다. 여기서도 그리 많은 인원이 모이지도 않았고, 관심을 보인 사람은 8명 정도였지만 실제로 에브리타임에서 모인 사람은 3명에 불과했다. 나랑 내가 원래 알던 형 1명, 에브리타임에서 모인 사람 5명 중, 실제로 스터디를 끝까지 마무리지을 수 있던 사람은 2명에 불과했다(나랑 에타에서 만난 분).

 

그래서 데브옵스 스터디도 비슷할 거라고 생각했다. 그러나 실상은…

 

생각보다 너무나 많은 인원이 관심을 보였다. 카톡으로는 수용하지 못할 인원이었다. 정말 많은 사람이 모였다.

 

그래서 급하게 구글폼으로 모집 방법을 바꾸었다.

 

그러나 급하게 준비된 구글폼은 전화번호가 누락되어 있었다. 카카오톡 오픈채팅방 초대를 하려면 전화번호를 알아야 하는데, 급하게 준비하느라 이 부분이 누락됐던 것이었다. 결국 이메일을 통해서 전화번호를 다시 요청드렸고… 그렇게 해서 다사다난하게 사람들이 모이게 됐다.

 

사실 이렇게 사람들을 모으긴 했는데, 이중 고학년들이 너무 많은 것도 의외이긴 했었다. 애초에 커리큘럼을 준비할 때 2, 3학년들이 중심으로 모일 것을 예상했다. 1, 2학년 때 프로젝트를 한 두 번 경험을 해보고서, 데브옵스와 클라우드의 필요성을 느낀 이들이 메인 타겟이었다. 그러나 실제로는 압도적인 수로 4학년분들이 대거 포진해 있었고, 이에 따라 커리큘럼의 난이도를 확 높여야 할 부담이 존재했다.

 

우리의 선택은, 그냥 4학년 분들에게 스터디의 메인 타깃이 아니라는 것을 확실히 알리는 것이었다. 그래서 4학년 분들이 많이 나가긴 했었는데, 이 과정에서 B612 내부적으로도 마찰이 있었긴 했었다.

 

근데 지금 생각해보면, 사실 우리 학교에서 그리 실무적으로 데브옵스 관련된 내용을 많이 안 가르치는 것 같아서, 지금 하고 있는 내용들도 충분히 4학년들이 들어도 됐을 만한 내용들이긴 했었다.

커리큘럼 준비하기

커리큘럼은 크게 네 단계로 나누었다.

  1. 1단계에서는 Git과 Linux에 대해서 다룬다 (초반)
  2. 2단계에서는 클라우드에 대해서 다룬다 (메인 #1)
  3. 3단계에서는 도커 & 쿠버네티스에 대해서 다룬다 (메인 #2)
  4. 4단계에서는 Github Actions 또는 Jenkins에 대해서 다룬다

참고로 현재는 2단계, NCP 기반의 클라우드 스터디를 진행하고 있다.

 

우선 리눅스와 Git은, 초반에 스터디에 2학년들도 있을 거라고 생각해서 준비한 내용이었다. 아무래도 Git을 모르는 분들이 있을 것이라 생각했기에 준비했다. 그리고 Linux 사용법도 익숙치 않을 것이기에 리눅스 관련된 커리큘럼도 준비했다.

 

그러나 실제로 모집하고 보니 선술했듯이 2학년은 멸종했고, 대부분 3학년, 4학년들이여서 다행하게도 1단계에서 많은 시간을 절약할 수 있었다. 한 주 정도만 가볍게 리눅스를 톺아보고 넘어갔다.

Linux 톺아보기 교육 자료, 교육부장 님께 허락 맡고서 올립니다

참고로 리눅스 톺아보기는 스터디를 같이 운영해주시는 교육부장 님께서 준비해주셨다. 한 시간 분량으로 리눅스에 대해서 알기 쉽게 설명해주시고, 명령어 등을 포함해서 리눅스에 관련된 지식들을 문서로 정리해주셨다. 박수 👏🏻

 

2단계가 본격적인 스터디의 시작이자 글의 주제인 NCP 기반의 클라우드 스터디의 시간이었다. 또한 현재 2단계를 진행 중이다.

 

3단계는 곧 시작될 것 같은데, 도커와 쿠버네티스를 다루는 내용이 주를 이룬다. 다만 생각보다 시간이 오래 걸려서, 아마 도커만 다루지 않을까 싶다.

 

4단계는 Github Actions 혹은 Jenkins 둘 중 하나를 다루게 될 것 같다.

NCP를 어떻게 배울까

edwith로 공식 강의 자료 찾기

AWS, GCP, Azure 등의 클라우드 서비스는 많이 존재한다. 그러나 초보자에게, 이를 배우라고 하면 막연한 것이 사실이다. 물론 유튜브 등을 통해서 질 좋은 강의 자료들을 이제 많이 찾을 수 있지만 공적인 자료는 아니고, 또한 공식 문서는 초보자들에게 읽기 마냥 친절한 것은 아닌 것이 사실이다. 물론 영어가 된다면 공식 유튜브 등에서 한 두 시간 보면 대충이나마 쓸 수 있기는 하다.

 

NCP의 장점은 NCP 그 자체로 있는 것이 아니다. Naver에서 운영하는 edwith.org라는 사이트가 존재하는데, 여기서 NCP가 직접 진행한 NCP의 사용 가이드 강의들을 무료로 수강할 수 있다.

NCP에서 직접 제공하기에 매우 질좋은 강의들을 찾을 수 있다. 또한 단계별로 Essential, Associate, Professional 등의 난이도의 구분을 둔 강의들을 제공하는데, 이또한 점차 실력을 전문화한다는 개념으로 수강할 수 있어서 좋다.

 

스터디는 Essential과 Associate를 들었는데, Essential은 NCP에 대해서 필수적인 내용을 가볍게 톺아보는 내용이고, Associate는 실제 NCP를 더 효율적으로 활용하기 위해서 보다 깊게 내용이 구성되어 있다. 둘다 모두 이론과 실습이 함께 포함된 강의이다.

 

참고로 이때 주의할 것은, 강의는 무료이나 실습 비용은 무료가 아니라는 점을 기억해야 한다. 자신의 예산이 걱정된다면 실습 중에서 나오는 모든 내용을 따라할 필요가 없을 수도 있다. 특히 위 강의에서는 왜인지는 모르겠으나 서버를 생성할 때 High CPU 서버로 생성하는 경우가 있다. 그러나 실습을 진행하면서 고사양의 서버를 사용할 필요는 전혀 없다. 그냥 가장 싼 Standard 2g 서버를 생성하자. 그래도 실습 진행하는데 전혀 문제가 없고, 또한 실제 서비스를 구동하는데 있어서도 간단한 웹서버 호스팅 정도 문제라면 왠만하면 전혀 문제가 없을 것이다.

또한 실습은 최대한 빠르게 끝내고, 최대한 빠르게 반납하는 것을 목표로 두자. 강의 시간이 다 합쳐서 수 시간 정도 되는데, 몇 주 동안 길게 끌 것 없이 최대한 빠르게 수강하자. 그리고 실습 내용들은 빠르게 반납하자.

 

실습 비용은 결코 싸지 않다. 실습 과정에서 나오는 서비스들을 직접 신청하면서 이용한다면, 요금 폭탄을 맞게 될 것이다. 나만 해도 한 달도 안 돼서 벌써 30만 원 넘게 사용했다. 물론 B612 스터디는 크레딧이 존재하기에 별 문제가 되지 않았지만, 만약에 크레딧 없이 자신의 돈으로 진행한다면 조심하자.

NCP 자격증 준비하기

EDU PORTAL - NCLOUD CLOUD PLATFORM

NCP는 자체적으로 인증 제도를 운영하고 있고, 시험을 보아서 합격한 이들에게 자격증까지 부여하고 있다.

 

자격증 단계는 아래와 같다.

설명 시험 코드
NAVER CLOUD PLATFORM Certified Associate 클라우드에 대한 기본적인 이해가 있고 네이버 클라우드 플랫폼을 이용한 인프라 구성이 가능한 수준입니다.1개 시험(시험코드 100)으로 구성되어 있습니다.
NAVER CLOUD PLATFORM Certified Professional 클라우드에 대한 전문적인 지식이 있고 네이버 클라우드 플랫폼을 활용하여 인프라를 독자적으로 구축할 뿐만 아니라 다양한 기능을 구현할 수 있으며 트러블 슈팅까지 가능한 수준입니다.3개 시험(시험코드 200, 202, 207)으로 구성되어 있습니다.
NAVER CLOUD PLATFORM Certified Expert 클라우드에 대한 전문적인 지식이 있고 트러블 슈팅과 커스터마이징이 가능한 수준입니다.4개 시험(시험코드 301, 302, 303, 305)으로 구성되어 있습니다.

Associate, Professional, Expert가 있다. 자격증 명과 위에 기술된 edwith.org의 강의명을 보면 눈치챌 수 있겠지만, 각 강의들은 사실 자격증 취득을 위한 강의들이다.

 

자격증을 준비하는 것 자체만으로도 공부가 될 수 있다. 또한 NCP에 대해서 사용 경험이 있다면, 이를 인증할 수 있는 자격증을 취득해보는 것도 도전해보자.

ncloud 가이드 센터 이용하기

edwith만 교육 자료를 제공하는 것이 아니다. 당연히 ncloud.com에서도 자체적으로 상세한 가이드를 제공한다.

쉬운 시작 가이드

쉬운 시작 가이드

먼저 살펴볼 것은 쉬운 시작 가이드이다. 쉬운 시작 가이드는 시나리오 베이스의 가이드 라인 문서를 제공해주어서, 각 상황 별로 시나리오를 가정하고 이에 맞추어서 어떻게 NCP를 활용할 수 있는지를 알려준다. 쉬운 시작 가이드는 현재 모든 서비스에 대해서 가이드 문서를 제공하고 있지 않지만 많은 주요 서비스에 대해서는 이미 문서화가 끝나 있으며, 현재도 계속해서 새로운 문서가 업데이트되고 있는 것 같다.

 

이름 그대로 쉬운 시작 가이드는 초보자들이 쉽게 NCP를 이용하기 위해서 제작된 가이드이다 보니, 정식 Document인 사용 가이드보다는 내용이 없을 수도 있으나, 시나리오 베이스로 자세하고 친절히 알려주기 때문에 접근성이 훨씬 높다.

 

참고로 이 쉬운 시작 가이드와 Essential Hands-on 가이드와의 싱크를 맞추고, 추가 자료를 제공하기 위해서 이를 노션 데이터베이스로 불러와서 사용하기도 했다. 실제로 스터디 단계에서 꽤나 요긴하게 사용했는데, 이 과정은 아래 링크에 담았다.

사용 가이드

사용 가이드는 매뉴얼이자 도큐먼트이다. 여기서 각 서비스 별로 어떻게 사용하는 지 자세한 제원과 방법들을 정확히 알 수 있다.

레퍼런스 아키텍처

레퍼런스 아키텍처

많이 놓치는 부분인데, NCP에서는 레퍼런스 아키텍처를 제공하고 있어서, 많은 시나리오에 대해서 어떻게 NCP를 기반으로 인프라스트럭처를 구성할 지 참고 예시를 볼 수 있다. 이 자체로 모범 아키텍처 설계 예시이자, NCP에서 제공하는 권장 가이드 라인이기도 하다.

 

꽤 많은 레퍼런스를 제공하고 있고, 주제별 분류도 잘 되어 있다. 자신이 활용하려는 서비스에 맞추어서 레퍼런스 아키텍처를 변경해가면서 자신의 서비스에 적용해보자.

NCP 커뮤니티 이용하기

NCP 사용자들을 중심으로 한 다양한 커뮤니티가 존재한다.

 

NCP 사용자들 그룹이 모여있는 오픈채팅방도 존재하고, 또한 그린데브 소속 회원들을 위한 오픈채팅방도 존재한다. 후자는 물론 그린데브 소속이 아니라면 들어갈 수 없겠지만, 전자의 경우 굉장히 활발하게 NCP에 대한 정보 교류가 이어지고 있어서 관심이 있다면 한 번 찾아 들어가보는 것도 좋다.

NCP 사용자 중심 오픈 채팅방

페이스북 그룹도 존재한다는 데 본인은 페이스북 계정이 없어서 들어가보지는 못 했다.

오프라인 교육 활용하기

https://edu.ncloud.com/schedule

위 링크에서, 네이버 클라우드가 직접 운영하는 공인 오프라인 교육의 스케줄을 확인할 수 있다. 무료인 것도 있으니 관심 있으면 한 번 신청해보자.

 

참고로 최신 내용이 반영된 Associate 등의 강의는 가격이 싸지는 않다. 무료 온라인 강의를 먼저 들어도 충분하니, 오프라인 교육은 온라인 무료 강의를 먼저 수강하고서 추가적인 내용을 찾을 때 신청을 고민해보자.

NCP, 사용해보니 어때?

그래서 NCP를 사용해보니 어떠한가? 사실, 이에 대한 질문에 대해서 많은 생각들이 있다.

장점

  • 확실한 교육 지원
  • 한국 사용자들에게 최적화된 개발 경험(DX) 제공
  • 한국 유저들에게 최적화된 서비스 환경 제공
  • 비용 효율화

확실한 교육 지원

먼저 NCP의 가장 큰 장점은 확실한 교육 지원이 있다. 애초에 B612가 받고 있는 그린데브 혜택 역시 NCP의 교육 지원 혜택의 일환이기도 하고, 다양한 교육 커리큘럼을 제공하고 있다. 또한 쉬운 시작 가이드, 레퍼런스 아키텍처 등을 직접 제공한다는 점에서 높은 점수를 줄 만 하다.

 

최적화된 개발 경험

또한 Developer Experience, 즉 개발 경험(DX)에 있어서 한국 친화적인 것도 사실이다. 이는 교육 지원과도 연계되는데, 아무래도 공인 교육 자료가 풍부하다보니 개발자들 역시 쉽게 NCP 서비스를 이용 가능한 것도 사실이다. 동시에 ncloud 콘솔의 DX 경험이 매우 좋다. UI는 직관적이고, 쉽게 이해 가능하다. UI로만으로도 모든 것을 해결할 수 있으며(오히려 사실 CLI 툴로 해결 가능한 것들이 60%에 그친다) 각종 모니터링 도구들을 이용해 클라우드 내에서 일어나고 있는 모든 서비스들을 추적할 수 있다.

 

최적화된 서비스 환경

UX의 관점으로도 한국 사용자들에게 이익이 있을 수도 있다. 한국 리전이 2개나 있고, 한국 서비스에 대해서는 최적의 속도와 안전성을 보장한다.

 

비용 효율화

클라우드를 사용하는 가장 큰 이유 중 하나는 바로 비용 효율화이다. NCP는 ncloud.com의 요금 탭에서, 비용을 실시간으로 확인하고 이를 통해 얼마나 청구될 지를 예측할 수 있다.

 

그 외에도 비용 효율화에 대해서 할 말이 많다.

클라우드 서비스가 주는 혜택은 정말로, 무궁무진하다. 요새의 시대의 거의 대부분의 웹 서비스가 클라우드로 호스팅되고, AI, 블록체인, 데이터를 다루는 파이프라인 등이 모두 클라우드로 전환되는 이유가 분명히 있다. 클라우드가 주는 편리함, 그리고 안정성을 온프레미스로 직접 구축해서 따라가려면 상상도 못할 만큼 막대한 비용을 지불해야 할 것이다.

 

당장 클라우드 서비스가 없었다면 안정적으로 작동하는 웹 서버 하나 만드는 것도 어려웠을 것이다. 그러나 클라우드 서비스 덕분에, 한 달에 단돈 몇 달러만 내고서 매우 안정적으로 돌아가는 웹서버를 구축할 수 있다. 그것도 30분도 안 돼서 말이다.

 

모든 엔지니어링은 비용을 수반한다. 클라우드 없이 이러한 대규모의 안정적인 서비스를 구축하는 것은 분명히 쉽지 않은 일이다. 회사라면 전문적인 인프라 엔지니어들이 많이 필요했을 것이고, 이러한 자원을 보관하고 운영할 물리적인 환경 역시 막대한 비용을 들여서 구축해야 할 것이다.

 

그 외에도, 클라우드 서비스는 많은 것을 자동화해준다. 얼마전 Google I/O Extended Seoul 2023을 다녀오면서, 어떻게 회사에서 클라우드 서비스를 이용하는 지를 주의깊게 살펴보려고 노력했다. 클라우드 서비스가 주는 혜택의 범위는 정말로 무궁무진했고 넓었다. 데이터 파이프라인을 구축하는 것부터 워크 플로우를 최적화하고, 클라우드 컴퓨팅 리소스를 활용하는 방법, 거대한 MSA 아키텍처를 클라우드 서비스를 활용해서 제어하는 방법 등 클라우드를 활용해서 최적화된 인프라를 구성하고 있었다. 만약에 개별 회사가 클라우드 서비스 없이 이러한 인프라를 직접 구성해야 했다면, 얼마나 많은 비용이 청구됐을까. 이 비용은 비단 금전적인 비용만을 의미하지 않는다. 들어가는 물리적 자원과 시간적 자원, 인적 자원, 그리고 이를 관리하는데 드는 끊임없는 운영적인 에너지는, 왜 클라우드 혁명이 '혁명'이라 불리우는 지를 새삼 깨닫게 해준다.

 

한편 작지만 중요한 이점으로 NCP가 GCP, AWS, Azure 대비 약간의 비용적인 효율이 더 있기도 하다. 동시에 크레딧 등의 서비스를 이용하고 나면, 초기 비용 없이 NCP 인프라를 이용할 수도 있는 것도 덤이다.

단점

사실, NCP를 이용하면서 장점 뿐만 아니라 단점도 많이 부각된 것이 사실이다. NCP를 이용할 때는 아래 점들을 곰곰히 생각해보고 이용해야 되겠다는 생각이 들었다.

비용이 저렴한가

먼저, 이 부분에 대해서는 하고 싶은 말과 느낀 점이 많다. 우선 클라우드의 비용이 과연 저렴한가에 대해서 생각해보아야 한다.

 

확실히 클라우드를 이용하면 비용을 효율화할 수 있는 것은 사실이다. 그러나 비용을 효율적으로 사용할 수 있다는 말이 비용이 저렴하다라는 뜻은 아니다. 오히려 클라우드 비용은 비싸다.

 

우리가 클라우드를 사용하는 이유는, 금전적인 비용 외에 다양한 눈에 보이지 않는 비용을 절감할 수 있기 때문이다.

 

예를 들어 높은 가용성이 있다. 클라우드를 사용하면서 얻게 되는 거의 극한으로 높은 가용성은, 지구의 핵전쟁이 터지고 EMP 탄이 날라다니지 않는 이상 어떠한 상황에서도 작동이 될 것을 보장한다.

 

만약에 온프레미스로 인프라를 구성하고 서비스를 운영하게 되면, 온프레미스 서버가 일으키는 물리적인 문제들이 서비스의 가용성을 보장하지 못 한다. 또한 사업자는 이 온프레미스 시스템을 직접 관리해야 하기에, 여기에서 발생되는 금전적, 시간적, 인적 자원들이 계속해서 소모될 수 밖에 없다.

 

또한 개발 비용을 줄일 수도 있다. 아무래도 클라우드 서비스를 이용하면서 이전까지는 직접 개발해야 했던 많은 백엔드의 구현 부분들을 줄일 수 있으니, 이러한 개발 비용을 생각한다면 압도적으로 클라우드 서비스가 유리할 수 밖에 없다.

 

이처럼 클라우드 서비스가 주는 비용의 효율화는 비단 금전적인 비용 뿐만 아니라 눈에 보이지 않는 비용까지 최적화한다는 데 있다.

 

그러나 여기서 주의해야 할 것은, 이러한 비용 효율화가 곧 저비용을 의미하는 건 아니라는 점이다. 이것을 구분해야 한다.

 

당장 클라우드 서비스에 빈 쿠버네티스를 올려만 놔도, 숨만 쉬어도 한 달에 10만 원이 나온다고 한다. 본인 역시 간단히 실습을 하는데 한 달에 30만 원이 넘게 사용됐다. 비용 최적화를 얻기 위한 비용은, 결코 저렴하지 않다.

 

이점이 있으면 단점도 있다. 모든 선택은 트레이드오프가 존재한다. 인프라의 혜택을 얻기 위해서는 그에 상응하는 비용을 지불해야 한다. 그렇기 때문에 트레이드오프를 감수할 수 있는지를 따져보아야 한다.

 

만약에 온프레미스에서 클라우드로 전환하는 비용이 이익보다 더 크다면, 과감히 클라우드를 포기하는 것도 방법이 될 수 있다.

 

물론 클라우드 서비스는 대부분의 경우에서, 눈에 보이는 금전적인 비용보다 눈에 보이지 않는 효율화로 더 높은 이익을 가져다 주는 경우가 많을 것이다. 이것이 클라우드 서비스가 회의실 속 보드마커가 될 지, 혹은 과스펙(오버 엔지니어링, Over Engineering)의 한 예시가 될 지는 고민을 해보아야 한다.

 

출처: https://xkcd.com/974/

이는 비단 NCP만의 문제라기 보단, 클라우드 서비스를 사용하는 모든 이들이 사용 이전에 가장 먼저 고민해봐야 할 문제이다.

 

하지만 이는 곧 반대로 이야기하면, 클라우드 서비스가 주는 종합적인 혜택이 비용보다 크다면, 빠르게 클라우드 서비스를 도입해서 클라우드가 주는 혜택들을 누릴 수 있어야 한다.

 

위에서 클라우드 서비스를 이용함으로써 얻게 되는 비용적 효율화 - 금전적 비용이 아닌 모든 방면에서의 자원 관리를 생각할 때의 효율화를 동시에 고려할 수 있어야 한다. NCP는 레퍼런스 아키텍처를 제공하고 있고, 사용자 친화적인 가이드를 통해서 보드 마커와 오버 엔지니어링 그 어딘가의 사이에 적절한 균형점을 찾게 해주니, 효율적으로 서비스를 도입해보자!

외국 서비스들 대비 경쟁력이 있는가

역시나 NCP는 AWS, GCP, Azure 등 주요 클라우드 서비스와의 비교를 피할 수 없다. 과연 AWS, GCP, Azure 등의 서비스를 두고서 NCP를 선택할 수 있을까.

 

내 개인적인 의견으로는, 한국 대상 서비스이고, 한국 개발자라면 충분히 NCP의 사용을 고려해볼 수 있을 것 같다. 위에서 서술한 NCP의 장점도 좋고, NCP는 지금도 끊임없이 발전해나가는 서비스이기에 NCP와 함께 발전해나가는 나의 서비스 인프라도 확인할 수 있을 것이다.

 

그러나 외국 상대로 한 서비스라면 의견이 달라질 것 같다. 확실히 NCP는 외국에 개설된 인프라 리전 수 자체가 AWS, GCP, Azure 등과 비교하면 적은 느낌을 받았다.

 

한국에만 리전이 두 개나 존재하는 NCP의 한국 친화적인 강점과 달리, 전 세계를 대상으로 하는 서비스는 아무래도, 그 입지가 좁아질 수 밖에 없는 것 같다.

 

또한 NCP가 다른 클라우드 서비스들이 제공하는 모든 서비스를 대체할 수 있도록 제공하지 못 한다. AWS의 일부 서비스들은 NCP에서 제공하지 못 한다. 이는 사업이 점차 성숙해지면서, NCP 역시 점차 제공하는 서비스의 범위를 늘려나갈 것이라 기대할 수 있다.

 

그리고 이 점에 대해서 또 나의 생각이 있는데, 개발자라면 어느 한 서비스에 종속되는 것을 최대한 피해야 한다. 즉 락인 효과를 최대한 피해야 한다. 어떠한 클라우드 회사에서 이러한 서비스를 제공하지 않는다고 해서, 그 회사가 제공하는 모든 서비스를 포기해야 하는 것은 너무나 아까운 손실이다.

 

NCP도 마찬가지이다. NCP가 제공하지 못하는 서비스들이 있다고 해서 NCP가 제공하는 모든 서비스들을 포기하고 다른 기업을 굳이 찾을 필요는 없다. 그냥 둘다 쓰면 된다.

 

사실, NCP, AWS, GCP, Azure 중 어느 하나만을 선택하라고 하는 것 자체가 곧 어느 한 서비스에 락인되는 위험을 가져온다고 생각을 한다. 결국 이 글은 NCP에 대해서 소개하고 있지만, 중요한 점은 NCP 뿐만 아니라 다른 클라우드 서비스에 대해서도 알아가는 게 중요하다고 생각을 한다. 그리고 필요하다면 NCP에서 돌아가는 서비스를 다른 클라우드 서비스로 마이그레이션할 수도 있어야 하고, 그 역도 가능해야 한다고 생각을 한다.

이용 경험의 부재

AWS는 거의 20년 가까이 사람들이 이용해오면서, 지금껏 축적된 수많은 이용 경험들이 존재한다. 스택 오버플로우에서 NCP에 대해서 검색을 하면 나올까 싶을 정도지만, AWS를 검색하면 어마어마한 양의 문서가 나온다. 정보의 양에서 압도적인 차이가 난다.

 

이는 해외에서의 정보 뿐만 아니라 국내 한정으로도 유효하다. 국내에서도, AWS, GCP, Azure 등의 사용자 경험이 더 많지 NCP의 경험이 더 많지는 않을 것이다. 이들이 만들어내는 사용자 경험 - 버그/문제 해결법, 유용한 팁 공유, 가이드 공유, 모범 사례 공유, 서비스를 도입하는 기업의 수 등에서 양적 차이가 있을 수 밖에 없다.

 

당연히 이러한 사용 경험의 차이는 곧 서비스 이용에 문제가 생겼을 때 바로바로 검색해서 나오는 정보들로 문제를 해결할 수 있느냐는 개발 효율성에 영향을 준다.

결론

NCP, 네이버 클라우드 플랫폼, 아직 성장할 곳이 많이 남아있다. 오히려 그래서 충분히 더 매력적이다.

 

기술의 성장과 함께 나의 서비스가 발전해나간다는 것을 지켜보는 것이 즐겁지 아니한가. 나는 신생 프레임워크인 Flutter를 좋아하는데, Flutter가 발전해가면서 나의 서비스가 같이 발전해나갈 수 있다는 점을 생각하니 더 매력적이다. 만약에 이미 오래된 서비스를 이용한다면 느낄 수 있는 재미가 반감될 것이다.

 

Naver는 한국의 IT 산업을 이끌고 있는 주요 기업이기도 하고, 클라우드 산업은 앞으로 성장 가능성이 무궁무진한 분야이다. NCP, 사용해서 응원해보는 건 어떨까?

 

바로 윗 줄은 농담이고, 좀 더 현실적으로 접근해보자면 NCP는 충분히 매력적이나 이것을 메인 서비스 환경에 이용하느냐는 또 다른 문제일 것이다. 그런데 충분히 서브 인프라, 혹은 간단한 수준의 인프라 구축에는 분명 우선적으로 고려해볼 만한 서비스인 것 같다. 물론 대형 서비스의 경우는 AWS 등 선택지가 훨씬 늘어나서, 굳이 NCP를 사용하지 않을 수 있겠지만, 작은 용도의 경우에는 NCP도 우선적으로 고려해볼 만한 선택지같다.

 

그리고 일단 교육 지원이 빠방하다는 점에서, 앞으로 NCP의 한국 점유율은 더 늘어날 것 같다. 지금이 저점 매수 타이밍일 수 있다.