기술블로그

표준을 통한 마이크로 서비스의 Observability 구축기

저희는 Kubernetes 환경에서 동작하는 서비스의 증가와 최근 k8s 환경에서 대규모 서비스 오픈을 진행 했으며, 이에 대비하여 어떻게 마이크로 서비스에서 가시성을 확보할지, 또 문제가 생겼을 경우 어떻게 쉽게 문제를 확인하고 추적 할지에 대해 고민하게 되었습니다. 그 결과, OpenTelemetry와 SigNoz 조합을 활용한 Observabi...

통합된 개발과 배포 : Monorepo와 GitOps의 매력적인 조합

사람인에선 서비스의 레거시 영역을 점진적으로 개선해 나가고 있습니다. 그동안 FE개발팀은 긱이나 멘토링 같은 버티컬 서비스의 FE개발을 진행해왔는데, 작년부터 주요서비스의 FE분리를 시작하면서 FE 영역의 아키텍쳐에 대한 고민을 했었습니다. 그 결과 Monorepo를 적용하기로 하였고 첫번째 서비스가 배포를 앞두고 있습니다. 그 과정에서 배포 환...

중앙집중식 syslog 설정 및 관제

시스템을 운영하시는 분이라면 대부분 syslog에 대한 감사나 모니터링을 하시고 계실텐데요, 이번 포스팅은 사람인에서 이 syslog를 어떻게 관리하고 모니터링하는지, 그리고 어떤 기준으로 알람을 분류하는지에 대한 내용을 작성하려고 합니다. 전체 구성 syslog syslog는 포준시스템프로토콜로 kernel을 포함한 시스템데몬등에서 로그를 ...

사이트 신뢰성에 대한 지표는 어떻게 구성할까? (Feat. SRE)

통상 많은 기업들이 시스템의 전반적인 지표는 수집하여 관리와 모니터링 그리고 알림을 받거나 하고 있을거예요. 하지만 서비스 레벨에 대한 지표에 대해서는 부족한 면이 많을겁니다. 사람인도 그렇듯 사이트 신뢰성을 위한 서비스 레벨의 지표와 목표 범위를 지정하기 위해 시작하게 되었습니다. 이런 지표를 만들고 보면 단기간이든 장기간이든 전체 Request들...

사람인 백엔드 개발자에게 취업이란? (w/ 제로베이스)

우연한 계기로 제로베이스라는 코딩 부트 캠프에서 취준생들을 위한 질문과 관련하여 인터뷰 제의가 들어와 진행하게 되었습니다. 대단한 내용은 없다 보니, 많이 부끄럽긴 하지만 개발자가 되기 위해 준비중인 취준생 분들께서 보신다면 좋을것같아 인터뷰 전문을 사람인 블로그를 통해 공유해보고자 합니다. 01) 사람인 백엔드 개발자를 만나다 안녕하세요 명...

React Query 도입 후기

‘멘토링매치’는 회사나 직무 등 여러가지 궁금한 사항을 멘티와 멘토의 입장으로 일대일 음성 대화를 통해 경험과 정보를 나눌수 있는 서비스입니다. 이 글에서는 런칭 이후 진행된 리팩토링 작업중 react-query 도입과정에 대한 소개를 해볼까합니다. 리액트 쿼리란? React-Query는 데이터를 불러오고 캐싱하며, 서버 데이터와의 동기화 및 업...

Vue3, Composition API와 Pinia를 이용한 상태관리 (1)

이번 포스팅에서는 Vue3의 Composition API와 Pinia를 활용한 상태관리 경험을 공유하고자 합니다. Vue3 릴리즈 이후 Vue.js를 활용한 프로젝트 진행 기회가 없어 Vue3를 실제 업무에 적용할 기회가 없었으나 인재풀 프로젝트 개편과 함께 Vue3를 실무에 적용하게 되었습니다. 프로젝트를 진행하며 Vue3의 주요 기능들을 적극적...