221207 TIL

이지섭·2022년 12월 7일

오늘의 공부

카카오 장애 원인 정리

  • 사고원인?
    • 카카오가 이용중인 판교 SK 데이터센터 화재로 인한 카카오 서버 전체 전원 공급 차단
  • 왜 복구가 늦어졌나?
    1. 이중화 미흡
      • 일부 시스템이 데이터센터 간 이중화가 아닌
        판교 데이터센터 내에서만 이중화 되어있었다
        - 일부 캐시서버가 판교센터에만 있어서 그걸 이용하는 서비스들 복구 늦어짐
        - 카카오 로그인, 카카오톡 사진보내기 기능 등
      • 서로 다른 곳에 이중화가 되어있는 경우에도,
        자동 재해복구 시스템이 판교센터 내에 구축되어있었다.
        - 일일이 서버 수동 전환
      • 사내 계정인증, 개발 및 배포 도구, 모니터링 및 분석 도구, 협업 도구 사용불가
      • 서버 이동 및 재설치에 필요한 환경 구성정보 조회 불가
      • 이중화 전환 되었어도, 판교센터 전체를 대신할 만큼의 가용 자원이 확보되어 있지 않았음
        • 판교센터 자체가 정상화 되기 전까지 기능 복구 완료 불가
      • 개별 부서나 시스템마다 다른 이중화 수준 및 채계
    2. 위기대응 미흡
      • 복구 우선순위 판단 미흡
      • 인력부족
        • 데이터센터 전체 장애 케이스 대비 부족
      • 사내 커뮤니케이션 - 카카오톡, 카카오 워크 먹통
        • 비상연락체계 구축 부족
      • 초기 컨트롤타워 부재
        • 동시다발적으로 장애 대응했지만, 전체적인 조율과 협업이 안되었다
  • 데이터센터
    • 모니터링 시스템 다중화
    • 메인 백본 센터 2 → 3곳 확장
    • 별도 전용망 구성
  • 데이터
    • 다중 복제 구조 구성
    • 장애조치 즉각 실시 환경 구축
  • 운영관리 도구
    • 특히 앱 배포도구 중요성 인식 부족
    • 데이터센터 간 이중화 및 삼중화
  • 플랫폼
    • 데이터센터 단위 삼중화로 전면 장애 대비
    • 각 도구의 목적, 영향도 및 중요도 파악 프로세스 도입
      • 어떤 서비스를 먼저 구동시켜야 할 지 우선순위 판단 부족
      • 특정 시스템의 장애 시 영향을 받는 대상에 대한 공지 자동화
  • 카카오 클라우드
    • 스토리지 시스템의 데이터센터 단위 삼중화
  • 서비스
    - 한쪽 데이터센터 불능 → 다른 데이터센터로 트래픽 몰림 → 응답 느려짐 → 헬스체크 실패하는 경우 발생 → 그것도 서비스 자동중지 → 다시 실행시키려 해도 컨테이너 이미지 저장소 장애로 실행 불가
    - 서비스 간 의존성 최소화
    - 페일오버 구성 문제점 개선
    - 장애 대응 시ㅏ리오 재검토
    - 서버 구성정보, 배포설정 이중화
    각각의 서비스 개발부서 장애원인과 대응방안 - 내일
  • 사고대비
    • 화재진압 쉽도록 설계
    • 침수 해일 강풍 지진 추가 대비
  • 엔지니어링 혁신
    • 거버넌스
      • IT 엔지니어링 전담조직 확대편성
      • 데이터센터, SRE, 데브옵스, 클라우드 개발 엔지니어 채용 및 육성 적극지원
    • BCP DR 아키텍처
      • BCP : Business Continuity Plan : 자연재해, 사건사고 비상 대응 계획
        • 외부 전문가 협력
        • 카오스 엔지니어링, 서비스 status 페이지 - 글로벌 기업들이 쓰는거 우리도 도입 오픈소스 공개
      • DR : 기본적으로 전체 서비스 삼중화 플러스 알파로 구성
        • 주요 서비스는 멀티 클라우드 추가
          • 더더더중요 서비스(메세지전송)는 원격지 DR 데이터센터 별도로 구성
      • 투자 재원 확대
        • 3배

스프링 입문 강의

  • SQL
    • JOIN하기 위해 외래키를 설정하는게 항상 좋은 것은 아니다
      • 외래키를 설정하면 데이터 무결성을 확인하는 추가 연산 과정이 발생
        • 프로젝트 상황에 따라서 가장 효율적인 제약 조건을 테이블에 적용한다
      • 굳이 JOIN을 사용하지 않아도 같은 결과를 뽑을 수도 있음
        • FROM 테이블 두 개 WHERE 각각의 기준 컬럼이 같은경우

느낀점

  • 딴 짓 할 거면 일찍 자자...

메모

null

profile
Stop thinking. Just do it.

0개의 댓글