사용자 도구

사이트 도구


web:신규서비스

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
web:신규서비스 [2021/11/12 16:51]
kwon37xi [이미지와 정적 리소스 서빙 시스템 image, static resources]
web:신규서비스 [2021/12/04 19:42]
kwon37xi [Logging]
줄 326: 줄 326:
       * 이렇게 해야 ''주문 취소건'' 이라는 검색어로 주문 취소와 관련된 연관 로그를 한 번에 검색 가능해진다.       * 이렇게 해야 ''주문 취소건'' 이라는 검색어로 주문 취소와 관련된 연관 로그를 한 번에 검색 가능해진다.
     * 절대로 예외를 먹지 말것. 정말 특별한 경우가 아니면 항상 예외의 stacktrace까지 모두 남길것. 특별한 경우에는 왜 특별한지 주석 달 것.     * 절대로 예외를 먹지 말것. 정말 특별한 경우가 아니면 항상 예외의 stacktrace까지 모두 남길것. 특별한 경우에는 왜 특별한지 주석 달 것.
 +  * UI 관점에서 사용자 행위 로그를 꼭 남기도록 하고 이를 분석하여 개선 방향을 도출할 수 있도록 한다.
 ===== Production Server ACL ===== ===== Production Server ACL =====
   * 운영 시스템에 대한 ACL은 개발 초기부터 망 분리 등을 통해 운영시스템에서만 접속가능하도록 하고 **절대 개발자 PC, 테스트 시스템 등에서는 접속이 불가능**하도록 구성한다(여기서 말하는 접속은 서버에 대한 SSH 접속이 아니라 DB,Redis,MQ 같은 시스템, API 서버 등에 대한 접속을 뜻한다).   * 운영 시스템에 대한 ACL은 개발 초기부터 망 분리 등을 통해 운영시스템에서만 접속가능하도록 하고 **절대 개발자 PC, 테스트 시스템 등에서는 접속이 불가능**하도록 구성한다(여기서 말하는 접속은 서버에 대한 SSH 접속이 아니라 DB,Redis,MQ 같은 시스템, API 서버 등에 대한 접속을 뜻한다).
줄 420: 줄 420:
   * Sprint 를 1주 단위 정도로 잘게 쪼개는 게 좋다. 목표를 명확히 가시화 한다.   * Sprint 를 1주 단위 정도로 잘게 쪼개는 게 좋다. 목표를 명확히 가시화 한다.
   * 스프린트당 통합 테스트를 목표로 정하는게 좋다. 허접해도 통합해서 뭔가를 보는게 좋다.   * 스프린트당 통합 테스트를 목표로 정하는게 좋다. 허접해도 통합해서 뭔가를 보는게 좋다.
 +
 +===== 외부 연결 정보와 인증서 관리 =====
 +  * 외부 API 연동 Key 혹은 HTTPS 인증서 등의 목록을 면밀히 관리해야 한다.
 +  * 특히 인증서 자체의 숫자가 늘어나서 관리가 안 될 수 있기 때문에 소스코드에 API Key 등을 두지 말고, 특정 저장소에서 일관되게 사용할 수 있게 해야 한다.
 +  * HTTPS SSL 인증서의 경우 만료일 관리 스케줄링을 하고, 관리 주체를 명확히 가져가도록 한다.
 +
  
 ===== 신규 개발 조직 구축시 먼저 할 일 ===== ===== 신규 개발 조직 구축시 먼저 할 일 =====
줄 437: 줄 443:
     * [[:docker|Docker]], [[aws:localstack|LocalStack]], [[devops:vagrant|Vagrant]] 등을 활용하여 개발자 전용 개발 환경을 만들어주고     * [[:docker|Docker]], [[aws:localstack|LocalStack]], [[devops:vagrant|Vagrant]] 등을 활용하여 개발자 전용 개발 환경을 만들어주고
     * [[java:database:migration:flyway|Flyway Java Database Migration]], [[java:database:migration:liquibase|Liquibase]], [[devops:terraform|Terraform]], [[devops:ansible|Ansible]]같은 Infrastructure As Code 툴로 운영환경을 Local 에서 복구하는 것이 자동화 돼 있어야 한다.     * [[java:database:migration:flyway|Flyway Java Database Migration]], [[java:database:migration:liquibase|Liquibase]], [[devops:terraform|Terraform]], [[devops:ansible|Ansible]]같은 Infrastructure As Code 툴로 운영환경을 Local 에서 복구하는 것이 자동화 돼 있어야 한다.
 +  * 개발 시간도 아니면서 개발 시간이 부족하게 만드는 요소들(배포 복잡도로 인한 배포 시간이 너무 오래걸린다던가, 매우 반복적인 통계 생성 요청이나 기타 운영 요청을 받아주느라 개발을 못한다던가)이 있는지 확인하고 개선하여 개발 시간을 확보하고 또한 이를 계속 반복 확인한다.
   * 기술 선언서를 만든다.   * 기술 선언서를 만든다.
     * 장애대응 방법과 태도(비난하지 말고 함께 문제를 해결한다던가)     * 장애대응 방법과 태도(비난하지 말고 함께 문제를 해결한다던가)
줄 449: 줄 456:
       * Test 방법       * Test 방법
     * 그리고 지속적인 회고로 기술 선언서를 개선한다.     * 그리고 지속적인 회고로 기술 선언서를 개선한다.
 +
 +
  
 ===== 지속적인 업그레이드 ===== ===== 지속적인 업그레이드 =====
web/신규서비스.txt · 마지막으로 수정됨: 2024/03/08 11:26 저자 kwon37xi