문과생 성시은의 AWS 정복기
다음 날 오후 1시 45분. 방배동 카페 골목은 테헤란로와는 다른 시간 속을 걷고 있었다. 하늘을 찌를 듯 솟은 유리 빌딩 대신 나지막한 빌라들이 이어졌고, 넥타이를 맨 직장인 대신 유모차를 끌거나 반려견과 산책하는 사람들이 여유롭게 거리를 채웠다. 성시은은 이런 평온한 풍경이 낯설었다. 지난 1년간 그녀의 세상은 오직 ‘생존’과 ‘성장’이라는 두 단어로만 이루어져 있었기 때문이다.
약속 장소인 ‘리빈’ 카페는 골목 안쪽에 조용히 자리 잡고 있었다. 통유리창으로 쏟아지는 햇살, 공기 중에 은은하게 퍼지는 원두 향, 나지막이 흐르는 재즈 선율. 어제의 지옥 같던 사무실과는 모든 것이 정반대였다. 시은과 박서준은 가장 안쪽 자리에 마주 앉았다. 둘 다 어젯밤 뜬 눈으로 밤을 새운 터라 얼굴에는 피로와 불안이 역력했다.
“대표님, 정말… 그분이 오실까요?”
박서준이 초조하게 묻자, 시은은 텅 빈 찻잔만 내려다보았다.
“오겠죠. 와야죠. 안 오면….”
안 오면 어떡하지. 그 뒷말을 차마 입에 담을 수 없었다. ‘와룡’이라는 별명 하나에 모든 것을 걸고 여기까지 왔다. 그가 오지 않으면, 정말로 모든 것이 끝이었다.
“어떤 사람일까요? 철민이 말로는 거의 신선 같은 분이라던데. 막 후광이 비치고 그러는 거 아니에요?”
“글쎄요. 목소리는 그냥… 동네 아저씨 같던데.”
두 사람이 헛된 기대를 나누는 사이, 약속 시간 정각 2시가 되자 카페 문이 열렸다. 그리고 한 남자가 들어섰다. 40대 후반으로 보이는, 목이 살짝 늘어난 회색 무지 티셔츠에 무릎 나온 면바지, 낡은 스니커즈 차림의 남자. IT 업계의 전설이라는 후광은커녕, 주말 오후에 집 앞 편의점에 나온 동네 아저씨 같은 모습이었다. 하지만 얇은 안경 너머로 두 사람을 훑는 눈빛만큼은 보통이 아니었다. 모든 것을 꿰뚫어 보는 듯한, 날카롭고 건조한 눈빛. 안민준이었다.
그는 두 사람 앞에 가방을 내려놓지도 않고, 자리에 앉자마자 대뜸 물었다.
“그래서, 서버는 왜 터졌답니까?”
첫마디부터 본론이었다. 인사도, 통성명도 없었다. 박서준은 당황했지만, 이내 준비해온 노트북을 열고 어젯밤 내내 분석한 내용을 설명하기 시작했다.
“일단, 파워 서플라이가 문제였습니다. 중고로 구매한 거라 수명이 다한 것 같고, 냉각 시스템도 한계에 부딪혔습니다. 결정적으로, 저희가 예상했던 것보다 훨씬 많은 트래픽이 순간적으로 몰리면서… CPU가 버티지 못하고….”
서준의 설명은 길고 장황했다. 변명처럼 들릴까 봐 최대한 기술적인 용어를 섞어 객관적으로 설명하려 애썼다. 민준은 그저 말없이 듣고만 있었다. 그의 침묵은 시은의 심장을 더욱 조여왔다. ‘역시 우릴 한심하게 생각하는구나. 이런 아마추어들이랑은 상종도 하기 싫겠지.’
길었던 설명이 끝나고, 무거운 침묵이 흘렀다.
“저희가… 이제 어떻게 해야 할까요?”
시은이 간절하게 물었다. 그녀의 목소리는 거의 애원에 가까웠다. 민준은 컵에 담긴 얼음을 빨대로 빙글빙글 돌리더니, 모든 것을 지켜본 사람처럼, 그러나 전혀 엉뚱한 질문을 던졌다.
“성 대표님은 차 있어요?”
“네? 아뇨, 저는 뚜벅이입니다. 면허는 있지만….”
“왜요? 대표쯤 되면 차 한 대 있어야 편하잖아요. 강남까지 오는데도 한참 걸렸을 텐데.”
“그야… 차를 사려면 목돈이 들잖아요. 취득세에, 매년 나가는 보험료, 자동차세, 기름값, 주차 문제까지… 배보다 배꼽이 더 크죠. 필요할 때만 택시나 공유 차를 타는 게 훨씬 합리적이니까요.”
그 말을 기다렸다는 듯, 민준이 말했다.
“서버도 똑같습니다.”
“네?”
“성 대표님은 지금까지 직접 ‘똥차’ 한 대를 사서, 온갖 유지비를 감당하며 불안하게 운행해 온 겁니다. 그러다 어제 손님 태우고 고속도로 달리다가 길 한복판에서 퍼져버린 거고요. 제가 하려는 말은, 이제 차를 살 필요가 없다는 겁니다. 필요할 때마다 택시를 부르면 돼요.”
시은과 서준은 그의 말을 단번에 이해하지 못해 서로를 쳐다봤다.
“클라우드가 바로 그 택시입니다.” 민준의 목소리에 처음으로 약간의 온기가 실렸다. “아마존, 구글, 마이크로소프트 같은 회사들이 전 세계에 수백만 대의 서버, 즉 택시를 준비해놓고 있죠. 우리는 그냥 카카오택시 부르듯, 클릭 몇 번으로 서버를 빌리면 됩니다.”
그는 손가락을 꼽으며 말을 이었다.
“경차가 필요하면 경차를, 세단이 필요하면 세단을, 심지어 버스가 필요하면 버스를 빌릴 수 있죠. 딱 사용한 시간, 달린 거리만큼만 요금을 내고요. 보험이나 정비, 주차 걱정은? 전부 택시 회사가 알아서 합니다. 우리는 그냥 목적지까지 편안하게 가면 되는 거예요.”
그제야 시은의 눈이 번쩍 뜨였다. 어젯밤 서준이 막연하고 두렵게 말했던 ‘클라우드’라는 개념이, 손에 잡힐 듯 선명하게 그려졌다. 두려움의 대상이 아니라, 지금 당장 쓸 수 있는 합리적인 도구로 보이기 시작했다.
“그럼… 저희도 그 택시를 부를 수 있나요? 지금 당장요?”
“물론이죠.” 민준이 자신의 낡은 맥북을 열었다. 화면에는 긁힌 자국이 가득했지만, 부팅 속도는 놀랍도록 빨랐다. “아마존 웹 서비스, AWS라는 곳에 한번 가입해 보죠. 거기가 제일 큰 택시 회사거든요. 전 세계 택시의 30%는 다 거기 소속일 겁니다.”
민준의 안내에 따라 시은은 자신의 노트북으로 AWS 계정을 만들었다. 신용카드를 등록하고, 휴대폰 인증을 거치자, 눈앞에 수많은 아이콘과 메뉴로 가득 찬 복잡한 화면이 나타났다. 마치 비행기 조종석 같았다. 시은은 순간 주눅이 들었다.
“걱정 마세요. 이 모든 걸 다 알 필요는 없습니다. 택시 탈 때 엔진 구조까지 알 필요는 없잖아요?”
민준은 익숙하게 검색창에 세 글자를 쳤다.
EC2.
“Elastic Compute Cloud. ‘탄력적인 컴퓨팅 구름’이라는 거창한 이름인데, 그냥 ‘컴퓨터 한 대 빌리기’라고 생각하면 됩니다. 우리가 부를 택시죠.”
그는 ‘인스턴스 시작’ 버튼을 눌렀다. 화면에는 우분투, 윈도우, 아마존 리눅스 등 다양한 운영체제(OS)와 ‘t2.micro’, ‘m5.large’, ‘c5.xlarge’처럼 알 수 없는 암호 같은 이름들이 나열되어 있었다.
“이게 다 뭐죠? 암호문 같은데….”
“택시 종류입니다.” 민준이 안경을 고쳐 쓰며 말했다. “t2.micro는 1인승 전기 스쿠터 같은 겁니다. 작고, 저렴하고, 간단한 이동에 딱이죠. 저 밑에 있는 고성능 인스턴스는 45인승 리무진버스 같은 거고요. 지금은 일단 가장 작은 스쿠터 한 대만 빌려봅시다. 1년 동안은 거의 공짜로 태워주거든요.”
민준이 몇 가지 옵션을 클릭하고, 마지막으로 ‘시작’ 버튼을 눌렀다. 화면에 ‘pending(대기 중)’이라는 노란색 글자가 떴다. 시은은 자기도 모르게 숨을 참았다. 10초, 20초… 영원처럼 느껴지는 시간이 흘렀다.
그리고, 마법이 일어났다.
노란색 글자가 ‘running(실행 중)’으로 바뀌며, 옆에 선명한 초록불이 들어왔다.
“자, 끝났습니다.” 민준이 말했다. “지금 이 순간, 아마존의 데이터 센터 어딘가에 성 대표님만의 작은 서버 한 대가 생겼습니다.
54.180.10.123이라는 고유한 주소도 발급됐고요. 이제 저기에 우리 ‘커넥트-AI’를 설치하면 됩니다.”
시은은 화면의 초록불에서 눈을 떼지 못했다. 어제 그렇게 허무하게 꺼져버렸던, 다시는 켤 수 없을 것 같았던 희망의 불빛. 그 불빛이 지금 자신의 눈앞에서 다시 켜져 있었다. 고작 클릭 몇 번 만에. 그녀의 눈시울이 뜨거워졌다.
옆에서 지켜보던 서준의 표정은 경이로움과 깊은 자책감이 뒤섞여 있었다. 그는 이 모든 과정을 알고 있었다. 머리로는. 하지만 실패에 대한 두려움, 혼자서 모든 것을 책임져야 한다는 부담감 때문에 차마 이 ‘시작’ 버튼을 누르지 못했다.
안민준은 그런 그의 마음을 꿰뚫어 보기라도 한 듯, 나지막이 말했다.
“박 CTO님. 아는 것과 해보는 건 완전히 다른 문제입니다. 수영 책을 백 권 읽는 것보다, 물에 한번 빠져보는 게 더 빨리 배우는 법이죠. 혼자서 바다에 배를 띄우는 건 원래 두려운 겁니다. 이제 옆에 작은 조각배라도 한 척 띄웠으니, 너무 자책하지 마세요.”
그의 담담한 위로에 서준은 울컥하는 것을 애써 참았다.
민준은 자리에서 일어나며 말했다. “그런데 문제가 하나 있습니다.”
“네? 무슨 문제요?”
“방금 택시를 한 대 불렀죠. 그런데 이 택시는, 내렸다가 다시 부르면 번호판이 바뀝니다.
54.180.10.123이 아니라, 다른 번호가 되는 거죠. 식당 주소가 매일 바뀌면 손님들이 찾아올 수 있겠어요?”
“아… 안되죠.”
“그래서 우리 가게만의 ‘고정된 주소’, 즉 변하지 않는 번호판이 필요합니다. 그걸 AWS에서는 ‘Elastic IP(탄력적 IP)’라고 부릅니다. EIP라고 하죠. 그 번호판을 하나 발급받아서, 우리가 부른 택시에 딱 붙여놓는 겁니다. 그럼 나중에 더 좋은 택시로 갈아타더라도, 번호판만 옮겨 붙이면 손님들은 헷갈리지 않고 계속 찾아올 수 있죠.”
그는 낡은 가방을 챙겨들었다.
“오늘 제가 알려준 건, 그냥 택시 앱 까는 법이랑, 단골 가게 주소 등록하는 법 정도입니다. 앞으로 어떤 택시를 탈지, 몇 대를 부를지, 어떤 길로 갈지는 직접 운전하며 배워야 할 겁니다. 가끔 길이 막히거나 타이어가 펑크 나면 연락하시고요. 물론, 자문료는 받을 겁니다. 이메일로 계좌번호 보내드리죠.”
그는 쿨하게 손을 흔들고 카페를 나갔다. 약속했던 30분이 정확히 지나 있었다.
시은과 서준은 한동안 아무 말 없이 노트북 화면만 바라봤다. ‘running’이라는 작은 초록색 단어가, 어둠 속에서 다시 빛나기 시작한 그들의 꿈처럼 보였다.
“서준 님.” 시은이 먼저 침묵을 깼다. “우리… 다시 시작할 수 있겠죠?”
서준은 처음으로 희미하게 웃으며 대답했다. 그의 눈에는 더 이상 자책이 아닌, 새로운 도전에 대한 작은 흥분이 감돌았다.
“네, 대표님. 이번엔… 구름 위에서요.”
클라우드 컴퓨팅 (Cloud Computing): 인터넷을 통해 서버, 스토리지, 데이터베이스 같은 컴퓨팅 자원을 빌려 쓰고, 사용한 만큼만 비용을 지불하는 서비스입니다. 직접 하드웨어를 구매하고 관리할 필요가 없어 초기 비용(CAPEX)과 유지보수 부담이 적습니다.
AWS (Amazon Web Services): 아마존닷컴이 제공하는 클라우드 컴퓨팅 서비스로, 전 세계에서 가장 큰 시장 점유율을 차지하고 있습니다.
EC2 (Elastic Compute Cloud): AWS가 제공하는 가장 기본적인 서비스 중 하나로, 가상 컴퓨터(서버)를 빌려주는 서비스입니다. 사용자는 필요에 따라 컴퓨터의 사양(CPU, 메모리 등)을 자유롭게 선택하고, 사용한 시간에 대해서만 비용을 지불합니다.
인스턴스 (Instance): 클라우드 환경에서 생성된 가상 서버 한 대 한 대를 부르는 단위입니다. ‘t2.micro’와 같은 인스턴스 유형은 서버의 성능과 사양을 나타냅니다.
EIP (Elastic IP Address): ‘탄력적 IP 주소’는 AWS 계정에 할당할 수 있는 고정적인 공인 IP 주소입니다. EC2 인스턴스를 중지했다가 다시 시작하면 공인 IP 주소가 변경되는데, EIP를 인스턴스에 연결해두면 이 주소가 변하지 않으므로 도메인 연결 등 외부에서 서버에 항상 동일한 주소로 접근해야 할 때 필수적입니다.