우리 대학교 학생들이 많이 사용하는 학식 어플이 있는데, 어느 순간부터 앱이 작동하질 않아서 불편함이 있었다. 친한 형들과 함께 완벽하게 배포해서 운영할 만한 프로젝트를 찾고 있었는데, 우선 간단하게 학식 정보 제공 어플리케이션을 만들어보기로 했다.
학식 정보를 공식 홈페이지로부터 주기적으로 크롤링해올 cronjob이 필요한데, 이를 AWS lambda + Cloudwatch 조합으로 구성해볼 생각이다. 크롤러의 대략적인 인프라 구조는 다음과 같다.
kotlin + spring boot로 어플리케이션을 만들고, 객체 지향 및 도메인 모델링, 에러 핸들링에 신경쓰며 코드를 작성한다. (늘 그렇듯 ...)
애플리케이션을 도커라이징하여 jenkins를 이용해 컨테이너 환경의 CI & CD 파이프라인을 구축한다. 가능하다면 terraform 등의 IaC 툴을 이용해 서버리스 환경에 배포되는 크롤러까지 CI & CD 환경을 구축해본다.