로드맵

서비스 안정화 로드맵

nineDeveloper 2021. 8. 22.
728x90
업무명 설명
Promethus + Grafana 모니터링 환경구성 서버 리소스 사용량 확인 및 데이터 트랜잭션 처리 모니터링과 알람을 통해 서버 장애를 예측할 수 있으며 장애 발생시 빠른 장애 분석과 대응이 가능함
네이버 Pinpoint APM 환경구성 MSA 환경의 분산 트랜잭션 추적 및 대규모 분산 시스템의 성능 분석, 문제진단, 처리를 할 수있는 플랫폼 네이버에서 무료로 제공하는 서비스이며 사용이 편리하고 가시성이 높으며 MSA 환경에서의 트랜잭션 분산 추적이 용이함
API 서버 일부 Config 외부화 설정 API 서버의 로그수집설정 등의 일부 변동가능성이 높은 설정에 대해서 서버재기동 없이 유연한 변경처리를 위해 config 설정 외부화가 필요
로그수집환경(Fluntd + ELK) MSA 환경에서 다수의 서버의 로그를 ElasticSearch 로 수집하여 Kibana로 검색할 수 있는 환경을 구성하여 빠른데이터 분석 및 장애 대응이 가능하도록 하여야함
로그수집 설정 및 테스트
Circuit Breaker 환경 구성 및 Fallback 처리 특정 API 나 서비스에 장애가 발생했을 경우 그 API나 서비스를 우회처리하여 장애가 난 서비스에 트랜잭션이 과도하게 몰리고 처리가 지연되면서 연쇄적으로 일어나는 장애를 사전에 방지할 수 있어야 함 이에 Circuit Breaker 환경을 구성하여 우회가 필요한 서비스들을 선정하고 예외처리를 추가하여야 하고 Fallback을 통해 병목현상을 제거하여 심각한 장애상황을 예방해야 함
Docker Image 태그 추가 및 버전별 배포/롤백 처리 Docker Image 배포시 태그를 부여하여 버전별 배포/롤백 처리가 가능하도록 구성하여야 함
OAuth 2.0 인증 서버 구성 현재 Manager 서버에 임시로 구성된 OAuth 서버를 정식 인증서버로 개발하여 전환함
OAuth 2.0 인증서버를 활용한 MSA 서버 통신구간 암호화 처리 현재 MSA 서버통신구간 암호화가 적용되어 있지 않아 통신구간 트랜잭션의 보안이 매우 취약하므로 통신구간 암호화가 필요함
AWS Code Build 환경 구성 AWS Code Deploy 환경 구성 Jenkins CI/CD 파이프라인 적용 및 배포담당자 알림 배포담당자에게 슬랙알림 및 배포진행 버튼활성화 기존 젠킨스 배포방식은 세부적인 컨트롤 불가능해 STEP 별 병렬 처리가 가능한 젠킨스 파이프라인 구성으로 변경하고 AWS Code Build, Deploy 환경을 구성하여 Jenkins 서버의 부하를 줄이고 다수의 빌드 및 배포를 빠르고 안정적으로 처리할 수있도록 개선
DB의존 없는 가상DB 환경의 단위/통합 테스트 환경 구성 DB의존 없는 가상의 DB 환경으로 테스트할 수 있어야 한다 DB에 의존하는 테스트코드는 데이터나 테이블에 의해 언제나 영향을 받거나 줄 수 있으므로 지양해야 한다 가상DB 테스트 환경을 구성하고 테스트코드는 수행후 폐기 되어야하며 다른 DB에 영향을 주어서는 안된다 DB의 변경사항은 항상 공유되어야 하며 DB변경시 init 데이터를 변경하여 동일한 DB환경을 유지해야 한다
테스트 자동화 및 소나큐브 설정 배포시 자동으로 테스트를 수행하고 소나큐브를 통해 컨벤션에 맞지 않는 코드를 배포하면 수정을 권고하도록 하여 서버 배포로 인한 에러를 줄이고 서버 배포의 안정성을 강화함
WebFlux Application Skeleton 개발 서비스 Application의 경우 WebFlux와 Kafka를 활용한 비동기 방식으로 개발하여 서버의 처리량을 증대시키고 서비스의 안정성을 강화 해야함 미리 Skeleton 서비스를 개발하고 MSA로 분리해야되는 시점에 적용할 예정
데이터 분석을 위한 ElasticSearch 데이터 수집 및 인덱싱설정 ElasticSearch 데이터 수집 및 인덱싱 설정으로 활용가치가 높은 데이터들을 수집/가공/활용할 수 있도록 해야함
AWS EKS 도입 EKS 및 Kubernetes 의 러닝커브가 상당한관계로 올해까지는 별도의 서버 구성 및 테스트를 진행하고 활용이 가능한 시점은 내년초부터 실서비스 구성을 검토해야될 것으로 보임 올해는 우선 기존 서버 구성으로 운영하면서 Scaleout 이 필요하다면 ECS 구성으로 자동 Scaleout 이 되도록 구성
Rad Hat Keyclock Rad Hat Keyclock 의 경우 인증서버로써의 역할을할 수 있는 모든 기능을 갖추고 있지만 구성하여 사용하기 위해서는 러닝커브가 필요 현재의 상황에서는 SpringBoot 기반의 OAuth2.0으로 우선 구성하고 내년에 도입하여 사용하는 것으로 계획
728x90

댓글

💲 추천 글