Written by Hyeonmin Kim
안녕하세요. 스마일샤크에서 Solutions Architect 직무를 맡고 있는 김현민입니다.
지난 2023년 7월 14~15일, 무박 2일 일정의 해커톤 행사에 AWS 기술 멘토로 참여하게 되었습니다.
해커톤 멘토링은 지난 5월 13~14일에 진행되었던 ”SKYCC 해커톤: Paring x Cloud” 이후 두 번째 멘토링이네요.
앞으로의 해커톤 진행과 해커톤에 참여하는 분들을 위해 내용을 공유하고자 합니다.
해커톤 소개
대회 개요
이번 해커톤은 과학기술정보통신부, 정보통신 기획 평가원에서 주관하고 인하대학교 SW중심대학사업단과 인하대학교의 IGRUS동아리에서 주최한 행사입니다. 상명대학교, 경기대학교 SW중심대학사업단이 참여하여 인하대, 상명대, 경기대 총 3개 대학팀이 참여하여 아이디어를 겨루게 되었습니다. 항상 개인적으로 AWS 해커톤과 교육 행사에 참여했는데, 이번 계기로 저희 회사 스마일샤크에서 활동을 지원해 주시게 되었습니다! 항상 감사합니다
주제 및 문제
이번 해커톤의 주제는 공공데이터를 활용한 탄소중립 실천을 위한 혁신적인 아이디어 제안이었습니다.
문제는 A, B, C 총 3개로 나뉘었데, 특정 주제에 너무 락인되어 개인적으로는 자유 주제인 C를 많은 학생이 진행해 주었으면 했습니다. 그러나 득점 방식에 있어서 A, B가 많은 점수를 받을 수 있다 생각한 탓인지 대부분 팀이 A, B 문제를 선택하여 진행하였습니다.
이번 행사의 첫 번째 아쉬움은 AWS 해커톤의 주제가 너무 탄소중립에 맞춰져 있다 보니 재밌는 아이디어들이 나오기 힘들었다는 점입니다. 개인적으로 해커톤의 묘미는 자유 주제라고 생각합니다. 이것저것 생각해 보고 인사이트를 도출해 가면서 번뜩이는 아이디어를 상품화하는게 진정한 해커톤이라고 생각합니다.
멘토 및 서포터 소개
이번에 함께해 주신 멘토분들입니다. 행사를 다니다 보면, 기술 지원에 있어서 본인의 전문 분야가 아니면 기술 지원에 막히는 부분이 항상 있는데요, 항상 함께해 주시는 분들과 이번에 새롭게 뵌 분들의 실력이 워낙 뛰어나시기 때문에, 이번 AWS 해커톤도 문제 없이 진행할 수 있었습니다! 모든 멘토님과 서포터님들 이번에도 수고 많으셨습니다!
심사 기준
가장 중요한 부분! AWS 해커톤의 심사 기준입니다. 사실 해당 포스팅을 보러 오신 분들은 '그래서 AWS 해커톤에서 높은 점수를 어떻게 받을 수 있을까?'라는 의문을 가지고 들어오셨을 것 같은데요. 이번 AWS 해커톤과 지난 SKYCC 해커톤과 다르지 않게 평가되었으나 공공데이터 활용에 추가적인 점수가 있었습니다.
AWS 클라우드 활용에 있어서는 솔루션 개발에 있어서 적절한 AWS 서비스를 사용했는지가 주된 포인트였습니다. 후에 서술하겠지만 이번 AWS 해커톤에서 가장 Q&A가 활발하고, 많이 사용된 AWS 기술 스택은 RDS, EC2, S3, Lambda, Cloud9이었습니다.
행사 장소
이번 AWS 해커톤은 인하대의 월천홀에서 진행되었습니다. 멘토룸은 지하 1층, 참가자들은 1층과 14층에 나눠서 진행되었는데요. 많은 대학교를 방문해 보지는 못했지만 학생들이 집중하기 좋은 환경에서 진행되었다고 생각합니다. 팀 로 사용할 수 있는 모니터도 있고, 확실히 환경 자체가 좋다는 인상을 받았습니다.
다만 멘토룸은 지하 1층, 학생들은 1층과 14층에 위치하기 때문에 지원에 있어서 너무 멀리 떨어져 있어서 즉각적인 피드백을 주기 어려웠다는 아쉬운 점이 있었습니다. 엘리베이터가 단 한 개..
멘토 자기소개 및 분야 선정
먼저 멘토끼리 모여서 간단한 인사를 나누고, 본인이 가장 자신 있는 지원 분야를 선정하였습니다. 저는 AWS 파트너사에서 SA 직무를 맡고 있기 때문에 AWS 아키텍처 및 기술 멘토링을 지원하게 되었습니다. 백엔드 개발은 Node.js를 진행해 본 경험이 있기 때문에 Node.js와 JavaScript 또한 보조로 진행하였네요.
바로 사진 한 방 찍고 시작!
행사 시작
팀별 아이디어를 듣고 간단하게 피드백을 진행하였습니다. 1분이라는 시간 안에 아이디어를 발표해야 하는데, 후에 100초로 시간 제한을 늘렸지만, 핵심을 설명하기에는 짧은 시간이라고 생각되네요.
이번 피드백은 Slack의 캔버스 기능을 활용하여 진행되었는데, 항상 Notion과 함께 사용해야 하는 불편을 해소할 수 있는 멋진 기능이라고 생각되네요.
이런 식으로 1차 아이디어에 대해 피드백을 진행하였습니다.
멘토링 시작
이제부터 본격적인 멘토링에 들어가게 됩니다. 이번에는 슬랙의 워크로드를 사용하여 학생들이 질문을 하면 온라인으로 스레드에 답변하거나, 직접 핸즈온을 위해 1층이나 14층으로 올라가서 멘토링을 진행하였습니다.
저는 AWS 기술 지원을 맡아서 했는데, EC2, RDS, Lambda 핸즈온을 가장 많이 진행했던 것 같습니다. 특히나 시간이 부족한 해커톤의 경우 인프라 구성 자체에 시간을 쏟지 않고 싶어 하는데, 이 때문에 Lambda나 Lightsail, DynamoDB 등이 많이 사용된 것 같습니다.
해커톤 AWS 기술 스택 추천
슬랙을 통해 집계된 54개의 Q&A에서 가장 활발하게 멘토링이 진행되었던 AWS 기술 스택 TOP 5는 RDS, EC2, S3, Lambda, Cloud9였습니다. 사용되었던 이유를 살펴보자면 다음과 같습니다.
1. RDS (15%)
AWS의 대표적인 데이터베이스 서비스입니다. MySQL, Postgre 등을 지원하기 때문에 관계형 데이터베이스를 사용하는 학생들로부터 많이 선택된 것 같습니다. 온프레미스에서는 컴퓨트 머신에 MySQL 서버 등을 직접 설치해야 하지만, AWS의 RDS를 사용하면, 데이터베이스를 바로 사용할 수 있는 환경을 구성해 줍니다. 학생들은 엔드포인트를 통해 접근만 하면 되죠. 시간 절약적인 측면과 사용성이 뛰어난 측면에서 많은 선택을 받았습니다.
2. EC2 (10%)
AWS의 컴퓨트 머신 서비스입니다. 학생들 입장에서는 온프레미스 환경을 그대로 클라우드 환경에서 진행할 수 있으므로 많은 선택을 받은 것 같습니다. 실제로 이번 AWS 해커톤에서 로컬에서 진행하지 않고 클라우드 환경에서 테스트와 개발까지 마친 팀들이 여럿 있는 것 같습니다. 로컬에서 작업하고, 클라우드로 마이그레이션 시 항상 몇 가지 에러와 마주하곤 하는데, 클라우드 네이티브에서 작업하게 되면 이런 부분들에 대해 시간을 쏟을 필요가 없겠죠?
3. S3 (6%)
AWS의 스토리지 서비스입니다. 주로 스태틱 데이터들을 저장하는 용도로 사용하고, CloudFront와 연계하여 스태틱 웹사이트를 구현한 팀들도 있었습니다. 이렇게 되면 따로 프론트를 띄워놓을 웹 서버가 필요 없으니 그만큼 시간 절약이 많이 되겠죠? 아이디어가 확장되어 여러 리전에서 서비스할 때를 가정하여 글로벌 액셀러레이터와 CRR(크로스 리전 복제)를 적용한 팀들도 있었습니다. 정말 대단하네요
4. Lambda (5%)
나는 인프라 구성을 하고 싶지 않다! 하는 팀들에서 주로 사용된 AWS의 서버리스 제품입니다. 함수 콜 방식으로 진행되어 백엔드 API 로직을 Lambda로 구현하는 시도들이 보였습니다. 다만 그렇게 익숙하지 않은 서비스이기 때문에 질문이 많이 들어왔던 것 같네요. 사용법을 완벽히 숙지한다면 타 서버리스 제품군이나 SaaS형 제품들 (DynamoDB, Aurora 등)과 같이 사용하여 시간을 확실히 줄일 수 있겠네요!
5. Cloud9 (2%)
AWS의 웹 브라우저 기반 IDE 서비스입니다. 많은 학생이 IDE로 VSCode 환경을 사용하는데, Cloud9는 VSCode와 비슷한 IDE 환경을 웹 브라우저로 제공합니다. 여러 사용자가 함께 사용할 수 있기 때문에 협업에도 유리하다는 장점이 있습니다. 게다가 EC2 인스턴스 기반으로 프로비저닝되기 때문에 이번 해커톤에서 따로 EC2 환경을 구성하지 않고 IDE와 웹 서버를 함께 구현한 팀도 있었습니다. 이 또한 시간적 측면에서 메리트가 많은 서비스네요.
언급한 AWS 서비스 외에 Yolo를 대체하는 Amazon Rekognition, 사용자 인증 시스템 (회원가입 등)을 편하게 구현할 수 있는 Amazon Cognito, AWS 인프라 구성에 시간을 들이고 싶지 않아! 그렇다면 LightSail등 많은 팀들이 적절한 서비스를 채택하여 인프라보다는 개발에 집중할 수 있는 클라우드의 장점을 몸소 느끼지 않았나 싶습니다. 저도 다음 AWS 해커톤까지 자주 쓰였던 AWS 서비스의 간단한 설정 가이드 정도는 마련해서 가져가야 할 것 같네요.
행사 종료
저는 심사위원으로 참여하지는 않았고, 직방과 코드트리 그리고 SK E&S 에서 오신 멘토님들과 인하대, 상명대, 경기대, 성신여대 교수님들께서 심사를 마쳐주셨습니다.
해당 아키텍쳐는 제가 인상 깊어서 따로 사진을 찍어뒀는데 , AWS Amplify를 사용하고 Cognito와 DynamoDB를 채택하여 인프라 구성 없이 컨테이너와 서버리스 서비스를 활용해 3-tier 애플리케이션을 개발한 팀이었습니다. 짧은 시간 안에 정말 필요한 서비스만 활용한 것이 인상 깊었습니다.
해커톤을 마치며
AWS와 해커톤·교육 행사를 진행한 것은 이번이 5번째인데요, 행사를 나갈 때마다 학생들을 지도함으로써 현재 스킬을 점검해 볼 수 있는 기회가 되어 좋다고 생각합니다. 고객사 엔지니어, 개발자의 고민과 학생들의 고민은 깊이의 차이를 빼 별 차이가 있지는 않거든요. 또한 학생들과 이야기를 하다 보면 틀에 박히지 않은 아이디어들을 제공해주기도 하는데, 이럴 때 학생들에게 배울 점이 더 많다는 생각을 합니다.
이번 AWS 해커톤 주최에 힘써주신 인하대, 상명대, 경기대 SW중심대학사업단과 인하대학교 동아리 IGRUS 분들께 감사의 말씀을 전합니다. 또한 기술 교육에 항상 힘써주시는 AWS와 해커톤에 참가하신 모든 학생분들, 멘토링 지원을 위해 아낌없이 지원해주신 멘토님들, 서포터님들께 박수를 보냅니다.
최종 발표회 녹화본
최종 발표회는 인하대 SW 중심대학사업단 유튜브에서 다시 보실 수 있습니다.
Comments