멋쟁이사자처럼 3기 백엔드 스쿨을 수강하면서, 웹 배포 분야도 배우게 되었다. 이와 관련해서 Naver Cloud Platform 에서 예비/주니어 개발자를 위해 크레딧을 지급하는 서비스에 대해 소개받았다.
소개받기 전에는 AWS 에 대해서만 알고 있었는데, AWS 프리티어를 사용 하고 요금 폭탄을 맞았다는 말을 많이 들어 조심스러웠다. 네이버 클라우드 플랫폼의 크레딧 덕분에 요금 폭탄 걱정 없이 배포를 진행했다.
신규 가입 10만원 크레딧을 제공했고, 이후 20만원의 크레딧이 제공되었다.
20만원의 크레딧은 아마 멋쟁이사자처럼 측과 연계하여 지급되는 것 같다.
이후 70만 크레딧을 추가로 제공한다고 한다.
사용 내용
멋사 수업기간 중 4주 프로젝트를 2회 진행했는데, 두 프로젝트 모두 내가 배포를 맡게 되었다.
요금 부담 없이 네이버 클라우드 플랫폼을 통해 배포를 진행했다.
프로젝트1 - CodiCaster
첫 프로젝트는 날씨에 맞춘 코디 추천 플랫폼인 “코디캐스터”이다.
4인 팀 프로젝트로, 프로젝트에 대한 상세 내용은 아래 링크를 참고하길 바란다.
Server
배포를 처음 하게 되었는데, 네이버 측에서 제공하는 가이드가 도움이 많이 되었다.
가이드만 따라가도 서버 생성을 쉽게 할 수 있었다.
팀원 모두 처음 진행하는 협업 프로젝트였기에, 완성도가 조금 부족했다.
학습 측면에서 좋은 경험을 했고, 프로젝트 기간이 끝난 후 이 프로젝트는 마무리하고 다른 프로젝트로 넘어갔다.
따라서, 서버는 오래 운영하지 않았다. 약 1~2주간 서버를 켜놨던 것으로 기억한다.
그래도 첫 배포를 성공적으로 진행했다고 생각한다.
“코디캐스터”는 이미지가 핵심 요소인데, Naver Cloud Platform에 서버 외 또다른 기능들을 사용했다.
Object Storage
먼저, 이미지 저장소인 Object Storage를 사용했다.
이미지 파일을 서버 로컬에 저장하지 않고, 따로 이미지 저장소를 두어 관리했다.
Amazon S3 와 비슷한 형태인데, Amazon S3 관련 라이브러리가 기본적으로 제공되고 있고, Naver Object Storage는 이 라이브러리를 활용할 수 있게 구성되었다.
따라서, S3 라이브러리를 활용하여 Object Storage에 이미지를 저장할 수 있었다.
CDN+
추가로 Naver CDN+ 를 이용했다.
CDN은 이미지, 동영상 등 다양한 데이터에 대해 일종의 캐시역할을 하는 프록시 서버로 알고 있다.
어려운 작업이라고 생각했는데, 네이버에서 제공하는 CDN+를 사용할 수 있었다.
사실, CDN+ 를 사용하지 않은 채로 Object Storage만 사용하는 것이 가능한 지 확실하지 않다.
CDN endPoint를 설정하고 이를 이용해서 이미지를 서버에 가져와 웹 페이지에 띄워줄 수 있었다.
사용 방법 역시 네이버에서 제공하는 가이드라인을 따르면 간단했다.
Image Optimizer
이미지 파일의 크기를 조정하는 방법에 대해 찾아봤었는데, Naver Image Optimizer를 통해 해당 기능을 구현할 수 있었다.
이미지 파일의 가로, 세로 크기 비율을 정하고 파일 크기를 조정할 수 있었다.
더 많은 기능이 있을것으로 생각되는데, 프로젝트 진행 당시 시간에 쫓겨 가장 기본적인 기능만 활용했었다.
마찬가지로, 가이드라인을 통해 쉽게 활용했다.
프로젝트2 - MyPill
두 번째 프로젝트는 영양제 이커머스 플랫폼인 “MyPill”이다.
3인 프로젝트로, 자세한 내용은 마찬가지로 링크를 참고하길 바란다.
Server
첫 프로젝트에서는 배포작업이 프로젝트 막바지에 진행되어 많이 급했다.
이번 프로젝트에서는 여유있게 배포를 진행했다.
이전 프로젝트보다 오랜기간 서버를 운영했고, 현재까지 여전히 운영하고 있다.
전보다 익숙해져 서버의 성능에 대해 찾아봤었는데, 추후 개선작업으로 보류하고 기본 설정을 이용했다.
Object Storage, CDN+
이번 프로젝트 역시 이미지를 사용하였는데, Object Storage 와 CDN+ 를 이용했다.
이번에는 다른 팀원분이 이미지 처리 작업을 맡아 진행했고, Object Storage와 CDN+까지 맡아주셨다.
따라서, 내 서버와 팀원분의 이미지 저장소를 연동한 꼴이 되었다.
연동 작업은 생각보다 단순했고, 다른 계정과의 연동 작업에 대한 자신감이 생겼다.
1차 프로젝트와 비슷한 작업을 진행했기에, 서비스에 대한 소개는 넘어가도록 하자.
최종 후기
처음으로 서버를 이용해 배포를 진행해 봤는데, 어렵지 않고 생각보다 간단했다.
가이드라인이 잘 나와있기도 하고, 서비스의 UI가 이해하기 쉽게 잘 되어있었다.
프로젝트를 진행하는 동안 요금에 대한 걱정이 없었고, 학습에만 집중할 수 있었다.
추가로, 서버 외 다양한 기능을 사용하면서 또 다른 지식을 넓혀나갈 수 있었다.
서비스를 이용하면서 인터넷 검색을 할 때, 원하는 정보를 찾기가 쉽지는 않았다.
아무래도 AWS가 가장 큰 점유율을 가지고 있기 때문에, 이와 관련된 게시물이 많기 때문인 것 같다.
이미 AWS에 적응을 한 상태라도, 또 다른 클라우드 서비스를 사용해보는것도 좋을 것 같다.
크레딧도 제공되니, 부담 없이 이용할 수 있을 것 같다.
2차로 진행한 “MyPill”은 지속적으로 개선작업을 진행하고 있고, 서버 역시 계속 운영하고 있다.
추가로, 개인 프로젝트를 진행하려고 하는데 이 역시 NCP를 이용하려고 한다.
부트캠프를 수강중인 훈련생이나, 취준생 혹은 일반 학생들까지도 크레딧 제공 서비스를 이용해 보는것을 추천한다.
초심자입장에서는 크게 도움이 되었다.
'프로젝트 > 팀 프로젝트 - MyPill' 카테고리의 다른 글
[트러블 슈팅] - MultipartFile 테스트 케이스 (0) | 2023.07.25 |
---|---|
[리팩토링] @NotNull vs @Column(nullable = false) (0) | 2023.07.22 |
[트러블 슈팅] - MultipartFile 예외 처리 (0) | 2023.07.20 |
[개선 작업] @Value → @ConfigurationProperties (0) | 2023.07.20 |