※ 모두의 건강과 안전을 위해 코로나19 방역 수칙을 철저히 준수하여 진행되었습니다.
2021년 9월 14일(화) 오후, 코로나19로 인해 많은 분들이 재택근무 중인 오늘의집 오피스 라운지가 오랜만에 들썩였습니다. 개발팀 구성원들이 곳곳에 호기심과 기대에 찬 모습으로 모여들었는데요, 바로 AWS GameDay가 열리는 날이었기 때문이죠. AWS를 사용하는 테크기업이라면 한번쯤은 들어보셨을 AWS GameDay! 안정적인 서비스 운영을 위해 AWS와 함께하고 있는 오늘의집에도 쟁쟁한 개발자들이 포진해 있는 만큼 실력 발휘 안해볼 수 없겠죠? 업무는 잠시 내려놓고 그간 갈고 닦은 개발력을 맘껏 펼쳐 보이는 시간, 오늘의집 x AWS GameDay 현장을 지금 공개합니다!
동료들과 함께 찐~하게 즐기는 개발행사로 재미도 UP, 실력도 UP!
Amazon Web Services에서 주관하는 AWS GameDay는, 게임화된 환경에서 주어진 가상의 문제 상황을 AWS 솔루션을 활용해 가장 효과적으로 해결하는 팀이 우승하게 되는 일종의 게임이자 대회입니다. Cloud 상에 구축된 서비스 아키텍처를 개선하고 문제를 해결해가며 AWS에 대한 이해와 대응 방법을 겨루는 것이죠. 일반적으로는 AWS를 사용하는 여러 회사가 함께 참여하여 서로의 개발실력을 뽐내지만, 코로나19로 인해 규모를 축소해 시행하게 되면서 이번 행사는 오늘의집 개발자 동료들 간의 즐거운, 하지만 양보 없는 시간이 되었습니다.
오늘의집 AWS GameDay에는 총 8개 팀 31명의 개발자가 참여했는데요. 대회에 참여하는 개발자들 뿐만 아니라 흥미로운 현장을 직관하기 위해 모여든 구성원들로 현장 분위기는 시작 전부터 한껏 고조되었습니다. 현장에 설치된 현수막과 배너, 오피스 내 오픈키친을 가득 채운 예쁜 케익과 컬러풀한 스낵들이 묘한 긴장과 설렘의 기분을 한층 더해주었습니다.
오피스에서 참여하는 개발자들은 AWS에서 준비한 티셔츠로 환복 후 자리를 잡았고, 재택근무로 집에서 참여하는 구성원들도 모든 셋팅이 끝났습니다. 이제 본격적인 GameDay의 막이 올라갑니다!
Head of Tech인 진식 님이 AWS GameDay의 오프닝을 장식했는데요. 이 날 행사에 대한 전반적인 소개와 함께 1~3등 팀 및 각 팀 별 MVP에게 주어지는 푸짐한 상품까지 안내하고 나니 참가자들의 승부욕 게이지가 더욱 올라가는 듯한 느낌입니다. 한편 라운지 스크린을 통해서는 실시간 순위와 진행상황을 누구나 확인할 수 있도록 하여 참관하는 구성원들의 흥미를 붙잡아 두었습니다.
진식 님의 오프닝에 이어 AWS 운영팀에서 대망의 미션과 시나리오를 공개했는데요, 대략적인 내용은 이렇습니다.
“GameDay에 참여한 사람들은 Unicorn Rentals라는 가상의 회사에 속한 엔지니어들입니다. 회사의 대표가 부재 중일 때 하필 회사에 문제가 발생합니다. 어떤 가상의 서비스가 동작 중인데 각 팀에 주어진 것은 AWS 콘솔 접근 권한 하나 뿐입니다. 각 팀은 이 서비스의 현재 상태를 진단하고, 앞으로 다가올 큰 트래픽과 예기치 못한 장애상황을 이겨내 서비스를 안정적으로 운영해야만 합니다.”
가상의 상황이긴 하지만 아찔한데요. 자, 미션을 들었으니 이제부터 각 팀 별 개발력을 보여줄 시간입니다. 안전한 방역과 팀 내 긴밀하고 원활한 커뮤니케이션을 위해 각 팀 별로 서로 다른 회의실에 헤쳐모였습니다. 개발 실력을 겨루는 게임일 뿐이지만, 각 팀 별로 다른 공간에 모여 머리를 맞대고 논의하는 모습을 보니 흡사 전쟁터에 막사를 친 부대들 같은 장엄한 느낌마저 자아냅니다.
각 팀은 예측 불가능한 시나리오에 효과적으로 대응하기 위해 평소 업무를 진행하는 팀과는 다르게 AWS 기술에 얼마나 익숙한지, 관련 경험이 있는지 등을 기준으로 꾸려졌습니다. Back-end 개발, DevOps 개발, 데이터 엔지니어, DBA 등 다양한 직무를 담당하는 개발자들이 이날의 미션 수행을 위해 팀을 이루었네요.
*개발자들이 함께 모여 작업 중인 각 오피스 공간이 궁금하다면? 보러가기!
GameDay에서는 앞서 공개된 게임 시나리오 내 주어지는 상황에 따라 가장 효율적으로 인프라를 운영을 하는 팀에게 실시간으로 더 많은 점수가 부여됩니다. 예를 들어, 트래픽이 급증하면 이에 맞게 서버의 스케일을 늘리고 반대로 트래픽이 감소했을 때는 서버의 스케일을 줄이면서 인프라를 최적화하여 비용을 최소화하는 팀에게 더 높은 점수를 주는 것이죠.
이런 과정들을 거치면서 각 팀 별 점수와 순위가 실시간으로 달라지는 걸 모니터를 통해 보니 흥미로운 한편 끝까지 긴장의 끈을 놓을 수 없었습니다.
순위는 은근 신경 쓰이는 게 인지상정이죠. 하지만 눈앞에 닥친 문제들을 가장 잘 해결하는 게 우선인 만큼 모두가 초집중 모드입니다. 항상 탁월함을 추구하며 ‘게임도 실전처럼' 최선을 다해 임하는 구성원들 덕분에 모든 회의실이 후끈 달아올랐습니다.
열띤 논의와 대응을 거듭하며 장장 4시간 동안 계속된 GameDay가 종료 안내와 함께 마침내 끝났습니다.
과연 우승의 영광은 어느 팀에게 돌아갔을까요? (두구두구두구~!)
1등은 엎치락뒤치락 바뀌는 순위 속에서도 중반 이후부터 승기를 잡으며 1등 자리를 놓치지 않았던 ‘제제 없는 제제' 팀이 차지했습니다! (*TMI: 최종 팀 구성 시 제제 님이 다른 팀으로 가면서 ‘제제 없는 제제' 팀이 되었다는 후문입니다. 제제 님은 실제로 3등 팀에 속해 있었지만, 왠지 1등을 함께 한 것 같은 기분이었을 것 같네요.)
2등과 3등은 각 팀 별 회의실 명칭에서 따온 이름의 ‘서재에 살아요' 팀과 ‘Home Bar’ 팀이 차지했는데요. 1등~3등 팀에는 선물로 오늘의집에서 자유롭게 사용할 수 있는 ‘꾸미기 지원금'이 차등 지급되었습니다.
AWS GameDay는 가상의 문제 상황을 가정하고 진행되는 게임이긴 하지만, 만약 실제로 비슷한 문제가 발생한다면 어떻게 대응해야 할지에 대해 진지하게 고민하며 최선의 해결안을 도출하는 과정을 밀도 있게 경험할 수 있었던 값진 시간이었습니다. 그래서인지 결과에 상관없이 참여한 모두가 끝까지 행사를 즐기는 모습을 보여주었습니다.
‘내가 무엇을 할까'보다는 ‘문제를 어떻게 해결할까'에 집중하는 문화
개발팀 동료들 간 선의의 경쟁을 거쳐 가장 좋은 결과를 얻은 1등 팀을 그냥 보내드릴 수는 없겠죠? 행사가 끝난 후 간단한 인터뷰를 통해 미션 수행 과정과 소감 등에 대해 들어보았습니다.
Q. 1등하신 걸 진심으로 축하드립니다! ‘제제 없는 제제' 팀에서 각자 맡은 역할이 무엇이었는지 궁금합니다.
핀 님: 기본적으로 제공된 서비스 인프라의 관리와 커스터마이징을 맡았습니다. 제가 먼저 득점현황판에서 이상한 점을 발견하고 대응하면서 자연스럽게 해당 업무를 담당하게 되었는데요, 노을 님과 스테파노 님이 ECS/Fargate 기반의 새로운 커스텀 클러스터를 구성할 수 있도록 시간을 확보해주는 탱커 역할을 한 것이죠.
스테파노 님: 저는 핀 님이 말씀하신 대로 노을 님과 함께 ECS/Fargate 기반의 새로운 커스텀 클러스터를 구성하는 미션을 수행했어요.
노을 님: 조금 구체적으로 말씀드리면, 인프라 구조를 먼저 파악 후 그 뒤 예상 가능한 장애상황에 대비해 하나의 가용 영역에 몰려있던 EC2 인스턴스를 여러 가용 영역에 분산시켰습니다. 그 다음 EC2 인스턴스에 직접 원격 접속해 서버가 어떻게 구성되어 있는지 파악하고, 이를 컨테이너 이미지로 만드는 일을 했어요.
스티치 님: 저는 자연스럽게 분배된 역할에 따라 현재 서비스의 상태를 점검하는 모니터링 업무를 맡았습니다.
Q. 만약 실제 업무 중 오늘처럼 갑자기 장애가 발생하거나 누가 무엇을 담당할지 불분명한 긴급상황이 발생한다면, 어떻게 역할을 나눠 갖게 되나요?
노을 님: 긴급상황일 경우에는 제 판단에 짚히는 것이 있으면 일단 먼저 진단을 하죠. 그리고 제가 제시한 해결책으로 더 큰 문제가 발생하지 않는다는 확신이 들면 최대한 제가 할 수 있는 걸 해보고, 이후에 진행 상황을 동료들에게 공유하는 편입니다.
스티치 님: 보통 그런 상황은 매우 급박하게 돌아가기 때문에 완벽한 역할 분담이 현실적으로 쉽지 않아요. 따라서 모두가 최대한 빠르게 원인을 파악하려고 노력하고, 원인을 찾게 되면 공유하는 방식으로 진행합니다.
스테파노 님: 평소에도 그렇지만, 특히 긴급상황인 경우에는 누가 무엇을 할지보다는 문제가 무엇인지 빠르게 파악하고 그 문제를 어떻게 해결할 것인지에 집중해야 한다고 생각해요. 실제로 업무 중 문제가 발생해도 ‘누가 문제를 일으켰고, 누가 해결할 것인지'가 아니라 ‘문제가 무엇이고 어떻게 해결할지'에 집중하는게 오늘의집 문화이기도 하고요.
Q. 이번 GameDay 참여를 통해 느끼신 점 등 소감을 말씀해 주세요.
노을 님: 저는 백엔드 개발자라서 개발을 하면서 인프라를 깊게 사용할 기회가 그리 많지 않은 편이에요. 이번 GameDay를 통해 전반적인 구조를 다시 한번 되새기는 아주 좋은 기회가 되었던 것 같습니다.
스티치 님: 이번 GameDay를 통해 미약하게나마 DevOps의 역할을 맛볼 수 있었던 것 같아요. (웃음) 전체적인 그림을 그리는데 도움이 되었는데요, 굉장히 다양한 이슈 중에 일부분만을 다뤄본 거라 추후 다른 부분도 함께 경험해볼 수 있다면 좋겠다는 생각이 들었습니다.
핀 님: Backend 개발자의 시각이 아닌, DevOps 엔지니어의 시각으로 문제를 해결하는 새로운 경험을 할 수 있었던 게 좋았어요.
스테파노 님: 사실 예전에 비해 AWS를 직접적으로 다룰 기회가 잘 없었는데, 이번 이벤트가 많은 도움이 된 것 같아요. 무엇보다, 근무시간 중 업무를 잠시 내려놓고 동료들과 함께 개발 역량을 향상시킬 수 있는 행사에 참여할 수 있는 자리가 마련되어 정말 좋았습니다. 행사가 끝나고 다른 참가자들과 함께 어떤 식으로 해결했는지 얘기를 하는 시간을 가졌는데, 저희가 생각하지 못한 부분들도 알 수 있어서 재미도 있고 뜻깊었던 것 같아요.
이번 GameDay를 통해 AWS에서 발생 가능한 장애에 대한 즉각적인 대처 방법을 배우고 대응 능력 또한 향상 시킬 수 있었는데요. 회사 차원에서는 오늘의집 서비스를 더욱 안정적으로 운영할 수 있는 좋은 경험을 쌓는 시간이었음은 물론이고, 참여한 개발팀 개개인에게는 즉흥적인 문제 상황에서 각자의 지식과 능력을 발휘하고 오로지 문제 해결을 위해 협업하며 개발력을 레벨업하는 뜻깊은 시간이었습니다.
모두가 재미있게 배울 수 있는 기회를 만들어주신 AWS에도 감사의 마음을 전하며, 하루 빨리 코로나19가 종식되어 다른 테크 기업의 개발팀들과 함께 AWS GameDay에 참여할 수 있는 날이 오기를 바라봅니다. 바로 그 날 오늘의집이 우승할 수 있도록, 앞으로도 오늘의집 개발팀은 문제 해결에 집중하며 함께 성장하는 즐거움을 느낄 수 있는 개발문화를 더 열심히 만들어 나갈 것입니다!