not bad 한 개발

[Spring] API 개발 및 연구 - 초기 세팅 선정 이유 본문

Web/Spring

[Spring] API 개발 및 연구 - 초기 세팅 선정 이유

leebean 2024. 10. 25. 19:16

학창시절에도 그랬고 회사생활에서도 그랬지만 개발환경을 세팅해놓고 어째서 저렇게 세팅했는지 의문을 품은 적이 없었다, 나중에 왜 이렇게 세팅을 했는지 질문이 들어왔을 때 어버버 거리지 않도록 이유를 적어보는 시간을 가져보겠다.

 

  1. 어째서 t2.micro를 선택했는가
    • t2.micro가 프리티어버전 이었고 초기단계이기도 하니까 일단 저비용으로 하기로 했다, 그냥 한마디로 "돈이 없습니다." (개인프로젝트로 사양좋은 서버를 쓰기에는 너무 부담이 크다.)
  2. Amazon Linux 2 Kernel 5.10 AMI 2.0.20241024.0 x86_64 HVM gp2를 선택한 이유
    • Amazon Linux 2023 AMI도 써봤는데 mariaDB-Server 버전이 10.5 버전이었고 무엇보다 Ram이 1GB밖에 없는데 10.5버전은 설치하는 프로그램이 어림잡아 20개정도 설치되는걸 보고 이거에 DB연산까지 돌리면 성능이 처참해질거 같았다, 반면에  Amazon Linux 2 Kernel 5.10은 mariaDB-Server를 설치해보니 mariaDB, mariaDB-Server, mariaDB-lib 정도만 설치되었기 때문에 조금이라도 공간을 확보하고 싶어서 선택했다.
  3. MariaDB를 선택한 이유
    • 그동안 개인으로 어떤 프로젝트를 진행했을 때 포퍼먼스도 좋고 에러가 나도 참고 문서도 많고 무엇보다 무료 라이선스인 점에 선택하게 되었다.
  4. Spring Boot 3.3 버전대를 사용한 이유
    • spring initializr 에서 선택했을 때 평균적으로 3.3 버전대 부터 하는 것을 권장하고 있고 아래의 이미지처럼 3.2버전은 올해 11월 까지만 서포트를 해주지만 3.3버전은 내년 5월 말 까지 서포트를 해주기 때문에 선택했다.
  5. Java 17을 선택한 이유
    • spring Boot 3.3 버전대의 Java 최소 사양이 17버전이기 때문에 선택을 했고 추가로 날짜 관련 메서드가 많이 개선되었다고 하여 선택한 이유도 있다.
  6. jar로 패키징한 이유
    • 처음에는 War로 하여 tomcat에 태울 생각이었지만 서버세팅하다가 마음이 꺾여버려서 jar로 했다. 하지만 이 프로젝트는 딱히 웹페이지가 있는 것도 아니고 페이지추가가 될일도 없어서 jar로 패키징했다.

 

글을 작성하고 있는 날짜 2024.10.25 기준 springBoot 서포트 지원기간 그래프

 

앞에서 "돈이 없습니다"라고 우스갯 소리로 말했지만 RAM을 1GB로 잡은 것에 대해 지금 생각 해보면 괜찮은 기회 일지도 모르겠다는 생각을 했다, 옛날 개발자들 처럼 RAM이 모잘라서 최적화할 수 밖에 없는 고통을 맛볼 수 있기 때문이다.

Comments