우아한테크코스 피움 🌱 7주차

주노·2023년 8월 13일
1

우테코 5기 일상

목록 보기
24/34
post-thumbnail

서론

벌써 다음주가 방학이라구요?
시간 너무 빨리가네요 😅

이번주는 피움이 어떤 발전을 이뤘을까요?

7주차 패치노트

기능 패치노트

  • 운영서버왜 개발서버가 분리되었습니다.
  • API 문서가 추가되었습니다.

기타 패치노트

🚀 피움의 기능

이번주는 로그인 구현간 다양한 트러블슈팅과 최종 기획에 대한 이야기가 진행되면서 기능적으로는 많은 개발이 이뤄지지는 않았습니다 😅

팀원들이 보다 탄탄하고 안정적인 서비스를 위해 노력중입니다 🙏

운영/개발서버 분리

기존에 3대만 주어졌던 EC2를 가지고 구성한 환경으로는 운영/개발서버를 분리하는데 어려움이 있었습니다.

팀원들과 다양한 방안에 대해 이야기를 주고받고 난 결과 1대의 EC2를 추가적으로 요청하게 되었습니다.

메시지 전문

안녕하세요! 피움 팀에서 운영서버 구축을 위한 추가 인스턴스 1대 요청드립니다.
현재 저희 피움팀은 기존에 주어진 3대의 인스턴스를 이용해 다음과 같은 환경을 구축한 상태입니다.

- 빌드서버
- 배포서버 (개발서버)
- DB 서버

위와 같은 환경에서 개발서버, 운영서버를 구축하기 위해 다음과 같은 전략을 구상했습니다.

- 배포서버 (운영서버)
- 빌드서버 & 배포서버 (개발서버)
- DB서버

하지만 위와 같은 전략에 대해 몇가지 문제점을 인지했습니다.

운영서버와 개발서버를 분리해야하는 이유
운영서버와 동일한 환경을 구성하여 사용자에게 배포하기 전 시나리오를 확인할 수 있는 별도의 배포서버환경이 필요합니다.
만약 개발서버와 운영서버가 동일한 인스턴스에서 운영된다면 개발서버에서 발생한 오류로 인해 운영서버까지 영향이 전파될 수도 있다는 점이 우려되어 해당 전략은 사용하지 않는 것으로 판단하여 위에서 말씀드린 전략을 사용하게 되었습니다.

2. 빌드서버와 개발서버가 같이 있을 때 생기는 문제

위 1번에서 설명드린 내용에 따라 운영서버를 별개로 두고 개발서버를 빌드서버와 같이 두는 전략을 구성해봤습니다.
해당 환경에서는 메모리 사용량에 대한 우려가 있었고, 이에 빌드와 배포가 하나의 인스턴스에서 같이 구동되었을 때 메모리 사용량을 측정해봤습니다.

사진으로 첨부드린 내용과 같이 SpringBoot 구동 및 빌드 수행 시 SWAP 메모리를 포함하여 총 2.89GB 정도의 메모리를 사용하고 있습니다.
이는 기존에 제공된 1.80GB만큼의 메모리보다 많은 메모리를 사용하고 있음을 나타내고 있고, 해당 상황이 매 빌드마다 동일하게 일어난다면 향후 빌드 수행 작업이 더 많은 메모리를 사용하게 되었을 때 서버에 메모리 부족으로 인한 문제가 발생하게 될 수도 있다고 판단했습니다.

또한 1번에서 말씀드렸던 내용과 동일하게 개발서버에서 발생한 오류가 빌드서버환경(jenkins)까지 영향이 전파될 수도 있다는 점 또한 우려사항 중 하나였습니다.
빌드서버환경에 문제가 생길 경우 빌드 및 배포 과정에서 운영서버에 까지 영향을 미칠 수 있다는 점까지 고려하여 해당 방안은 좋지 못하다고 판단했습니다.

위와 같은 고려사항들을 거쳐 현재 운영서버를 위한 인스턴스 1대를 더 지급받는 방안이 최적의 방안이라고 생각되어 운영서버 운용을 위한 인스턴스 1대를 요청드립니다!

API 문서화

RestDocs를 이용하여 API 문서화를 진행했습니다.

개발을 진행하던 와중에 API 문서화가 필요한 상황을 직면하게 되어 문서화를 진행했습니다.

자세한 내용은 팀 블로그 - RestDocs로 API 문서화하기를 참고해주세요

적용된 API 문서 보러가기!

🐞 버그리포팅

월요일에 버그리포팅 활동을 진행했습니다.
코끼리끼리 팀과 Votogether팀에서 저희 피움 서비스를 이용하면서 발생하는 문제점에 대한 버그리포팅을 작성해주셨어요 😮

많은 관심과 버그리포팅 감사합니다~ 🙏

덕분에 기획적으로 불안정했던 부분도 보완할 수 있었습니다!

📝 Wiki 업데이트

백엔드 코드리뷰 과정에서 import 구문 및 줄바꿈에 대한 IDE 설정이 각자 다른 탓에 불필요한 File changes가 발생하는 문제가 있었습니다.

이에 IDE 설정을 통일해야한다는 제안을 했고 해당 내용을 Wiki에 등록했습니다.

[BE] 인텔리제이 환경설정

🌱 4차 스프린트 작업구성

로그인을 도입하는 과정에서 발생할 수 있는 트러블 슈팅에 대한 기간에 대해 가늠이 어려워 역할을 분배하여 진행하기로 했습니다.

버그 수정과 추가 구현기능을 우선적으로 작업하고 이후 로그인 작업을 다같이 진행하기로 했습니다.

팀원 모두가 로그인에 대한 학습이 필요한 상태였기 때문에 해당 학습을 위해 모든 작업이 Lock이 걸리는 상황이 걸릴 것을 우려했습니다.

이에 로그인을 담당하는 팀원을 프론트엔드, 백엔드 1명씩 지정하여 페어로 로그인 작업을 진행한 뒤 세미나 형태로 작업내용을 공유하기로 했습니다.
(조이 클린 화이팅~!)

♻️ 인수테스트 이슈

지난주에 열심히 작성한 인수테스트에 대해 몇가지 이슈가 있었습니다.

테스트를 수행하는데 간헐적으로 실패하는 현상이 일어났습니다

인수테스트 수행 후 데이터가 남아있는 문제로 확인되었고 이에 다음과 같은 discussion을 열고 해결하는 시간을 가졌습니다.

피움팀은 트러블슈팅을 다같이 해서 문제 해결이 빠르다는 장점이 있답니다 🌱

discussion 확인하기

7주차 정리

레벨 3 마지막 발표를 앞두고 완성도 있는 프로젝트를 위해 성급한 개발보다는 팀원들의 싱크를 동일하게 가져가는 것에 집중하고 있는 피움팀! 🌱
레벨 3 마지막까지 화이팅입니다 🚀🚀

profile
안녕하세요 😆

2개의 댓글

comment-user-thumbnail
2023년 8월 13일

피움 짜앙 🌱

답글 달기
comment-user-thumbnail
2024년 4월 22일

잘보고갑니다

답글 달기