EKS Jam For App Modernization 워크샵 1등의 추억

MUSINSA tech
MUSINSA tech
Published in
12 min readMay 3, 2023

안녕하세요. 무신사 테크의 SRE팀 안다혜, 최성우입니다.

저희는 지난 4월 11일~12일에 AWS와 LG CNS가 함께 주최한 EKS Jam fopr App Modernization(이하 AM핸즈온)에 참가했는데요. 이 행사에서 ‘우승’을 했다는 좋은 소식을 전하기 위해, 글을 씁니다.

어떤 계기로 이 행사에 참여했고, 어떻게 우승할 수 있었는지 그 생생한 이야기를 저희가 들려드릴게요.

AM 핸즈온이란?

성우 : AWS와 LG CNS이 함께 주최한 AM 핸즈온은 이틀간 진행되었는데요. 첫날 워크숍을 통해 Security, Autoscaling, Observability, Network, Automation 의 5가지의 항목에 대해서 App Modernization을 적용할 수 있는 방법을 배우고, 둘째날에 5가지 각 항목에 대해서 실제 DevOps/SRE들이 EKS를 도입/운영하며 마주하게 되는 문제들을 해결하고 점수를 얻는 *Jam을 진행했습니다.

(*JAM이란 즉흥합주에서 유래된 단어로, 현장에서 주어지는 주제로 한정된 시간 안에 즉석에서 개발하는 세션을 의미합니다.)

다혜 : 무신사의 여러 서비스는 컨테이너 환경에서 구동되고 있는데요. 여러 컨테이너를 효율적으로 관리하는 관리형 서비스 중 하나가 EKS(Elastic Kubernetes Service)입니다. EKS에서 App Modernization이란 클라우드 환경에서 애플리케이션을 더 효율적이고 안정적으로 운영하는 것을 의미합니다. 예를 들어, 컨테이너 환경과 MSA(Micro Service Architecture)를 사용함으로써 서비스마다 독립성을 높여 스케일 확장을 효율적으로 하고, 장애가 일어나더라도 서비스에 미치는 영향을 최소화할 수 있습니다. 따라서 이 워크숍은 무신사의 여러 서비스를 더 효율적으로 관리하고 안정적으로 운영하는 기술을 배울 수 있을 좋은 기회였죠.

AM핸즈온에 참여하게 된 계기

다혜 : DevOps/인프라 관련 정보 공유 카톡방에 이 AM 핸즈온에 대한 글이 올라온 걸 발견했는데, ‘상금 100만 원’이 눈길을 끌더라구요. 바로 ‘사이트 신뢰성 엔지니어링’이란 책으로 저희 팀 성우 님, 그리고 다른 회사에서 DevOps로 일하는 지인 두 분이 있는 스터디 카톡방에 공유했습니다. 이 DevOps 지인 두 분과 저는 2022 AWS Community Day의 GameDay에서 1등을 한 전적이 있었습니다. 이미 한번 대회에서 합을 맞춰 보았기에 이 두 분의 실력은 익히 알고 있었고, 성우님과도 6개월 이상 같이 일을 하며 성우님의 능력도 역시 알고 있었습니다. 그렇게 팀을 먼저 꾸렸습니다.

상금헌터를 다짐했던 당시의 카톡 대화

다혜: 이후에, 저희 팀 리더이신 호진 님께도 링크를 보여드리며 “요런 게 있는데… 상금을 타러… 다녀오고 싶어요..” 라고 말씀드렸는데요, 양일 모두 교육으로 처리할 수 있게 도와주셔서 참여할 수 있었습니다.

평소 SRE팀의 일원으로 업무를 하면서 ‘EKS, 네트워크, 보안 등과 관련된 기술들을 깊게 알아야 하는구나’ 하는 생각을 많이 하는데요. 저희 팀에서는, 다른 회사에서는 실제로 어떻게 AWS를 사용하고 있는지, AWS에서 권장하는 Best Practice는 무엇인지 다루는 세션이나 세미나가 있을 때 여유가 되면 다른 팀원분들과도 같이 참여하는 문화가 잘 형성되어 있습니다. 기술 교육 참여에 열려 있는 팀과 회사에서 일한다는 게 참 다행스럽고 행운이라 생각합니다.

성우 : 사실 다혜 님이 EKS Jam 관련 행사가 있다는 것을 알려주시지 않았다면 해당 행사가 있는지 모르고 참가를 못 했을 것 같아요. 다행히도 다혜 님이 해당 행사를 알려주셔서 어떤 주제로 강연을 하고 대회를 하는지 알 수 있게 됐습니다. 또, 이런 행사를 한 번도 참여해 본 적이 없기도 하고, 재밌을 것 같다는 생각이 들어서 참가를 결심하게 됐습니다.

다혜 : 그리고 저희는 대회 전날, SRE 팀원분들께 호기롭게 말씀드렸습니다.

“제가 1등을 한다면.. 저희 회식 2차에서 위스키 바 쏘겠습니다!!”

대망의 워크숍 참가의 날 — 생생한 그 날의 추억!

위에서 설명드린대로 워크숍은 이틀동안 진행되었는데요. 1일차는 Security, Autoscaling, Observability, Network, Automation 의 5가지의 항목에 대해서 App Modernization을 적용할 수 있는 방법을 배우는 강연을 듣는 일정이었어요.

다혜 : 평소 업무에서 EKS를 다루면서 보안 그룹, 네트워크, 모니터링, 오토스케일링 등을 다 신경 써서 일하고 있는데요, 첫날의 워크숍을 통해 각 항목들을 실제로 EKS 환경에 어떻게 적용하는 게 좋을지 자세히 알 수 있었습니다. 평소 EKS 관련 공부를 책이나 강의로 하긴 했어도 프로덕션 레벨로 회사의 클러스터에 적용되는 수준과는 괴리가 있어서, 더 깊이 공부하고 싶었는데요, 각 항목들을 어떻게 관리해야 할지 AM 핸즈온을 통해서 좀 더 정확하게 정리할 수 있어서 좋았습니다.

성우: 첫 날, 강연을 들으러 갔을 때 홀이 거의 꽉 찰 정도로 사람들이 많이 있어서 굉장히 놀랐습니다. (200분이 넘게 계셨고, 총 72팀이 참여했어요.) “아, 1등은 조금 어려울 수도 있겠다..”라는 생각이 먼저 들었거든요. 그래서 첫날 강연을 매우 집중해서 들었습니다. 저희 팀은 맨 앞자리에 앉아 있었는데, 그래서 좀 더 집중을 할 수 있었다고 생각합니다. (둘째 날 Jam 시간에 저희가 맨 앞자리에 있는 걸 보고 사회자분이 “역시 우등생들은 앞자리에 앉는다”고 말씀을 하셨던 기억이 나네요..ㅎㅎ)

2일차는 첫째날 배웠던 것을 활용하는 실전 Jam일정이었습니다.

다혜 : 오전 10시부터 오후 5시 40분까지의 시간이 주어졌는데요. 사회자인 AWS 솔루션 아키텍트 분이, “문제를 어렵게 냈으니 시간 내에 다 풀지 못해도 너무 좌절하지 말라”고 하셨는데 이게 웬걸, 2시 23분에 다 풀었습니다(…) 저희 말고도 4시 전에 다 푸시는 팀들이 계셨습니다! 저희 팀원들은 전략을 세워서 총 9개의 챌린지를 각각 1개씩 맡아 시작하였고, 그 와중에 성우님은 시작부터 가장 어려운 난이도의 문제를 푸는 패기를 보였습니다.

저는 쉬운 레벨 문제부터 풀려다가, 해당 문제를 풀기 위한 환경을 구축하는데 10분 이상 걸려서 중급 문제부터 풀기 시작하였는데요. 팀원들끼리 중급, 고급 문제부터 나눠서 풀었던 전략은 초반에 점수를 얻는 데 주요한 역할을 하였던 것 같습니다.

네트워크 관련해서는 업무에서 익힌 걸로 충분히 풀 수 있는 난이도였는데, 의외로 기본 문제 하나가 발목을 잡았습니다. eksctl로 EKS 클러스터를 만드는 가장 쉬운 난이도의 문제였는데요, eksctl로 EKS 클러스터를 생성하는 시간 자체가 20분 이상 걸리고, 무언가 잘못되어도 20분 이상을 기다리고서야 AWS 콘솔에서 에러가 있다는 것을 보여주었기 때문에 하염없이 기다리는 것이 쉽지 않았습니다.

(가장 왼쪽 상단의 초록 그래프가 저희 팀의 점수 그래프입니다.)

오후 1시까지는 압도적인 1위를 하였으나.. 9개의 문제 중 8개의 문제를 다 풀고도 이 기본 문제의 환경적인 요소 때문에 2시 반까지 시간이 더 소요되었습니다. 아주 초조한 순간이었습니다. 다른 팀들이 정말 10점, 100점 차이로 따라오고 있어 언제든 역전될 수 있겠다 싶었거든요.

결국 엄청난 압박과 초조함에 시달리며, 새로고침을 연타하며 eksctl로 EKS 클러스터와 노드 그룹이 생성되길 기다리고, EKS 업데이트가 완료되기를 기다렸는데요, 저희가 완료하고 결과를 제출한 지 13초 만에 2위 팀도 모든 챌린지를 완수하였습니다. 동점일 경우엔 먼저 문제를 다 푼 팀이 우승인데요, 결과적으로 2위를 하신 팀과는 단 13초 차이가 난 거예요.

진행자분이 “스포츠 경기도 아닌데 초 단위로 결과가 갈려서 로그를 몇 번씩이나 확인했다” 고 하셨어요. 정말… 심장이 너무 두근거리고 쫄깃했습니다.

성우: 저는 보안과 Service Mesh 문제를 풀었는데요. 보안 문제가 배점이 제일 높더라고요. 그래서 보안 문제를 먼저 풀었습니다. 첫날 핸즈온 강연에서 알려주신 내용에 집중했던 탓인지, 문제가 그렇게 어렵게 느껴지진 않았어요. 또 문제가 저희 SRE 팀에서 이미 사용하는 방식과 결을 같이 했기에,생각보다는 쉽게 문제를 풀었던 것 같아요. 아마 이 부분은 참가했던 다른 팀들도 금방 풀었을 거라고 생각합니다.

제가 가장 힘들게 느꼈던 부분은 Service Mesh 였습니다..! 핸즈온 강연에서 AWS Managed Service인 App Mesh 부분을 아주 빠르게 넘어가서 실제 문제를 풀 때 백지상태에서 풀었던 기억이 납니다. 기본적인 설치 및 세팅이 다 되어 있긴 했지만 처음 사용하는 서비스기도 했고, 시간에 쫓겨 급박하게 문제를 해결하려다 보니 실수를 해서 같은 팀원분과 함께 진행해서 문제를 풀었던 기억이 납니다.

또, 위에서 다혜 님이 말씀하신 것처럼 eksctl 로 EKS 클러스터와 노드 그룹을 만드는 문제가 있었는데요, cloudformation이 굉장히 느려서 고생했던 기억도 납니다.

이번 참가를 통해 우리가 배운 것

다혜 : 저는 팀을 잘 짜는 전략, 문제를 대하는 전략을 배웠습니다. AM 핸즈온에 나간 저희 팀은 3년 차 이하의 주니어들로만 구성되었지만, 실제로 EKS를 운영하기 위한 문제를 누구보다 빨리 풀었습니다. (LG CNS 쪽 진행자 중 한 분은 슬쩍 오셔서 “대체 뭐하시는 분들이시냐”며 놀라움을 표현해주시기도 했습니다.. ㅎㅎ) 시간과 관련한 대목에서는, 협업이 많은 실무에서 기억해야할 유의미한 깨달음도 얻었는데요.

일을 각자 맡아서, 업무를 빠르게 해야 할 때 뭔가 잘 풀리지 않아 많은 시간을 소모하게 된다면, 마냥 붙잡고 있기 보다는 다른 팀원에게 도움을 빨리 구할 줄도 알아야 하고, 또 때로는 과감하게 처음부터 새로 하겠다고 결단을 빠르게 내리는 게 시간을 아끼는 방법이며, 이것이 함께 일하는 방법이라는 생각이 들었습니다.

첫날 LG CNS와 AWS에서 진행해 주신 워크숍을 통해서 EKS App Modernization을 위해 몇 가지 회사에서 실제로 적용하면 좋을 포인트도 배웠습니다. 기회가 된다면, 무신사의 EKS 환경에 적용해 무신사의 서비스를 더 탄탄하고 효율적으로 만드는 데 이바지하고 싶습니다.

성우 : 저는 무신사가 첫 직장이라 실무에서 EKS 를 사용해 본 경험이 그리 많지 않았습니다. 그래서 회사에서 EKS 를 사용하면서 굉장히 많이 헤맸었는데요. 팀원분들이 많이 도움을 주셔서 빠르게 적응할 수 있었습니다. 저는 Kubernetes 가 리눅스, 네트워크, 컨테이너, 클라우드 인프라, 자동화, 모니터링 등 다양한 기술들이 모인 종합 예술이라고 생각합니다. 특히 EKS 는 AWS 서비스들과 Kubernetes 가 긴밀하게 연결되기 때문에 더욱 어렵다고 느껴지기도 하고요.

이번 워크숍이 제게는 EKS를 더 깊이 있게 배울 수 있었던 정말 좋은 기회였어요. 첫날 워크숍에서는 저희 SRE 팀에서 실제로 사용하고 있는 카펜터, PDB, IRSA, 비용 절감 등에 대한 내용도 나왔더라고요. AWS App Mesh 나 AWS Observability 매니지드 서비스인 AMP(Amazon Managed Service for Prometheus), AMG(Amazon Managed Service for Grafana), ADOT(AWS Distro for OpenTelemetry) 들을 알 수 있었는데요. 저희 회사 모니터링 부분은 너무 잘 만들어져 있어서 기회가 된다면 Service Mesh를 무신사 서비스에 적용 해보고 싶습니다!

우승소감, 그리고 우리는 약속을 지켰어요!

다혜: 핸즈온과 Jam을 참여하는 기간동안 저희를 백업해 주신 호진 님과 SRE 팀원분들께 감사합니다…! 너무 잘해주신 성우님과 다른 팀원분들께 감사합니다. 함께할 때마다 항상 많은 것을 배웁니다. 알찬 워크숍과 재밌는 Jam을 만들어 주신 AWS와 LG CNS 분들도 감사합니다.

그리하여, 저희는 약속대로 4월 SRE팀의 회식 2차(무려 위스키바!)를 쐈습니다.🥳 저희를 대신해서 업무를 맡아주신 팀원들에 대한 고마움을 표현할 수 있어서 기뻤습니다!

성우: SRE 팀 업무 특성상, 테크 내의 모든 팀들과 접점을 두고 일을 하다 보니, 하루에 상당한 양의 티켓이 들어올 때가 있는데요. 그래서 한 사람이 빠질 때마다, 한 사람이 처리해야하는 업무가 많아집니다. 그래서 양일 모두 휴가 없이 교육으로 처리할 수 있게 도와주신 호진 님과 SRE 팀원분들께 너무 감사하다는 말씀 전하고 싶습니다. 또, 재밌는 Jam을 만들어 주신 AWS와 LG CNS 관계자분들께 감사하다는 말씀 드리고 싶고, 우승 상금 세금 공제해 주셔서(ㅋㅋ) 감사하다고 말씀드리고 싶습니다.

지금까지 AM핸즈온에 참여한 저희의 이야기를 읽어주셔서 감사합니다.
다정하고 일잘러로만 모인 SRE팀 인터뷰도 많이 읽어주세요 :)

--

--