top of page

서비스 장애율 제로를 향해 달리는 조직, 핀다 데브옵스 팀을 만나다


지난 4월, AWS와 LG CNS가 함께 ‘아마존 EKS(엘라스틱 쿠버네티스 서비스) Jam for AM(애플리케이션 현대화)’을 개발하고 국내 고객을 대상으로 워크숍을 실시했는데요. 이날 워크숍에는 핀테크 기업 핀다, 신한은행, 롯데e커머스 등 기업 관계자 240여명이 참석했습니다.


‘아마존 EKS Jam for AM’은 워크숍에 참여한 기업 관계자들이 2~4명 단위로 팀을 이루고 다른 팀과 대결하여 문제를 해결하는 게임 방식으로 진행됐는데요.


230여 참가자들 중 무려 2등에 오른 팀이 있었으니, 바로바로! 핀테크 기업 핀다의 데브옵스(DevOps) 엔지니어 명석님과 영조님의 ‘그레핀다르’ 팀이었습니다!🥳 (와 대박!)


왼쪽부터 핀다 데브옵스(DevOps) 팀의 영조님, 명석님. 팀명이 그레핀다르라니 너무 귀엽다.


오늘은 핀다 데브옵스(DevOps) 팀을 만나서 큰 대회 수상 경험에 대한 소회와 핀다에서 데브옵스 문화를 만들어가고 있는 다양한 이야기를 나누었어요. 개발자들을 위한 개발자들, 핀다 뎁옵팀을 얼른 만나볼까요?



안녕하세요 데브옵스 여러분. 간단하게 자기 소개 한 번씩 해주시겠어요?

현민 안녕하세요, 핀다 데브옵스 엔지니어 서현민입니다. 핀다에 조인하기 전에는 자연어처리, 챗봇, 데이터플랫폼 개발 등을 해왔어요. 저는 2021년 12월에 핀다에 조인했어요. 제 추천으로 근식님이 지난해에 입사하셨고요.


근식 안녕하세요, 윤근식입니다. 핀다 데브옵스 팀에서 ‘진짜’ 개발하는 역할을 맡고 있어요. 웹 개발 중심 Java 개발을 해오다가 현민님의 추천으로 핀다에 조인했습니다.


영조 안녕하세요. 핀다 데브옵스 팀 장영조입니다. AWS의 MSP(Managed Service Provider, 관리형 서비스 공급자) 회사에서 SA(Solution Architect)로 근무하다가 핀다에 조인하게 됐습니다. 명석님은 제 추천으로 핀다에 조인하셨어요.


명석 안녕하세요, 영조님 추천으로 핀다에 조인한 김명석입니다. 핀다에 조인하기 전에는 가상화 플랫폼 엔지니어, AWS와 NCloud 클라우드 엔지니어 업무 등을 맡았었어요.



오 신기하게도 사내 추천으로 구성된 팀이네요. :) 현민님과 영조님은 핀다에 조인하시고 지인분들에게 핀다 입사를 추천을 할 만큼, 핀다의 어떤 점이 좋으셨을까요?

현민 안정적인 사업 모델을 가진 스타트업 중에 핀다는 핀테크 분야에서 독보적인 위치에 있다고 생각했어요. 지난 한 해에도 엄청난 성장 속도를 보였는데, 비즈니스가 안정되고 인지도가 더 확산되면서, 앞으로의 성장 가능성이 높다고 생각하여 지인 여럿에게 추천을 했죠. 그렇게 근식님이 조인하게 되었고요. :)


영조 핀다는 현민님 말씀처럼 안정적인 비즈니스 모델을 갖추고 가파른 성장세를 자랑하는 스타트업입니다. 사실 사회 경험이 그리 많지 않은 저로서는 처음 핀다에 조인할 때만 해도 금융업을 도메인으로 하는 핀테크 회사의 조직이 수직적이거나 딱딱하지 않을까 하는 막연한 두려움이 있었거든요. 그런데 면접 때부터 이 편견이 깨졌어요. CTO님은 물론, 개발조직 실무자분들도 굉장히 유연하고 눈높이를 맞춰 대화하는 방법으로 저를 온보딩 시키려 노력하시더라고요. 조인 후에는 개발 조직에 대한 아낌 없는 지원과 새로운 기술 스택의 도입 등 업무를 하는 데에 필요한 모든 부분을 지원하신다는 점에 감동을 받기도 했어요.



아하, 두 분 모두 핀다의 성장성과 유연한 조직문화를 경험하시고 지인을 추천하셨군요. 영조님과 명석님은 사수관계이기도 하셨다고요?

영조 맞아요. 제가 첫 회사 신입으로 커리어를 시작할 때, 명석님이 제 사수와 같은 포지션을 담당하셨어요. 같은 업무를 배우면서 서로 DevOps 포지션을 추구하고, 커리어 방향성 등을 논의하는 훌륭한 동료였어요. 그래서 핀다의 방향성과도 잘 맞겠다 싶어 추천했습니다.


명석 네, 사실 저는 이전에 클라우드 빅테크 기업에 있었는데, 약간의 아쉬운 점들이 쌓였던 것 같아요. 대기업일수록 업무 범위가 제한적이고 같은 일이 반복되는 경향이 있잖아요. 안에서 열심히 씨름했지만, 한계에 부딪혔다는 생각이 들 때쯤에 영조님의 추천이 훅 들어온거죠.



왼쪽부터 핀다 데브옵스(DevOps) 팀의 현민님, 영조님, 근식님, 명석님. 브이(V) 포즈를 한 명석님은 분위기 메이커를 담당하고 있다.


영조님과 명석님, 추천 동지끼리 최근에 열린 큰 대회에 출전하여 무려 2등 수상의 영예를 안으셨더라고요. 축하 드립니다! 어떤 대회이며, 수상의 의미는 무엇일까요?

명석 감사합니다. 부끄럽네요. (웃음) 이번 코드잼은 글로벌 클라우드 서비스를 제공하는 아마존 웹 서비스(AWS)가 주관하고, LG CNS가 플래티넘 파트너로 대회 환경을 제공해주셨어요. 사실 그렇게 자주 하지 않는 대회다 보니, 희소가치가 있어요. 특히 이번에 출제된 문제는 국내에 처음 도입된 것이라고 하더라고요. 실제로 사용자들이 겪을만한 문제들이 많이 나오기도 했고요.


영조 이번 문제는 쿠버네티스 이해도가 성패를 가른 것 같습니다. 핀다는 쿠버네티스 환경과 최신 CNCF 기술스택 도입을 적극적으로 활용하고 있거든요. 그래서인지 손쉽게 풀어나갈 수 있었어요. 핀다 덕분입니다.



그러게요, 실제로 핀다에서 쓰는 개발 환경이 문제로 출제됐다니 다행입니다. 핀다 팀의 쿠버네티스 환경에 대해 짤막하게 설명해주신다면요?

현민 핀다는 쿠버네티스 환경이 꽤 오래 전부터 구축돼 있었어요. 다만, 적용한 이후 시간이 상당이 흘러서 미흡한 점들이 보이기 시작했죠. 예를 들어 기존에 서비스별로 관리되던 노드그룹을 성능에 따라 자동으로 조정할 수 있도록 하여 성능과 비용을 아낄 필요가 있었어요. 또 수작업을 통해 발생하던 휴먼에러를 프로그래밍이 가능한 테라폼으로 전환하여 방지하고, 안정적인 서비스 배포를 위한 블루,그린,카나리 환경을 구성해야 했죠. 그래서 지난해 여름즈음에는 핀다 개발, 인프라, 데브옵스 조직이 전부 집중해서 고객의 신용정보를 안전하게 지키면서도 대량 트래픽을 안정적으로 서비스 할 수 있는 차세대 인프라를 도입했어요. 그렇게 자연스럽게 레거시를 정리하고, 미흡한 부분을 보완해 더 나은 쿠버네티스 환경을 완성할 수 있었죠.



차세대 인프라 작업은 지난해 정말 중요한 개발 이슈였던 것 같아요. 굉장히 예민한 나무가 자라나고 있는 큰 화분을 통째로 옮기는 작업과도 같았는데요. 개발 환경이라는 게 레거시가 쌓일수록 바꾸기 어려운 구조인데, 어떻게 진행하게 되셨는지 궁금합니다.


영조 맞습니다. 작년 한 해는 정말 폭발적인 성장을 한 시기였어요. 2022년 한 해에만 무려 4조 원의 대출 거래를 성사시켰고, 제휴 금융회사도 업계 최다 수준을 꾸준히 유지한 덕분에 지금은 67개 금융회사와 네트워킹 중인데요. 서비스 성장 속도가 J커브를 그리고 있다 보니, 사업의 성장 속도를 따라가지 못하는 보안에 취약한 요소들과 서비스 품질에 대한 가시성이 나빠지는 문제가 발생하기 시작했어요. 그래서 2022년 당시 시점에서 최신 기술과 환경을 구축할 수 있는 방향으로 시스템 개선을 시작했죠.


현민 시장과 서비스의 요구사항에 따라 기술 트렌드가 있다고 생각해요. 과거 데이터 센터에서 퍼블릭 클라우드로, 이후 서버리스 기술로 이동하여 개발의 편의성은 높아졌지만 특정 사업자 클라우드시스템에 의존한다는 문제가 존재했죠. 하지만 저희가 사용하고 있는 쿠버네티스 환경은 여러 클라우드 사업자에 대해서 핀다가 원하는 보안, 서비스 기준에 맞게 독립적으로 사용할 수 있는 환경으로 반드시 구성해야 하는 상황이었습니다.



몇 개월에 걸쳐 진행되었죠? 차세대 인프라 도입 후 달라진 점을 체감하시나요?

명석 지난해 2월부터 시작해서 5월까지 마무리하기로 계획을 잡았는데, 진짜로 완료된 것은 8월 15일이었어요. 제가 핀다에 조인하고 이 업무에 바로 뛰어들었으니, 정확히 기억납니다. 광복절이 월요일이라 3일 간 휴일이었는데, 일부러 이때로 잡아서 마무리를 지었죠. DBA, 백엔드, 인프라 등등 참여 멤버분들도 정말 많았어요.


영조 핀다가 걸어온 길을 잘 정리하고, 앞으로 나아갈 길을 잘 닦는 데에 집중했던 작업인 만큼 시간도 많이 소요되고 많은 리소스가 투입됐어요. 전자금융업의 높은 기준을 만족하면서도 스타트업답게 유연하고 빠르게 서비스를 할 수 있는 방향을 염두에 두고 진행한 작업이었죠. 그 당시 빈번하게 발생하는 장애에 대한 문제를 해결하기 위해 원인을 빠르게 파악하고 대응할 수 있는 옵저버빌리티(Observability, 모든 소스에서 발생한 데이터들을 수집, 통합해 분석할 수 있게 해주는 플랫폼)를 크게 개선하는 것도 중요한 목표였고요.


현민 차세대 인프라 도입 후에는 서비스 장애율이 제로에 가까워졌어요. 차세대 인프라 이관을 완성하기까지 시간이 좀 길어지긴 했지만, 이관 도중에 중단되거나 이렇다 할 문제 없이 한번에 이관을 성공했죠. 이건 정말 박수칠만한 일이에요. 혹시나 잘못되어 롤백을 하거나 이슈를 처리하는 상황에 대비하고 있었는데, 정말 아무 일도 일어나지 않았어요. 테스트 환경에서 여러 가지 상황을 대비하여 시스템 이관에 대한 시뮬레이션 연습을 충분히 한 결과가 아닐까 싶어요.



맞아요. 8월 15일(절묘하게 광복절이네요.) 밤 늦은 시간에 슬랙에서 울리던 함성이 기억납니다. 모두들 “드디어 끝!”이라는 메시지를 외치셨죠? (웃음) 수고 많으셨습니다. 덕분에 깔끔한 환경에서 고객에게 더 나은 서비스를 제공할 수 있게 됐어요. 다음 질문을 해보겠습니다. 저는 2020년 11월쯤에 데브옵스라는 단어를 처음 들었던 것 같아요. 핀다 백엔드 엔지니어분께서 데브옵스 영역으로 업무를 확장한다고 하셨거든요. 그런데 여전히 어렵습니다. 여러분이 생각하는 데브옵스는 무엇일까요?

현민 사실 데브옵스라는 포지션이 국내에서 자리잡고 확장한지 얼마 안 됐어요. 가장 작은 개념으로 치면, CI/CD(Continuous Integration/Continuous Delivery, 지속적인 통합과 지속적인 배포의 결합 형태) 엔지니어이죠. 핀다처럼 개발과 운영 측면을 두루두루 갖춰야 할 회사에서는 데브옵스를 마련할 수밖에 없고요.



현민 데브옵스의 절대 가치는 서비스 안정성에 있다고 생각해요. 속도를 중시하는 스타트업에서는 프로덕트 조직이 빠르게 서비스를 출시하다 보면 놓치게 되는 개발요소들이 있거든요. 이를 파악하고 구성하여 프로덕트의 속도와 안정성을 동시에 만족시키는 일을 수행합니다.


또 제가 생각할 때 서비스 안정성을 이루는 요소로는 시스템, 사람, 운영 등이 있다고 생각하는데요. 시스템 측면에서는 트래픽 변화에 유연한 분산 처리 환경과 게이트웨이를 통한 API 접근 제어가 있고, 사람과 관련해서는 휴먼 에러의 방지를 위한 자동화된 서비스 배포, 개발환경이 필요해요. 운영 측면에서는 인원의 변동이 잦은 스타트업에서 레거시가 발생하지 않도록 일관성 있는 개발스택과 소스 관리 프로세스를 정립하는 일이 해당되겠고요.



현민님의 말씀을 들어보니 데브옵스는 프로덕트가 빠르게 출시되면서도 안정적인 핀테크 서비스가 가능하도록 자동화하는 것이라 생각할 수 있겠네요. 안정적인 시스템을 위해서는 결국 휴먼 에러도 제어해야 하니까요.

영조 사전적인 정의 그대로 데브옵스 ‘엔지니어링’을 통해 휴먼 리소스의 최소화를 목표로 삼아요. 달리 말하면, 내가 생각만 해도 그것이 현실로 일어나게 만드는 게 자동화의 궁극적 목표라고 할 수 있죠. 이를 업무에 빗대어보면, 사내 서비스의 개발(생성), 운영, 삭제, 회복, 모니터링 등 모든 일련의 과정을 크루들의 최소한의 행동을 통해 동작하도록 만드는 것이 자동화라고 생각해요.


현민 데브옵스 관점에서 바라본 자동화는 실제 개발을 제외한 모든 업무를 버튼만 누르는 수준으로 진행시키고, 이로 인해 개발자들이 빠르게 개발하고 안정적으로 서비스를 배포·운영할 수 있도록 더 나은 환경을 제공하는 것이라고 생각해요. 물론 그 길은 멀고도 험하겠지만요.


명석 자동화의 범주는 정말 끝이 없어요. 하지만 안 되는 것은 없다고 생각합니다. 아직 못했을 뿐이죠.



사내 서비스의 개발과 운영 등 일련의 과정이 자동화된다면 프로덕트팀은 비즈니스 개발에 집중할 수 있겠네요. 근데 혹자는 데브옵스를 역할이 아닌 문화라고 하더라고요. 이에 대해서는 어떻게 생각하시나요?

현민 애자일하고 민첩한 프로덕트 개발이 가능하도록 자동화된 개발·배포 프로세스와 소스 관리 방법과 같이 개발자를 위해 더 나은 환경을 구축하는 일을 수행하다 보니 문화라고 보는 게 아닐까 생각이 들어요.



명석 그래서 저희팀은 핀다가 핀테크 스타트업답게 민첩하고 유연하면서도 신뢰성 높은 서비스가 가능하도록 이러한 문화를 정착시키고, 잘 운영되게 하는 것을 추구하고 있어요. 데브옵스가 개발과 운영이라는 두 가지 영역에 대한 이해와 지식이 있어야 하는 만큼, 개발 영역 공부도 더 깊게 해야겠다는 필요성을 느끼고 있죠. 핀다 핵심가치 중 GROWTH MINDSET(그로스 마인드셋)과도 맞물려 있는 것 같고요.



듣고 보니 문화에 더 가까운 팀이라는 말이 이해가 되네요. 그렇다면 팀에서 가장 중요하게 여기는 가치는 무엇일까요? 좀 형이상학적인 이야기가 되려나요. (웃음)

영조 우선 서비스의 신뢰성이에요. 핀다의 모든 조직은 3개월을 기점으로 전체 회고 시즌을 갖고 있어요. 저희 팀은 이 주기와 무관하게 항상 서비스 신뢰성를 확보해야 해요. 특히 데브옵스팀이 가져가야 할 조직 내 역할은 테크 조직의 전반적인 비용과 번거로움을 줄여주는 일이라고 생각해요. 처음에 ‘개발자를 위한 개발자’라고 하셨잖아요. 실제로 우리 팀의 개발자들이 불편했던 부분을 개선하고 그에 대한 피드백을 주기적으로 받으면서 더 나은 환경을 만들기 위해 노력하고 있어요.


현민 팀 OKR도 회사 OKR을 달성하기 위해 발전하는 방향에 도움을 주는 내용으로 설정돼 있어요. 데브옵스 팀에서는 장애율을 제로에 가깝게 향하도록 OKR을 설정했는데요. SLA 99.99*를 북극성 지표로 잡고 있어요. 아득해도 손에 잡힐 듯 가깝게 목표를 단계별로 설정해서 장애의 근본 원인을 찾는 게 중요하죠. 또 서비스를 이용하는 고객들이 불편함을 겪지 않도록, 이 서비스를 만드는 개발자들이 개발 환경 때문에 장애를 빠르게 고치지 못하는 상황이 일어나지 않도록 각자의 역할에 맞게 KR을 잡고 있어요.

*1년 중 1시간 이하의 장애



들어보니 데브옵스 팀은 존재만으로 (!?) 개발자분들에게 심리적인 안정감을 제공하는 것 같네요.

영조 핀테크 스타트업에서 안정적인 서비스를 제공하기 위해서는 높은 수준의 운영 비용이 필요하다고 생각해요. 새로운 서비스를 빠르게 개발해야 하는 핀다와 같은 스타트업에서는 프로덕트 개발자분들이 갖는 운영부담을 최소화 하는게 중요하거든요. 과거에는 핀다 레거시 환경에서 장애가 빈번하게 일어나는 순간이 배포 순간이기도 했고요. 테스트 환경이 있기는 했지만, 실제 운영 환경은 또 다를 수 있잖아요. 이를 해결하기 위해 이번에 차세대 인프라를 구축하면서, 카나리 배포*를 도입했습니다. 서비스 배포과정에서 발생하는 장애의 근본적인 원인을 찾아 개선한 거죠. 카나리 배포를 통해 실제 운영 단계에서 서비스 영향도에 대해 미리 확인이 가능해졌고, 덕분에 배포 시점에서 장애가 발생하는 일은 거의 사라졌어요. 사소한 휴먼 에러까지 개선하는 일을 문화로 정착시킨다면 완벽한 제로에 가까워지겠죠. 이러한 환경은 개발자분들에게도 높은 심리적 안정감을 드린다고 생각해요.

*Canary Release(카나리 배포)는 SW 배포의 방법 중 하나이다. 조금씩 사용자의 범위를 늘려가며 피드백을 통해 배포하는 방식



근식 영조님 말씀이 맞아요. 사실 개발자들은 테스트 코드를 작성할 때 평소보다 더 거칠게 작성해요. 테스트 환경이 갖춰진 곳이면 자바(Java) 안에 여러 테스트 코드를 작성해보죠. 개발자들에게 실제 운영 환경과 비슷한 테스트 환경은 최고의 놀이터와 같아요. 이런 테스트 환경이 없다면 실제로 즉각 반영되는 앱 서비스에서 코드를 만들게 되는데, 이렇게 되면 한 번에 거의 완벽한 코딩을 해야 한다는 부담이 있거든요.



글을 쓰는 저도 한 번 쓰고 나서 여러 번 퇴고를 거치며 글을 수정하는데, 코딩도 마찬가지군요. 거친 코드…언젠가 본 것 같습니다. 화면을 꽉 채운 명령어의 향연을!

현민 맞아요. 디버깅이라고도 하는데요. 개발자들도 새로 추가된 기능이 기존에 있던 기능과 잘 연결되는지 확인이 필요하거든요. 코딩도 글쓰기처럼 퇴고를 잘하면 잘할수록 고급 개발자의 역량을 쌓을 수 있죠.



얘기를 나누다 보니 잘 그려지지 않았던 데브옵스의 역할과 문화가 어느 정도 가시화되는 기분입니다. 마지막으로, ‘개발자를 위한 개발자’를 나만의 언어로 표현해주신다면 어떻게 표현하시겠어요?

명석 데브옵스라는 직무가 굉장히 광범위한 일을 하는 것 같아요. 문화로 넓게 해석을 하면, 이를 달성하는 데에는 저마다의 목표가 다를 것 같습니다. 저는 여전히 저만의 관점으로 데브옵스의 의미를 찾아가고 있어요. 핀다에서 일하며 배우고 느끼는 것들을 토대로 제가 생각하는 이상적인 데브옵스를 찾고 있습니다. 손에 잡힐 듯 잡히지 않는 파랑새..? (웃음)


영조 명석님 말씀처럼 데브옵스는 하나의 문화라고 볼 수 있거든요. 회사와 조직마다 문화가 다르니까 이걸 한 골자로 말씀드리는 게 맞을 지 지금도 고민이 돼요. 그렇지만 모두가 공통적으로 겪는 애로사항이 있을 거예요. 다같이 겪는 문제점, 불편한 부분을 개선하며 모두가 만족할 수 있는 방안을 고안하고 환경을 만들 수 있는 역할이라고 생각해요. 좀 더 덧붙여 말하자면, 소속된 조직만의 문제점도 그 조직에 맞게 해결하는 커뮤니케이션 능력에 더해 기술 전문성도 필요하고요.


근식 저는 사실 개발하는 입장이다 보니까 데브+옵스에서 데브 쪽에 더 가까운 편이에요. 데브옵스와 백엔드 개발 사이 그 어딘가에 서있는 것 같죠. 어쨌거나 문화적 관점에서 본다면 개발 조직은 결국 단 하나의 목표를 향해 달려가야 하잖아요. 고객의 완벽한 경험을 위해 서비스를 안정적으로 만들고 장애율을 제로에 수렴하게 하는 것. 그게 목표인 사람들이 아닐까 싶어요.


현민 저도 근식님과 비슷하긴 한데요. 여러 프로덕트 조직들에게 도움이 될만한 일들을 집요하게 찾아서 열심히 수리하는 거죠. 이를테면 자동차를 움직이는 주요 부품은 아니지만 자동차가 잘 굴러가게 기름칠을 하는 역할이에요. 이런 일들을 도맡아서 책임지고 하는 역할이라고 봐주시면 좋을 것 같습니다. 또 이게 문화이기도 하죠. 자발적으로 중간다리 역할을 해내는 핵심가치를 달성하기 위한 문화. 이러한 데브옵스 문화가 핀다 전체에도 잘 정착될 수 있으면 좋겠습니다.



오늘은 프로덕트팀이 빠르게 서비스를 출시할 수 있도록 더 나은 개발 환경을 제공하고 운영 자동화를 통해 안정적인 서비스가 가능하도록 만드는 “개발자를 위한 개발자", 데브옵스팀을 만나보았습니다.


개발과 운영의 합성어로 이뤄진 팀명처럼 정해진 범위 내에서만 일하는 게 아닌, 개발 조직의 문화 전반을 들여다보는 크루들의 면모를 볼 수 있었는데요.


아무것도 안 하고 모니터만 바라보며 여유를 즐길 때 ‘데브옵스팀 일 참 잘하네!’ 라는 소리를 듣는다는 데브옵스팀. 참 신기하면서 재미있는 조직이라는 생각이 들죠?😊 업무 범위를 한정짓지 않고 개발과 조직 문화를 만들어나가는 EXCELLENCE를 추구하는 팀이라는 생각이 들었습니다.


*핀다의 핵심가치가 궁금하다면? 👉핀다답게 일하는 방법, <핵심가치 2.0> 콘텐츠 보기


오늘 인터뷰는 이렇게 마무리하겠습니다. 핀다 팀에 대해 궁금하다면, 핀다포스트 ‘사람이 핀다’ 시리즈를 꼭 읽어주세요. :)



핀다와 함께 끝없는 성장을 이루고 싶은 분이라면,

지금 핀다호에 탑승하세요!🚀✨


 

Interviewee 서현민 장영조 김명석 윤근식

Interview·Edit 차수연

Photo 정진우



bottom of page