디지털 트랜스포메이션 9편: DT의 핵심기술 클라우드

지금부터 DT 사이클을 구성하는 핵심기술에 대해 알아보겠습니다. I’m ABC 기억하시죠? 데이터를 폭발하게 만들었던 IoT와 mobile, 사이클에서 폭발한 데이터를 처리하고 저장하는 핵심 엔진 역할을 하던 AI, Big data, Cloud를 기억하실 겁니다. 그중에서 ‘ABC’에 대해 순차적으로 알아보도록 하겠습니다. 용어 순서는 ‘ABC’이지만 이해를 돕기 위해 설명은 ‘C’에 해당하는 클라우드부터 시작하겠습니다.

# 정형과 비정형

빌 게이츠가 “모든 가정에 PC를 한 대씩 두게 하자” 선언하고 한참이 지난 90년대에도 PC는 자산이었습니다. 가정에서 거의 자동차 다음에 준하는 소중한 재산이었죠. 그렇다 보니 저희 세대만 해도 컴퓨터는 소중하게 다뤄야 하는 물건이었습니다. 부지런한 현모양처 어머니들은 십자수로 컴퓨터와 키보드 덮개를 만들어 소중한 PC가 먼지를 먹지 않도록 얹어놓곤 했습니다. 키보드로 등짝 스매싱을 하는 그런 미개한 행동은 상상도 할 수 없었죠. 그래서 그 소중한 컴퓨터에 넣는 데이터는 정제되고 고민과 고민 끝에 만들어진 것들이었습니다. 그러나 매정한 컴퓨터는 입맛에 조금만 안 맞는 데이터가 들어와도 에러를 내면서 뱉어내곤 했죠. 당연히 사람이 잘못했다 생각하고 스스로 데이터를 고쳤습니다. 그렇다 보니 컴퓨터에는 전문용어로 ‘정형 데이터’만 입력이 되었죠.

‘정형 데이터’는 말 그대로 컴퓨터 입맛에 딱 맞게끔 요리된 데이터를 뜻합니다. 넣으면 바로 컴퓨터가 소화할 수 있는 데이터죠. 엑셀의 잘 정리된 데이터를 생각하시면 됩니다. 그렇다고 엑셀에 입력된 것이 모두 정형화된 데이터는 아닙니다. 매출 보고서를 엑셀로 정리해보죠.

주문번호 주문일자 제품명 판매금액 ORD0001 2020-06-01 냉장고 3,100,000 ORD0002 2020-06-01 세탁기 2,000,000 ORD0003 2020-06-01 청소기 800,000 ORD0004 2020-06-04 세탁기 2,000,000 ORD0005 2020-06-04 에어컨 2,500,000 ORD0006 2020-06-04 에어컨 2,500,000 ORD0007 2020-06-07 에어컨 2,500,000 ORD0008 2020-06-07 청소기 800,000 ORD0009 2020-06-07 세탁기 2,000,000 ORD0010 2020-06-07 냉장고 3,100,000 합계 21,300,000 -> 제품명 제품합계 냉장고 6,200,000 세탁기 6,000,000 에어컨 7,500,000 청소기 1,600,000 총합계 21,300,000

날짜별로 어떤 가전제품이 판매되었는지 정리되어 있습니다. 제대로 입력했다면 판매금액을 선택하고 합계를 내면 표와 같이 바로 총액이 자동으로 계산되어 나오죠. 제품별로 합계도 쉽게 낼 수 있습니다. 컴퓨터가 잘 소화할 수 있도록 정해진 규칙에 따라 정확하게 입력했기 때문이죠. 그런데 금액란에 같은 금액이지만 숫자가 아닌 문자로 ‘삼백십만 원정’을 입력하면 컴퓨터는 바로 앙탈을 부립니다. 형식에 안 맞으니 계산을 못 해주겠다는 거죠. 이런 데이터를 ‘비정형 데이터’라 합니다. 이런 상황을 90년대 중반까지 당연하게 생각했습니다. 컴퓨터는 ‘정형데이터’만 처리하는 기계였습니다. 그러니, ‘비정형 데이터’를 소중한 컴퓨터에 먹일 생각은 하지 않았죠.

'정형이'만 들어와 !!!

이런 고정관념은 인터넷 붐과 함께 조금씩 허물어지기 시작합니다. 인터넷이 예상외로 빠르게 보급되고 뜬금없이 사람들이 컴퓨터에 편지를 쓰기 시작합니다. 처음에는 글자(텍스트)만 보내다가 디지털카메라가 나오면서 사진도 보내기 시작하고, 동영상도 곧 밀려 들어오죠. 사용자 수 증가도 그들의 예상을 뛰어넘었죠. 구글과 같은 기업은 전 세계 사용자들이 입력하는 검색어를 모두 저장하고, 메일 같은 서비스 공간을 개인별로 각각 할당해 줘야 했습니다. 위기는 곧 찾아옵니다. 폭발적으로 데이터가 늘어나면서, 튼튼하고 많이 비싼 컴퓨터인 서버와 저장소(스토리지)가 갑자기 대거 필요하게 됩니다. 그리고 사용자가 마구 입력하는 검색어처럼 컴퓨터 입맛에 맞지 않는 비정형 데이터도 기하급수적으로 늘어납니다. 이런 문제가 한 번으로 끝나면 서버와 저장소를 늘리고 말았겠죠. 그런데 상황은 점점 더 심각해집니다. 궁여지책으로 저사양 PC 여러 대를 네트워크로 연결해 붙여나가는 시도를 하게 됩니다. 이 시도가 성공하면서 두 가지 문제가 해결됩니다. 첫째, 쉼 없이 늘어나는 데이터를 보관할 장소 문제가 해결됩니다. 둘째, 사정없이 밀려드는 데이터를 빠르게 처리할 컴퓨팅 파워를 가지게 됩니다. 여러 서버가 가진 두뇌(CPU, 중앙처리장치)에 일을 골고루 나눠준 거죠. 이제 비정형 데이터를 문전 박대할 필요가 없어집니다. 반대로 친구를 더 데리고 오라고 하죠. 때마침 SNS가 유행하게 되고, 집집마다 주던 인터넷 주소(IP 주소)를 기계 하나하나에 각각 주게 됩니다. (2011년 2월 4일부로 IPv4만 사용하던 전 세계 인터넷 주소가 IPv6 체계로 전면 전환됨)

이제 사람과 컴퓨터만 데이터를 받고, 뿜어내는 것이 아니라 센서가 달린 500억 대의 기계가 서로 데이터를 내보내기 시작한 거죠. 말 그대로 데이터양은 폭발하게 됩니다. 이를 ‘빅데이터’라 칭하게 되죠. 어떻게 보면 클라우드 기술이 빅데이터를 불러냈다 할 수 있습니다. 물론 반대로 빅데이터가 먼저 나타나서 이를 해결하기 위해 클라우드 기술이 만들어졌다고도 할 수 있습니다. ‘서로가 서로를 불렀다’ 정도로 정리하죠.

# 클라우드의 핵심기술

PC 여러 대를 네트워크로 묶을 수 있다는 건, 비싼 컴퓨터인 서버와 스토리지도 가능하다는 말이 됩니다. 앞으로는 대표를 서버라고 표현하겠습니다. 기업에서는 조사해보게 되죠. 우리 회사에 직원 녀석들만 놀고 있는 줄 알았는데 꾀를 안 부릴 거라 믿었던 서버도 대부분 놀고 있었던 거죠. 특정한 시간대나 이벤트 때 특정 자원이 바빴고, 모든 용량은 가장 바쁠 때에 맞춰져 있었죠. 아주 잠깐의 시간 외에는 엄청나게 여유가 있었던 겁니다. 결산 서버와 월급 계산용 서버는 월말에 잠시 일했고, 생산 실적을 관리하는 서버는 낮에만 일했던 거죠. 그림의 왼쪽에 음영이 표시된 정도만 각각 사용되고 있었던 겁니다. 화가 난 회사는 각각 일하던 서버들을 묶습니다. 그랬더니 서버의 활용도가 오른쪽처럼 높아지면서 3개가 필요하던 자원이 2개로 줄어들게 되는 겁니다.

야! 일단 스크럼 짜 거봐! 2개면 되지 결산 급여계산 생산실적 -> 결산 급여계산 생산실적

이런 기적을 행하기 위해서는 두 가지 핵심적인 기술이 필요합니다. 클라우드의 핵심 기술이라 불리기도 합니다. 첫째는 서버 가상화 기술이고, 둘째는 분산처리 기술입니다.

핵심기술 가상화(서버, 애플리케이션) 분산처리

왜 두 가지 기술이 필요한지 알아보겠습니다. 먼저 서버 가상화 기술입니다. 최초에 클라우드 기술을 태동하게 했던 상황을 해결해 주는 형태입니다. 여러 대의 실제 장비를 가상 설비로 소프트웨어를 이용해서 묶는 거죠. 그 위에 운영체제(OS)를 설치하고 실제 구동한 프로그램을 올립니다.

응용 프로그램 운영 체제(OS) 가상 설비 실제장비1 실제장비2 실제장비 3

이렇게 되면 실제 서버의 용량의 응용 프로그램이 필요로 하는 최대치에 맞춰 가져갈 필요가 없는 거죠. 실제 서버를 가상 설비로 통합해 켜고 끌 때 순간적으로 필요한 수만큼 서버를 늘리면 되니까요. 쉽게 서버나 스토리지를 늘릴 수 있게 된다는 것은 데이터양과 관계없이 보관할 곳을 확보할 수 있다는 말이 됩니다.

그리고 두 번째 가능성도 열게 되죠. 가상 설비를 여러 대의 서버와 스토리지를 통합할 수 있다는 말은 그 반대도 가능하다는 말이 됩니다. 하나의 서버를 필요에 따라 여러 개의 서버처럼 가상으로 나누어 쓰는 거죠.

응용 프로그램 1 응용 프로그램 2 응용 프로그램 3 응용 프로그램 4 운영 체제1 가상 설비2 가상설비 2 가상설비 2 실제장비

궁극적으로는 두 가지를 섞는 형태가 될 겁니다. 이렇게 되면, 새로운 사업모델이 생길 수 있습니다.

응용 프로그램 1 응용 프로그램 2 응용 프로그램 3 응용 프로그램 4 응용 프로그램 5 운영 체제1 운영체제 2 가상설비 3 가상설비1 가상설비 2 가상설비3 실제장비1 실제장비2 실제장비3 실제장비

2018년 11월 22일 오전 ‘AWS 서버 장애 발생, 쿠팡, 배달의 민족 등 먹통’이라는 속보가 뜹니다. 많은 사람이 두 가지에 놀라죠. 첫 번째는 쿠팡, 배달의 민족 정도의 큰 기업이 자체 서버 및 장비를 보유하지 않고 다른 회사가 제공하는 클라우드라는 서비스를 사용하고 있었다는 것이고, 두 번째는 AWS가 전자책, 택배 정도로 인식해왔던 아마존이 운영하는 서비스라는 것이었죠.

이런 일을 가능하게 하는 근본적인 이유가 서버 가상화 기술입니다. 아마존이라는 클라우드 서비스 제공 기업이 엄청난 규모의 실제 장비를 보유하고 있고, 그 위에 고객이 필요로 하는 프로그램을 구동하게 하는 거죠. 그리고 일정 금액을 사용료로 받는 겁니다. 업계에서는 이를 ‘서비스 종량제’라고 부르기도 합니다. 쓰레기 종량제가 생각나서 이 이름에 저는 부정적입니다만.

가상화 기술로 보관 장소의 한계에 대한 봉인은 풀렸습니다. 더 많은 데이터가 걱정 없이 밀려 들어올 겁니다. 이제 데이터를 처리하는 시간이 문제가 됩니다. 이 문제를 해결하는 기술이 분산처리 기술입니다. 개념은 간단합니다. 밀려드는 데이터를 여러 대의 서버에 나누어 병렬로 처리하는 겁니다. 처리해야 할 부하 상태에 따라 작업에 참여하는 서버와 스토리지 같은 자원을 늘리거나 줄일 수도 있게 합니다. 이렇게 되면 대량의 데이터를 고속으로 처리하는 것이 가능해집니다. 예를 하나 들어보겠습니다. 구글에서 고안한 분산처리 방식이죠.

작업분할 합침

다양한 도형 그림이 있습니다. 원하는 결과는 문서 내용을 읽어서 각각의 도형이 몇 개씩 있는지 세어 출력하는 것입니다. 먼저 작업할 것을 두 개로 나눕니다. 나눠진 작업을 각각의 서버에서 수행합니다. 두 개의 서버라면 각각의 서버에서 할당된 도형이 몇 개인지 셉니다. 그리고 그 작업 결과를 합치는 겁니다. 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법의 하나입니다. 이렇게 해서 데이터가 무한정 늘어나도 일단은 처리할 수 있는 체계가 만들어졌습니다.

대학 시절 방학 기간에 건설 현장 막노동을 한 적이 있습니다. 그때 새벽마다 나간 곳이 인력 시장이었습니다. 새벽 5시에 조그만 사무실에 20명 정도가 옹기종기 앉아 있으면, 건설 현장에서 사장님께 어떤 일에 몇 명이 필요하다고 전화가 옵니다. 선착순으로 조금씩 빠져나가다 7시가 되면 더 사람을 찾지 않기 때문에 인력시장이 파했습니다. 운 좋게 일을 나가게 되면 현장에 도착할 때까지 그날 무슨 일을 할지 모릅니다. 도착하면 현장에 작업반장님이 계시지요. 그분이 그날 할 일을 알려줍니다.

클라우드 가상화 새벽 서버시장 3대만 나와서 스크럼 짜 분산처리 작업현장 공평하게 삼등분 했어!

클라우드의 핵심 기술인 가상화와 분산처리의 관계가 새벽 인력시장의 메커니즘과 유사합니다. 정직원에 해당하는 서버를 소유하지 않고 필요할 때 필요한 만큼 새벽시장에서 조달합니다. 그리고 할당받은 클라우드에 일을 잘 분산해 주는 것이죠.

이번 글에서는 클라우드의 핵심인 ‘가상화’와 ‘분산처리’를 살펴보았습니다. 다음 편에서는 클라우드의 여러 제공 방식에 대해 알아보겠습니다.

+ 디지털 트랜스포메이션 1편 : 애인의 유산과 매트릭스
+ 디지털 트랜스포메이션 2편 : 사이퍼의 스테이크
+ 디지털 트랜스포메이션 3편 : DT 사이클
+ 디지털 트랜스포메이션 4편 : 기업의 디지털 트랜스포메이션
+ 디지털 트랜스포메이션 5편 : 요약은 컨설턴트의 숙명
+ 디지털 트랜스포메이션 6편 : 멋쟁이는 옷을 제때 갈아입는다
+ 디지털 트랜스포메이션 7편 : 장인의 연장
+ 디지털 트랜스포메이션 8편 : 빈 비누 케이스를 제거하라

삼성SDS 소셜크리에이터 주호재(Principal Consultant)
공유하기