카카오 서비스의 모든 시스템과 트래픽을 책임지는 ‘인프라팀’ 이야기

카카오 인프라팀은 카카오 서비스의 시스템과 트래픽을 책임지고 관리/운영하고 있는 조직으로 국내 최대 인프라 규모를 자랑하며 최고의 인프라 엔지니어가 함께 하고 있습니다. 

모든 장애 상황에 대해 가장 먼저 대응하며, 카카오의 모든 서비스를 안정적으로 운영하기 위해 그리고 개발자가 개발에 집중할 수 있도록 다양한 오픈소스 플랫폼을 구축하여 서비스 친화적인 인프라 서비스를 제공하고 있습니다. 

 

카카오 서비스의 중심엔 인프라팀이 있습니다

 

전 국민이 매일 사용하는 카카오 관련 서비스들은 거대한 서버팜을 기반으로 운영됩니다. 인프라팀은 큰 데이터 센터를 만들고 연결하고 애플리케이션 서비스들이 잘 운영될 수 있도록 각종 문제를 해결하는 일을 합니다.

크게 4개의 파트 조직으로 구성되어 있습니다.

  • 시스템엔지니어링 파트 : 수십만 대에 이르는 서버 운영기술과 관련된 일들을 합니다.
  • 네트워크 엔지니어링 파트 : 모든 서버들은 고속의 NIC card 를 통해 네트워크로 연결되어 있습니다. 컴퓨터 간 연결(네트워크)에서 발생하는 모든 문제와 대규모 트래픽을 다루기 위한 분산 기술을 다룹니다.
  • 데이터 센터 파트 : 서버룸 예측, 계약, 구축, 운영 등 데이터 센터 현장에서 발생하는 문제들을 다룹니다.
  • 인프라 기획 파트 : 큰 예산을 다루는 인프라팀의 모든 살림살이/운영을 담당합니다.

 

인프라팀의 모든 것

– 인프라팀의 기술 스택

리눅스 기반의 각종 시스템 엔지니어링 기술, 각종 자동화, Devops(Python/Go등), SRE, 전자 통신망 네트워킹, 트래픽 분산처리 기술, DNS/GSLB, ITSM 등 담당 특화분야별로 범위가 매우 넓은 편입니다.

 

– 인프라팀의 개발 문화 : 자발적인 참여와 자기 주도성

“불편하면 개선한다!“

업무상 필요한 툴이 있다면 스스로 간단하게 만들어서 사용해보고 개선해서 공유하는 일들을 권장하고 있습니다. 개발을 위한 주제는 주어지기보다 스스로 찾아가는 형태가 많은데요, 업무환경 개선(자동화)과 보다 나은 인프라 제공이라는 목적 아래 주제는 자유롭습니다.

관심 있는 기술이 있다면 이를 먼저 선도하거나 같이 개발하여 하나의 서비스로 작업하여 발전시키기도 하며 필요한 곳이 많다면 전사를 대상으로 서비스로 제공하기도 합니다.

 

– 인프라팀의 목표

인프라팀은 다음과 같은 목표를 가지고 있습니다. 

 

자동화 [API]

누구나 배포 가능한 인프라 운영 환경을 구축합니다. 인프라 서비스 API 제공 및 CI/CD 연계하고, 자동화 기술이 적용 가능한 인프라로 전환하여 업무의 표준화를 제공합니다.

Self 서비스 [ Flavor / Template]

인프라 리소스(CPU, Memory, Storage) 및 서비스 형태를 정량화합니다. 협의/논의를 통해서 결정되었던 부분들을 정량화하여 제공하고, 인프라 운영 경험을 토대로 서비스 특성에 맞는 템플릿을 제공하여 개발자들이 서비스 최적화에 더 많은 시간을 투자하도록 지원합니다. 

Managed [SRE]

운영 리소스를 절감하고 기술 투자/개발에 집중합니다. 서비스 운영 경험을 기반으로 최적화된 Architecture 가이드를 제공하고, 서비스 안정성을 위한 모니터링 및 장애 예측 시스템을 강화하며, 기반 기술에 대한 연구와 이를 바탕으로 한 인프라 서비스 품질을 개선합니다. 또한 새로운 기술 및 환경을 발굴하고 인프라를 서비스화합니다. 

 

인프라 플랫폼의 핫한 이슈

업계 전체적으로는 AWS/Azure/GCP 등 클라우드 플랫폼 사용이 늘어나고 있고, K8S 등 컨테이너/클라우드 플랫폼의 폭넓은 사용에 따른 인프라구조 변화가 요구되고 있는 것 같습니다.

인프라팀에서는 이러한 변화에 발맞추어 자체 인프라의 “자동화[API]”, “Self 서비스 [ Flavor / Template]스, “Managed [SRE]” 라는 목표를 수립하고 있습니다. 클라우드 플랫폼들을 효과적으로 활용할 수 있는 환경과 구조를 만들고, 더 나아가서 비용에 최적화 되고 안정적인 관리 서비스까지 제공하는 개념입니다.

많은 서비스들이 컨테이너(kubernetes)기반으로 전환 중에 있으며 이에 대해서 어떻게 잘 지원하고 대응할지에 대한 고민이 있습니다. 물리서버도 가상머신처럼 쉽게 제공 받을 방안에 대해서 준비 중이며 기존에 제공하던 오픈소스 서비스들을 SaaS 형태로 제공하는 준비를 진행 중에 있습니다.

기존에 요청 받아서 지원하던 업무에 대한 자동화 방안도 많이 고민하고 있습니다. 

 

국내 최대 인프라 규모를 자랑하며 
최고의 인프라 엔지니어가 함께 하고 있습니다.

 

카카오 인프라 개발자의 가장 큰 매력

각종 시스템 메트릭, 트래픽 지표 등 수많은 데이터가 있어서 각종 데이터를 분석하고 문제를 발견/해결하는 일에 흥미가 있다면 최적의 환경이라고 생각합니다. 기존 또는 상용의 애플리케이션으로는 해결되기 어려운 부분이 많기 때문에 기능별로 특화된 툴을 만들고 동료와 같이 사용하면서 점차 개선해 갈 수 있는 기회가 많습니다.

또한 최대규모의 인프라인 만큼 다수의 장비를 관리하기 위한 각종 자체개발 System 들도 요구되고 있어서 관련 경험도 쌓을 수 있습니다.

더불어, 개발에 있어서 Full Stack 개발자를 꿈꾸는 분들이 많은 것 처럼 시스템엔지니어는 기본적으로 알아야 할 기술 스택이 광범위합니다(OS, H/W, Application, Network). 그렇기 때문에 IT 전체적인 흐름의 변화를 이해하는데 유리한 부분이 있습니다. 또한, 기술적인 측면 뿐만 아니라 카카오에서 제공하는 서비스별로 지원하여 서비스의 시스템적인 구조를 알 수 있기 때문에 다양한 경험을 쌓을 수 있습니다.

 

인프라팀 개발자에게 필요한 자세와 스킬

인프라 환경과 개발환경 사이에서 Gateway 역할도 많이 하기 때문에 커뮤니케이션이 원할 할 수 있도록 다양한 기술 지식을 보유해야 합니다. 그렇기 때문에 급변하는 IT 환경에서 새로운 기술이 나오면 이에 대해 이야기 할 수 있는 최소한의 학습이 필요하며, 새로운 것을 알아가는데 있어서 거부감이 없어야 합니다. 호기심이 많고 배우고자 하는 성향이 강할수록 좋으며,  최소한 OS, Network, Server H/W에 대한 부분을 교양처럼 숙지하고 있어야 합니다.

 

카카오 인프라팀 개발자로서 경험할 수 있는 것들 

본인의 노력여하에 따라 접할 수 있는 기술요소가 많기 때문에 취향에 맞는 기술을 찾고 이를 전문화 할 수 있는데 유리한 조건을 가지고 있습니다.

무엇보다 각 세부적인 분야의 전문가들이 많기 때문에 물어 볼 수 있는 사람이 많습니다. 요즘같은 인터넷 시대에 검색으로도 지식 습득이 가능하지만 현업의 노하우를 직접 물어보고 배울 수 있는 점은 성장에 있어서 가장 좋은 환경이라고 생각합니다.

 

인프라팀의 현재 그리고 앞으로의 계획

 

카카오의 모든 서비스의 트래픽 규모는 예측이 어려울 정도로 고성장하고 있습니다.
문제가 없도록 적시에 증설을 하고 장애를 해결하며,  커진 덩치에 맞도록 구조와 비용을 최적화 설계하는 일을 항시 수행하고 있습니다. 또한 적은 인원으로 큰 인프라를 운영해야 하기 때문에 장비 대량설치와 운영자동화 업무쪽으로 많은 노력을 하는 편입니다.

최근에는 국내 최대 규모의 자체 DC를 만드는 일이 확정되어 관련 설계를 진행하고 있습니다.

 

인프라팀 크루들의 한마디 

 

eddie

이제 신입으로서 직군 선택에 고민이 많으신 분들 중 인프라팀의 기술 스택에 관심이 있거나 OS, 시스템  등에 관심이 있으시다면 시스템 엔지니어가 되는 것을 고민해 봄직하다고 생각합니다. 배우고 익혀야 할 기술 스택이 많기는 하지만 입사한 지 얼마 되지 않은 제가 보기에 OS, Network와 같은 지식은 IT 직군에서 언제나 활용할 수 있는 밑바탕 지식이 되어줄 것이고, 새로운 기술과 Application은 스스로 공부하고 성장할 수 있게 하는 원동력이 되지 않을까 생각합니다.

doz

저희 파트는 카카오라는 이름으로 제공되는 다양한 서비스들의 근간인 인프라를 다루는 파트입니다. 대규모 서비스가 안정적으로 운영될 수 있도록 여러 인프라 서비스를 제공하며, 운영 환경을 개선 시키기 위하여 끊임없이 고민하고 도전합니다.

이러한 과정에서 각양각색의 뛰어난 크루들과 함께 협업할 수 있고, 머리를 맞대고 토론하고 회의하는 순간 하나하나가 큰 동기부여가 되고 배움이 됩니다. 저 역시 입사했을 당시부터 지금까지 하루도 빠짐없이 배우고 성장하는 것 같습니다. 시스템 엔지니어링 파트는 배움에 게을리하지 않고, 도전적이고, geek 한 생각을 펼치고 싶은 분들에게는 최고의 일터이자 놀이터가 아닐까 싶습니다.

milo

인프라 엔지니어 혹은 개발자로서 가장 값진 경험들을 할 수 있는 곳이라고 생각합니다. 자기 주도적인 모습이 중요하기 때문에, 본인의 어떤 아이디어만 있다면 그것을 실현하기에 최적의 조직이라고 생각합니다.

 


 

인프라 서비스 플랫폼 개발자 모집 바로가기

카카오톡 공유 보내기 버튼

Latest Posts

제5회 Kakao Tech Meet에 초대합니다!

Kakao Tech Meet #5 트렌드와 경험 및 노하우를 자주, 지속적으로 공유하며 개발자 여러분과 함께 성장을 도모하고 긴밀한 네트워크를 형성하고자 합니다.  다섯 번째

테크밋 다시 달릴 준비!

(TMI: 이 글의 썸네일 이미지는 ChatGPT와 DALL・E로 제작했습니다. 🙂) 안녕하세요, Kakao Tech Meet(이하 테크밋)을 함께 만들어가는 슈크림입니다. 작년 5월에 테크밋을 처음 시작하고,