현 재직중인 회사에서는 Github Action을 통해서 이미지를 빌드하고(흔히 말하길 CI 과정), Argocd를 통해서 배포(흔히 말하길 CD 과정)을 진행하고 있다. 이처럼 Github Action + Argocd 조합으로 CI/CD 프로세스로 되어 있는 회사들이 많이 있다. Github Action을 사용해본 사람들이라면 공감하겠지만, 생각보다 Github 장애 발생 비율이 적지 않다. 그리고 Github Action에 완전히 의존하는 경우에는 장애 상황에서는 배포를 할 수 없는 어려움이 있다. 그래서 일부 회사에서는 IDC 환경에 GitLab을 사용하기도 하고, Jenkins를 사용하기도한다.필자는 지금까지 Github Action + Argocd 조합만 사용해봤기 때문에 Jenkins와 어떤 ..
Golang으로 공부를 하던찰나, 이제 드디어 공부하던것이 빛을 발할때가 왔다! 통칭 doka-connector, dobby-kafka-connector이다 왜 doka를 만들었을까? 데이터팀에서 최근 개발팀에 MSK에 특정 토픽에 메시지를 만들어 달라고 요청을 했다. 그리고 해당 메시지를 S3에 적재하고 싶어했다. 처음에는 MSK에 메시지를 쌓으면 데이터팀 S3에 적재할 수 있겠다. 쉽겠다.라고 생각했는데 여기에는 생각치 못한 문제가 있었다. 개발/데이터 Account가 분리되어 있다. 그리고 Account끼리 VPC 피어링/TransitGateway 연결이 안되어 있다. MSK는 Private Subnet에 배포되어 있어 CrossAccount에서 접근할 수가 없다. 그래서 MSK의 메시지를 AWS ..
최근 회사에서 장애 상황이 있었다. 장애가 발생할 수 있지만 장애 처리가 미흡하여 장애 기준, 절차에 대해 재정의를 하려고 한다. 장애를 정의하기 앞서서 당사 서비스의 SLI, SLO 를 좀 살펴보았는데, 딱히 정의되어 있지 않은것 같다. 그래서 SLI, SLO가 무엇이고, 타사에서 많이들? 정의하는것을 기반으로 벤치마킹하고자 한다. - 아직 공부를 하는 단계이고, 최대한 이해하고 게시물을 작성하였지만, 일부 작성된 내용이 있을 수 있다. SLA 계약 또는 공표하기 위해서는 SLO가 사전 정의가 되어 있어야 하고, SLO를 정의하기 위해서는 SLI로 지표를 정의해야 한다. SLI(Service Level Indicator) 서비스 수준 척도라고도 불리며, 자세하게 말하면 서비스에 대한 수준을 측정하고 정..