강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

kth004님의 프로필 이미지
kth004

작성한 질문수

포트폴리오 어나더레벨

안녕하세요. 좋은 강의 감사합니다. 질문이 있습니다.

해결된 질문

작성

·

32

0

안녕하세요. 큰돌님 유튜브도 보고있고 최근 개발 소식도 자주 접하고 있습니다. 최근에는 새로 내신 강의도 구매하여 수강을 하였습니다. 여기서 질문이 있습니다. 강의에서 "배포가 되어있는게 좋다"는 말이 있습니다.

포트폴리오나 사이드 프로젝트를 할 때 "배포의 중요성"이 중요한지 아니면 대체를 할 수 있는지 생각을 듣고 습니다.

요즘은 많은 오픈소스를 사용하는 것으로 알고있습니다. 그중에는 kafka, elasticsearch, redis 더 나아가 debezium, flink같은 것도 많습니다. 물론 이러한 것들은 대규모 트래픽이 발생하거나 많은 정보가 있을 때 사용하면 좋은 효율을 내고 있습니다.

보통 사이드 프로젝트 더 나아가서는 스타트업이나 중소기업까지도 트래픽이 적다면 구지 사용을 하지 않고 유지를해도 문제가 없을 수 있는 인프라 구조도 될 수 있다고 생각합니다. 하지만 기업들은 이러한 것을 요구합니다.

여기서 질문이 이런 인프라들은 배포를 할려면 비용이 상당히 많이 발생하고 유지가 힘든것으로 알고있습니다. 강의에서 말씀하신 인스턴스 최소 두대 또한 계속 유지하기에는 비용이 계속 누적이 될거라고 생각합니다. 물론 배포를 해놓고 그걸 보여주면 아주 best이고 현재의 상태를 잘 보여주고 느낄 수 있다고 생각합니다.

그런데 배포라는게 중요한것인지 의문이 들어 질문드렸습니다. 경력직에서 이직을 할때도 경력서에 쓰는 프로젝트 대부분이 배포는 현재 되있지만 실제적으로 그런 부분을 신경을 쓰지 않는 것(못하는것)으로 알고있어요.

그리고 회사에서도 막상 큰 회사일 수록 많은 트래픽을 받고있지만 인프라가 좋아 그거에 대해서 체감을 못하고 올바르지 않은 방향으로 나갈 수 있고 효율적인거보다 기능구현이 우선순위로 높게 배정됬을 수 도 있을 것 같아요.

반대로 큰 회사나 적은 회사든 어드민 부서는 존재하고 어드민 부서는 코어 부서보다 적은 트래픽을 받는 것 으로 알고있습니다. 그러면 이 때는 어떻게 어필을 하면 좋을 지 고민입니다.

이거에 대한 큰돌님의 생각을 의견을 듣고싶어 질문을 올렸습니다. 감사합니다.


답변 1

2

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 kth님 ㅎㅎ

포트폴리오나 사이드 프로젝트를 할 때 "배포의 중요성"이 중요한지 아니면 대체를 할 수 있는지 생각을 듣고 습니다.

->

배포가 중요한 이유는 "실제로 작동하는 서비스"를 만들어봤다는 증거이기 때문입니다. 로컬에서만 돌아가는 코드와 실제 사용자가 접근할 수 있는 서비스 사이에는 큰 차이가 있습니다. CORS, 환경변수 관리, HTTPS 설정, 도메인 연결 등 실무에서 마주치는 문제들을 경험해볼 수 있기 때문에 배포하는게 좋습니다.

 

그중에는 kafka, elasticsearch, redis 더 나아가 debezium, flink같은 것도 많습니다. 물론 이러한 것들은 대규모 트래픽이 발생하거나 많은 정보가 있을 때 사용하면 좋은 효율을 내고 있습니다.

-> 맞습니다. 이거는 현실적으로 비용 부담이 큽니다.

이렇게 생각하시면 좋을 거 같습니다.

신입/주니어 레벨:

  • 간단한 배포만으로도 충분히 의미가 있습니다

  • Vercel, Netlify (프론트) 등 활용

  • AWS 프리티어로 EC2 하나만 띄워도 좋습니다

  • 복잡한 인프라보다는 "배포해서 접속 가능한 상태"가 더 중요

경력직:

  • 배포 자체보다 아키텍처 설계 능력 + 운영능력 이 더 중요합니다.

  • "왜 이 기술을 선택했는지", "어떤 문제를 해결하려 했는지" 설명 가능해야 함

  • 실제 배포되어 있지 않아도 docker-compose로 로컬에서 구성하고 README에 명확히 문서화하면 됨

 

만약 배포가 안되어있다면 문서 중심으로 가야하는데요. 이 때 다음과 같은 걸 해주시는 게 좋습니다.

  1. 아키텍처 다이어그램: 시스템 설계도를 그려서 보여주기

  2. 로컬 실행 가이드: docker-compose로 한 번에 띄울 수 있게 구성

  3. 기술 선택 근거 문서화: "왜 Kafka를 선택했는지", "Redis는 어떤 용도로 사용했는지" 명확히 기록

  4. 성능 테스트 결과: 로컬에서라도 부하 테스트(JMeter 등) 결과를 문서로 남기기

  5. 데모 영상: 실제 작동하는 모습을 녹화해서 README에 첨부(gif나 비디오로 남겨놓는게 좋습니다. 저같은 경우는 이미지리스트 -> gif하기도 하고 영상 -> 유투브 -> 링크화 하기도 합니다.)

 

어드민

->

말씀하신 대로 어드민은 코어보다 트래픽이 적습니다. 이럴 때는 UX가 중요합니다. 관리자가 얼마나 이 어드민 서비스를 기반으로 쉽게 사용할 수 있나, 모니터링 할 수 있나가 중요합니다. 이부분에 집중해서 개발하는게 어필이 되실거에요. + 안정적 배치 스크립트도 중요합니다.

 

 

 

 


 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


 

kth004님의 프로필 이미지
kth004
질문자

정말로 감사합니다. 답변을 정말 상세히 달아주셔서 감사합니다. 답변을 읽어보면서 많은 도움을 얻을 수 있었습니다. 감사합니다!

kth004님의 프로필 이미지
kth004

작성한 질문수

질문하기