[Devstagram] 기획

Moondy·2022년 8월 13일
2

📎 개요

회사에서 내가 담당하고 있는 서비스는 규모가 크고 MSA 구조로 되어있다. 이 파트에 와서 백엔드 개발자로 일한지도 1년이 넘었고, 전체적인 구조도 알게되었다. 이제 새로운 Micro Service 를 개발하거나, 리팩토링해서 서버를 배포하거나, 장애가 발생했을 때 해당 서버를 찾아 디버깅 하는 일을 할 수 있게 되었다. 그러나 이미 안정적으로 잘 구축되어있기 때문에 내가 바닥부터 서버를 구축하거나, 전체 아키텍처를 설계하는 일을 접하긴 쉽지 않았다.

진짜 개발자로 성장하기 위해서는 처음 바닥부터 서비스 배포까지 해봐야한다는 생각이 들어, Devstagram 프로젝트를 시작했다. 2022년 7월, 나를 포함한 백엔드 개발자 2명, 프론트엔드 개발자 3명, 웹 디자이너 1명을 모아 팀을 만들었고, 서비스 기획부터 클라우드에 서버 배포까지 함께했다. 앞으로 이 여정의 기록을 시리즈로 남기고자 한다.

👋 Devstagram 기획 배경

  • 기존 개발자 커뮤니티의 한계를 느끼다
    • 개발자에게 사이드 프로젝트, 스터디는 숙명과도 같은일. 하지만 개인적 인맥으로만 팀을 구하는것은 한계가 있었다.
    • 네이버 카페, 오픈카톡 등에서 스터디를 구학자 하면 스터디 장은 지원자의 신원을 확인할 수 없어 지원서에 프로필과 포부를 적어달라고 한다. 그러나 이런 방식은 지원자에게도 부담이고, 스터디 장도 제한된 정보로 사람을 판단하기엔 어렵다고 느꼈다.
    • 커뮤니케이션 비용을 최소화 하면서 어떻게 하면 잘 맞는 사람끼리 서로를 알아볼 수 있을까?
  • 포스팅 기능이 있는 커뮤니티
    • 블로그나 깃허브보다는 가볍게, 인스타그램에는 차마 올리지 못했던 개발자스러운 이야기를 자유롭게 포스팅하는 공간이 있으면 나의 관심사를 쉽게 표현할 수 있을 것이라고 생각했다.
    • 서로의 포스팅 기록을 보면 나랑 잘 맞는 사람인지 확인할 수 있지 않을까?

주요 기능

  1. MeetUp
    • 개발자들 끼리의 밋업(모임)을 모집하는 게시판
  2. Post
    • 나의 관심사, 의견, 회고록을 자유롭게 올리는 기능
  3. 프로필
    • 간단한 자기소개, 프로필 사진, 관심 기술 스택등을 소개하는 페이지

🌠 화면 구성

👆 Workflow

📂 DB 설계

  • 연결 표시되어있는 것은 논리적인 관계를 표시한 것일뿐, 실제로 릴레이션이 설정되어있는 것은 아닙니다.

🔖 아키텍처

  • 클라우드 아키텍처
    - Naver Cloud Platform에 구현
    - 보안을 위해 NKS(Naver Kubernetes Service)를 Private Subnet에 위치
    - 외부 통신하는 API - LoadBalancer를 통해 접근 가능 (Kubernetes Ingress 로 설정)
    - 개발용 목적으로 Private Subnet에 있는 Server / DB에 접근해야하기 때문에 devstagram-master 서버를 통해 Kubernetes 명령어 실행 및 DB 접근

  • 백엔드 아키텍처
    - 모든 API는 Gateway 통과 (인증, 인가)
    - config-server를 통해 config를 받아오기 때문에 개발용(local) 빌드와 운영용 빌드(server) config 관리
profile
DevOps를 살짝 찍먹하는 BackEnd 개발자

0개의 댓글