개인에서 소규모 서비스를 출시할 때의 메모

개발 계기/이 기사의 목적



코로나 소용돌이 앞의 사건으로 SNS에서 알게 된 지인과 오프회를 통해 친해지고,

「이런 짓을 하고 있지만, 세상의 서비스가 사용하기 어려워.
그런 일이나 이런 것을 배려할 수 있는 서비스를 만들 수 있으면 좋겠지만.
수? 수음 "

라는, 마시는 회에서 알코올도 꽤 잘 들어간 상태에서,

「할 수 있다면 그냥 흥미가 있었기 때문에.

라고 하는, 엔지니어가 의지할 수 있는 일반적인 이야기로부터 스타트해,
격주 정도의 skype 회의, chatwork에서의 커뮤니케이션을 거쳐,
반년 후에 베타 버전으로 출시되었습니다.

채용한 서비스·기술 스택, 포인트를 정리할 목적으로 붓을 쓰기로 했습니다.

채택한 서비스/기술 스택



  • 방향성
  • 기획하는 사람이 사용, 개발하는 사람이 사용한다
  • 이용자로 운용비를 부담 (할당 감)하는 컨셉으로 기획비, 개발비 등은 개별적으로 징수하지 않는다
  • 소규모 때문에 운용비는 고정이 좋다(라는 전체의 의견)
  • 가늘고 오래 사용하고 싶습니다
  • 개발자 1 명, 처음으로 전체 공정에 종사하므로 PaaS에 의존하지 않고 스크래치로 조립한다


  • 서비스/기술 스택
  • 시스템 구성도는 다음과 같다.


  • 자세한 내용은 아래 표에 나와 있습니다.


    관점
    내용


    실행 환경
    사쿠라 VPS 2G

    도메인 관리
    사쿠라 도메인

    SSL 인증서
    Let's Encrypt

    OS
    우분투 18.04

    웹 서버
    Nginx 1.14

    웹 앱 프레임워크
    장고 1.11

    데이터베이스
    MongoDB 3.4

    사용자 인증
    Keycloak 3.4.4



  • 포인트


  • 우분투
  • iptables, ufw에 의한 필터

  • Nginx
  • letsencrypt 설정
  • 내부 웹 응용 프로그램, keycloack에 위치 설정
  • 404,403 등의 error_page 설정

  • Keycloak
  • 로그인 화면 템플릿 수정
  • 사용자의 새로운 추가/탈퇴시 삭제, 역할의 정의에 의해 사용자 별로 허가하는 기능을 커스터마이즈
  • (사용자로부터의 패스워드 변경 등은이 서비스에 맡긴다)

  • Django&Web 앱
  • Keycloak 연계를 위한 패키지
  • htps : // 기주 b. 이 m / j 후아 pl- s / d 짱고 어이 dc. 기 t
  • htps : // 기주 b. 이 m / j 후아 pl - s / drf - 어이 dc - th. 기 t
  • htps : // 기주 b. 이 m / j 후아 pl - s / bo s - 오이 dc. 기 t

  • bossoidc.backend에서 get_roles (token)하여 역할별 뷰를 제어
  • 디자인은 themeforest.net 등에서 소규모 라이센스를 수십 달러로 구입하여 간소하게 대응


  • 요약



    프라이빗의 개발 비출 시간은 40h/월이 좋은 곳에서(가정의 사정 등 각위의 상황에 의존하네요-),
    OS 레이어에서 혼자 운용하는 것은 상당히 보람이있었습니다.
    그렇지만, 어택의 로그가 신경이 쓰인다···.
    다음은 Ubuntu/Nginx/Keycloak/mongodb당 클라우드 PaaS에 맡기고,
    어플리케이션 부분에 집중하는 개발을 실천해 나가고 싶습니다.
    비용 징수도 캐쉬리스로 집금하거나 리모트로 완결하는 것을 의식하고 있습니다만,
    처음부터 나누어 감으로 계약할 수 있으면 좋겠지만요.

    좋은 웹페이지 즐겨찾기