brunch

You can make anything
by writing

C.S.Lewis

by LS ELECTRIC Apr 06. 2022

좌충우돌 나의 첫 클라우드 적용기

네?! 클라우드로 뭘 하라고요?



여느 때와 같이 평안한 나날을 지내고 있던 평범한 개발자였던 나에게 어느 날 갑자기 특급 지령이 떨어졌다.


“이번에 새롭게 구상한 사업 모델은 클라우드 베이스로 만들어봐!!”


클라우드를 사용하려면 처음 접하는 용어부터 시작해서 수많은 클라우드 서비스들을 스터디해야 하는데 언제 그 많은 걸 다 한단 말인가. 알고 있는 건 Java, Spring Boot 밖에 없던 나에게 클라우드를 사용해 서버 환경을 구축, 운영하라는 말은 이렇게 왜곡되어 들렸다.


“조직을 위해 희생할 준비가 되었는가? 시대의 흐름을 따라가야지^^”



님아 왜 클라우드를 사용해야 하나요?!


물론 묻지도 따지지도 않고 클라우드를 적용하라고 한 것은 아니다. 팀 내 의견 조율을 통해 결정된 사항이지만 이런 질문을 던지지 않을 수 없었다.


“그런데 왜 클라우드를 사용해야 하나요? 그냥 기존에 하던 방식으로 사용하던 컴퓨터에 프로그램을 짜서 돌리면 안 되나요?”


이번에 클라우드를 사용하게 된 배경은 우리 팀의 일하는 방식과 연관이 깊다. 우리 팀이 바로 Agile 방식으로 신사업 모델을 발굴하는 일을 진행하고 있기 때문이다.



* Agile 방식이란?

고객 인터뷰 및 일하는 방식을 관찰하여 고객의 Pain Points 및 Wants를 충족시켜주는 제품을 빠르게 만들어 고객에게 전달하는 방식이다. 빠르게 만들어진 제품을 고객의 지속적인 피드백을 통해 점점 더 완성시켜 나간다.



그러다 보니 ‘born to be 개발자’였던 나는 기존에 개발자로써 경험해 보지 못했던 새로운 업무들을 겪게 되었고, 매일매일이 감탄의 연속이다. (음… 놀라고 있다. 재밌는 게 아니고 놀라고 있다고!! 사실 조금 재밌으려나?) 조금 더 구체적으로 말하자면 고객 인터뷰, 비즈니스 모델 수립과 같은 새로운 일들을 개발과 병행하여 수행하고 있다.


지금 우리 팀이 수행하고 있는 Agile 방식의 핵심은 ‘최소 기능을 수행하는 제품’을 빠르게 개발하여 고객에게 선보이고, 고객의 피드백을 수용하여 제품을 개선해 나가는 것이라 할 수 있다. 이러한 Agile 방식으로 우리 팀은 작년 초 e-Health Checker 서비스라는 새로운 사업 모델을 발굴했다.


e-Health Checker 서비스는 전력 설비의 상태를 입력받아 고객에게 전력 설비 수명을 알려주고, 교체 컨설팅까지 제공하는 사업 모델이다. 고객 휴대폰을 통해 서비스가 제공되어야 해서 사외 네트워크를 사용해야 했고, 고객 피드백을 빠르게 수용해 업데이트를 해야만 했다. 그리고 사업 규모의 확장에 따라 서버 확장도 용이해야 했다. 정리하면 다음과 같았다.


● 공용 네트워크 망에서 접근 가능한 서비스를 제공해야 한다.

● 고객 피드백에 따라 빠르게 환경 구성을 변경하거나, scaling(서버를 늘리는 scale out 또는 서버의 성능을 올리는 scale up)이 용이해야 한다.

● 별도 서버 관리 인력을 배정할 수 없으니 서버 관리에 최소의 비용이 들어야 한다.


“음…딱 클라우드네!!”


반론을 낼 수 없었다. 그냥 딱 클라우드였던 것이다. 이렇게 ‘좌충우돌 나의 첫 클라우드 적용기’가 시작되었다.


그런데... 클라우드가 무엇인가요?? 먹는 건가요? *.*


인터넷에는 클라우드에 대한 다양한 정의들이 넘쳐난다. 과거에는 클라우드라고 하면 모든 가상화 서비스가 이뤄지는 공간을 의미했으며, 공용문서 및 파일을 저장/관리하는 클라우드 서비스를 먼저 떠올렸을 것이다. 그러나 최근에는 서버, 네트워크 등과 같은 컴퓨팅 리소스를 제공하는 클라우드 컴퓨팅을 생각해야 한다.



그렇다. 무슨 소리인지 모르겠다. 좀 더 쉽게 설명해 보자면, 컴퓨터 서버를 많이 가지고 있는 회사들이 서버를 빌려주고, 빌려준 시간만큼 사용료를 받는 서비스라고 할 수 있다.


주요 클라우드 서비스 제공 업체는 Google, Microsoft, Amazon 등이 있으며, 국내 기업인 Naver 또한 해당 서비스를 제공하고 있다. 최근 뉴스 등에서 많이 노출이 되어, ‘Google Cloud’, ‘Microsoft Azure’, ‘AWS’, ‘Naver Cloud’ 등의 단어를 자주 듣게 되었을 것이다. 이런 서비스들이 대표적인 클라우드 서비스이다.


멀리 떨어진 곳에서 서버를 원격으로 빌려 사용하려면, 많은 것들이 필요하다. 어떤 하드웨어 사양을 가진 서버를 빌려 쓸지, 어떤 OS를 올린 PC를 사용할지, 네트워크 구성은 어떻게 할지 등을 고객이 선택할 수 있는 기능도 있어야 한다. 거기에 더해 자주 사용하는 소프트웨어들을 사전 설치하여 운영까지 해주는 기능도 필요하다. 이런 서버의 구축부터 운영까지 일련의 모든 행위들을 대행하여 서비스해 주는 것이 클라우드이다.



그래서 시작은 어떻게 해야 할까요??


이제 클라우드를 사용해야 하는 이유도 납득했고, 클라우드에 대해서도 알았으니 우리의 e-Health Checker 서비스가 동작할 수 있는 서버 환경을 구축해 보려고 한다. 그런데 클라우드를 어떻게 시작해야 할지 감이 잘 오지 않았다.


클라우드를 사용하려면 먼저 어떤 업체의 클라우드를 선택할지부터 고민하게 된다. 클라우드를 제공하는 업체는 많아도 너무 많다. 모든 업체를 비교해 보고, 견적도 받아서 이것저것 따져보아야 하겠지만 시간도 오래 걸리고 귀찮은 일이었다. 감사하게도 우리 회사에서는 Microsoft Azure 클라우드와의 사내 계약이 되어있어서, 나는 큰 고민 없이 Microsoft Azure 클라우드를 선택하게 되었다.


자!! 이제 클라우드를 선택하였으니, 클라우드 홈페이지에 로그인해서 원하는 사양의 서버를 선택해 사용하면 될 것이다. IaaS, PaaS, SaaS 등 너무도 많은 클라우드 서비스들 중 나에게 필요한 서비스를 선택하여 서버 환경을 구축하면 된다. 이처럼 다양한 클라우드 업체에서 제공된 서비스들을 각자의 상황에 맞게 선택하여 구성하는 것을 클라우드 아키텍처 설계라고 말하고, 설계자는 클라우드 아키텍트라고 한다. 나도 이제 클라우드 아키텍트가 된 것이다. (^^;)


아키텍처 설계를 하기 위해선 먼저 각 클라우드 서비스에 대해서 알아보아야 한다.


IaaS(Infrastructure as a Service)는 윈도우, 리눅스와 같은 OS까지 설치된 서버를 렌탈하여 사용하는 서비스이며, PaaS(Platform as a Service)는 데이터베이스나 로드 밸런서 등을 직접 렌탈하는 서비스이다. IaaS의 경우 고객이 OS뿐만 아니라 소프트웨어를 전부 다 관리해야 하는 반면, PaaS는 소프트웨어만을 관리하고 서비스하면 된다. 예를 들면, OS 설치 및 Java 런타임까지 직접 설치하고 관리하는 것이 IaaS이고, Java 코드만 개발하고 컴파일은 클라우드에서 수행한다면 PaaS이다. 두 서비스 모두 서버의 하드웨어적인 성능이나 확장성 등을 고려하지 않고, 사용하고자 하는 소프트웨어 솔루션의 기능에만 집중하고 싶을 때 사용하기에 적합하다.


SaaS(Service as a Service)는 사용하고자 하는 소프트웨어 솔루션에 대해서도 고민하지 않고, 그 기능에만 집중하고 싶을 때 사용하기에 적합하다. 예를 들어, 문서 작업이라는 기능만을 쓰고 싶고 워드를 쓰든 메모장을 쓰든 상관하고 싶지 않은 경우로 생각하면 이해가 쉬울 것이다.


처음 클라우드 아키텍처를 설계하면서 IaaS, PaaS, SaaS를 선택할 때, 고민했던 사항들을 몇 가지 공유하도록 하겠다. 추후 나와 같이 처음으로 클라우드를 마주하게 될 초보 클라우드 아키텍트들에게 도움이 되길 바란다.



이왕 한 김에 자격증도 따봅시다!!


일은 일이고 자기 계발은 자기 계발이다. 이왕 클라우드 공부를 한 김에 자격증도 따보자. 그냥 이렇게 끝내 버리면 아깝지 않은가?


나는 Microsoft Azure 클라우드를 사용해 봤으니, 이와 관련된 Azure 클라우드 자격증을 따기로 마음먹고 자격증을 알아보았다. 그런데 자격증의 종류가 너무 많고 다양하여 꽤나 놀랐었다.


나처럼 Azure 클라우드 자격증 취득을 알아보는 사람들을 위해 주요 자격증 및 취득 순서를 나열해 주겠다. 물론 아래에 명시된 자격증 이외에도 보안이나 네트워크와 관련된 자격증도 있지만, Azure 클라우드의 대표적인 자격증만을 소개하도록 하겠다.



해당 자격증의 스터디는 Microsoft 학습서 사이트를 보면 되고, 덤프는 Examtopic이라는 기출문제 사이트를 통해 얻으면 된다.


● Microsoft 학습서 사이트 : https://docs.microsoft.com/ko-kr/learn/paths/az-104-administrator-prerequisites/

● Examtopic : https://www.examtopics.com/exams/microsoft/


짜잔!! 이러한 과정 끝에 나는 Azure Fundamentals 와 Azure Admin 자격증을 취득했다.



왠지 자격증까지 따니 나의 첫 클라우드 여정이 어느덧 종착지에 다다르는 것 같이 느껴진다. 사실 앞으로도 IT 관련 일을 하게 되면 클라우드를 더 많이 접하게 될 느낌이 들지만 이제 두려움은 없을 것 같다. 새로운 기술의 학습은 개발자의 숙명이니 즐기면서(?) 하나씩 정복해 보려 한다.


        

작가의 이전글 [눈높이 기술] 고압 전력 지키는 진공차단기 VCB
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari