DevOps

    서비스 장애 잘 이해하고 대비하기

    글을 작성하기에 앞서약 3주 전에 한빛세미나에서 주최한 서비스 장애 잘 이해하고 대비하기 라는 세미나를 들은적이 있습니다.이번 아티클은 위의 세미나를 요약하고, 그리고 제 생각또한 적당하게 녹여보았습니다.글의 순서는 아래와 같은 순서로 전개할 예정인데, 세미나의 순서와 아예 동일하지만 중간중간에 제 사견도 섞어서 말씀드리도록 하겠습니다.어디까지 장애라고 볼 수 있을까?장애는 어떻게 잘 대응할 수 있을까?장애를 예방할 수는 있을까?장애 대응의 두 가지 사례 소개어디까지 장애라고 볼 수 있을까? (장애의 정의)우선 장애가 무엇인지 정의하기에 앞서서, 장애에는 어떠한 구성요소가 존재하는지부터 알아볼 필요가 있습니다. 장애에는 아래의 두 가지 구성요소가 존재합니다.민감도 (범위)심각도민감도민감도에는 장애를 경험..

    Redis OOM 장애

    거의 1년만에 아티클을 작성하게 되었는데, 오랜만에 작성하게된 아티클의 주제는 제가 직접 겪어본 Redis OOM으로 인한 장애에 대해서 공유를 해보고자합니다. 해당 아티클의 순서는 아래의 순서로 전개될 예정입니다.Redis OOM이 일어나게 된 배경Redis 아키텍처 돌아보기단기적인 장애 대응 방법최종적인 장애 대응 방법, 그리고 회고글 마무리Redis OOM 장애가 일어나게 된 배경제가 운영하던 백엔드의 API 일부 중에는 Redis를 적극 활용하여 대용량 데이터를 프로세싱하여 클라이언트에게 추천 데이터를 반환해주는 로직이 하나 있었습니다.그리고 API 서버는 ECS 환경에서 운영되어 트래픽이 늘어나거나, 혹은 CPU, MEM 사용량을 관측하여 일정 임계치를 넘어가면 태스크의 개수를 스케일 아웃하도록..

    Jenkins on K8S를 설정하며 겪은 일들

    최근에 저는 부트캠프 내에서 프로젝트 스터디를 진행하면서 스터디의 DevOps, 그리고 백엔드 파트를 담당하고 있습니다. 그리고 현재는 백엔드 프로젝트를 Kubernetes 환경에서 운영중에 있는데요, 그 과정에서 Jenkins도 Kubernetes에서 관리하기로 결정하였습니다. 이번 글에서는 제가 왜 Jenkins를 Kubernetes로 운영하려고 하는지, 그리고 Jenkins on K8S를 설정하면서 겪은 어려움들을 여러분들께 공유해드리고자합니다. 0. 배경지식 우선 Jenkins on k8s를 설명하기 이전에, Jenkins에 대해서 조금 이야기를 해볼까합니다. 젠킨스는 여러분들도 아시다시피 CI/CD 자동화 도구입니다. 그러므로 젠킨스 agent는 사내의 모든 빌드들을 처리해야하기 때문에 리소스를..