FinOps

FinOps 소개 - 클라우드 핀옵스(책) 기반 스터디 참여

Jerry_이정훈 2023. 10. 8. 17:44
728x90

한빛미디어에서 출간한 클라우드 핀옵스 기반으로 스터디에 참여하고 있다. 해당 내용 기반으로 FinOps를 소개합니다.  

 

https://product.kyobobook.co.kr/detail/S000001810327 

 

먼저, 스터디를 주관해주신 https://www.costclipper.io/ CEO Eric Kim에 깊은 감사의 말씀을 전합니다. 

 

FinOps란?

DevOps를 아마도 들어보았을 것이다. DevOps란 개발자(Dev)와 운영자(Ops)가 서로 Silo(부서 이기주의 정도)로 일하지 않고 회사의 성장이라는 공통의 목표로 협력해서 일하는 방식이다. 

 

FinOps도 동일하다. 재무팀(Fin)과 운영팀이 서로 협력하는 것을 중시한다. 2016년 경 AWS 행사에서 처음 사용한 용어라고 합니다. 한국에서는 아직 낯선 용어이지만 미국에서는 어느 정도 보편화되어 FinOps 전담 팀을 두는 회사도 많이 생기는 추세라고 합니다.

 

FinOps는 클라우드 비용 관리 및 최적화에 중점을 둔 개념으로 클라우드 환경에서의 비용 효율성과 비용 투명성을 달성하기 위한 접근 방식입니다. DevOps와 마찬가지로 재무, 운영팀이 서로 협력하기 위한 일련의 문화, Process 등 기술을 포함하여 좀 더 폭넓은 개념입니다. 개발, 운영팀은 그나마 엔지니어라는 공통점이 있는데 재무와 운영은 서로 백그라운드가 다르니 좀 더 제너럴한 내용이 많이 포함됩니다.

 

꼭 알아야 할 것이 FinOps는 단순히 비용을 줄이기 위한 노력이 아니라 비즈니스의 성장을 위하여 비용을 효과적으로 관리하는 과정입니다. 단순히 속도와 비용은 서로 상반되는 가치라 비용을 줄이면 속도가 꼭 느려진다고 생각할 필요가 없습니다. 개인적으로 속도, 안정성에 영향을 안 끼치면서도 비용을 효과적으로 관리할 수 있는 여러 방안이 있다고 생각합니다. 사용하지 않는 리소스를 삭제하고 Over가 아닌 Right Sizing을 하는 행위는 속도, 안정성에 영향없이 달성할 수 있습니다. 

 

DevSecOps, MLOps 등 너무 많은 용어가 범람하지만 FinOps는 금방 사라지는 한때의 유행은 아닐 것 같습니다. 

 

왜(Why) 생겼을까?

클라우드 이전의 On-Premise 데이터 센터 환경은 새로운 서버, 스토리지 등을 구매하기 위해서 재무팀의 승인을 받아야 했습니다. 모든 회사가 비슷할 것 같은데 이 승인 받기가 매우 어려웠습니다. 예상 Max 사용량에 근거해서 신중하게 Sizing 하고 여러 솔루션 중 최적의 솔루션을 선택해서 복수 견적을 받는 등 길고 어려운 과정을 거쳐야 합니다. 시간이 너무 많이 걸리고 복잡하기에 일부 R&D 팀은 흔히 정보 전략 승인을 안 받기 위하여 자체 예산을 사용하는 등 우회하는 경우도 많이 보았습니다.

 

하지만 클라우드를 사용하면서 IT가 이제 기존의 투자 방식이 아니라(CapEx)가 이제 매월 사용하는 만큼 부과되는 비용(OpEx)으로 변경되었습니다. 재무팀에서는 어느날 갑자기 비용 폭탄을 맞게 되는 난감한 상황이 발생하였죠. 계획을 중시하는 부서라 예산을 책정해야 하는데 예산 잡기가 어렵게 되었습니다.

 

그래서 재무팀에서는 ‘회사가 어려우니 10% 이상 비용을 줄여라'라 그러고 

기술팀은 ‘비용 줄였다가 장애, 보안 사고나면 당신이 책임질거냐'라면서 서로 비난을 많이 합니다.

새로운 협력 모델이 필요하여 FinOps가 발전하게 됩니다.

 

또한 투자 호황이었던 코로나 시기를 거치고 환율이 급증하면서 클라우드 비용이 가만히 앉아서 20% 이상 오르면서 더욱 FinOps에 관심이 높아졌습니다. 머, 비용을 통제하는 것은 외부 환경 변화에 관련없이 회사라면 반드시 해야 할 필수 과제라 생각하는 편이기는 합니다.

 

주요 방안(How)

좀 더 효과적으로 클라우드 비용을 관리하기 위하여 기업에서 FinOps 담당자를 지정하는 경우도 있습니다. FinOps 담당자는 거의 엔지니어 출신인데, 재무팀이 바라보기에는 엔지니어이고 운영팀이 바라보기에는 재무팀 역활을 한다고 생각할 수 있습니다. 중간에서 원활한 커뮤니케이션이 가능하도록 여러 일을 하는 사람 정도라 여길 수 있네요.

 

반복하지만 클라우드 비용을 단순히 비용으로 여기지 않는게 중요합니다. 회사의 성장에 클라우드 비용이 중요한 역할을 한다라고 생각하는게 필요합니다. Unit Economy(단위 경제 정도)를 측정하는데 Unit Economy는 단순히 설명하면 클라우드 비용 1억이 회사의 주요 지표(MAU, 매출, 이익율 등)에 얼마나 영향을 끼치는지 정량적으로 측정하는 방안입니다.

 

FinOps 6가지 주요 원칙(Principles)
FinOps도 중요한 웹사이트가 있습니다. finops.org에 접속하면 많은 정보를 참조 할 수 있습니다. FinOps의 6가지 주요 원칙은 아래에서 찾을 수 있습니다. 

https://www.finops.org/framework/principles/ 

 

 

  1. 팀은 상호 협력해야 한다.
    DevOps와 마찬가지로 FinOps도 문화적인 측면을 고려한다. 공통의 언어를 사용하고 정기 미팅 등을 통한 상호 이해의 폭을 넓힌다. 감정적인 대응이 되지 않도록 데이터 중심으로 의사 결정하고 주요 지표 등을 선정한다. C-Level 차원에서 서로 협력을 위한 지원도 필수다.

    엔지니어 팀은 비용도 새로운 효율성 지표로 생각하여 적극적으로 고려하고 재무팀은 IT, 클라우드에 대한 이해, 지식을 넓힌다.


  2. 클라우드의 비즈니스 가치에 따른 의사 결정
    클라우드의 주요 가치는 비용 절약이 아닌 혁신, 속도이다.

    클라우드 사용 시 비용, 품질 및 속도 간의 조화된 트레이드오프로 결정을 수립한다. 어느 하나만 추구하는 것이 아니라, 비용, 품질 및 속도 사이에서 현명한 균형을 유지한다. 매출을 100% 증가하는 것이 비용을 10% 줄이는 것보다 중요한 경우도 많이 있다. 물론 거듭 말하지만 속도와 비용을 서로 대립이 아니라 같이 갈 수 있는 방안이 많이 있다.


  3. 모든 사용자는 클라우드 사용에 대한 책임을 집니다
    클라우드 사용에 대한 책임은 엔지니어들이 아키텍처 설계부터 지속적인 운영까지 전체 단계에서 비용의 책임을 집니다. 각 개별 피처 및 제품 팀은 자체 예산 대비 클라우드 사용을 관리하는 권한을 부여받습니다. 기술 팀은 소프트웨어 개발 라이프사이클의 초기부터 비용을 고려합니다. 비용을 효율성의 새로운 지표로 고려하고, 비용 최적화를 위한 노력을 기술적 결정의 일부로 포함시킵니다.

    비용 효과적인 아키텍처, 리소스 사용 및 최적화에 관한 결정은 중앙 집중화되지 않고 분산화됩니다. 각 팀은 자체 요구 사항과 예산 내에서 가장 비용 효과적인 결정을 내릴 수 있습니다.

  4. FinOps 데이터는 접근 가능하고 즉시 활용 가능해야 합니다
    비용 데이터는 가능한 빨리 처리하고 이를 팀과 조직과 공유해야 합니다. 데이터를 신속하게 처리하면 실시간으로 클라우드 리소스 사용 및 비용 흐름을 파악할 수 있습니다.

    월말 데이터가 아닌 실시간 데이터가 모든 팀원에게 공유되어야 합니다. 슬랙 등으로 매일 비용 현황을 공유하는 것도 좋은 방안입니다. 실시간 데이터를 기반으로 엔지니어 팀은 빠르게 개선할 수 있고 재무팀은 예산 및 계획 세우기가 용이합니다.

    또한 내, 외부 벤치 마킹으로 업계 Best Practice을 적극적으로 도입합니다.

    FinOps는 비용 투명성과 효율성을 향상시키기 위한 중요한 접근 방식입니다. 데이터의 신속한 처리와 가시성을 통해 비용을 최적화하고 예산을 효과적으로 관리할 수 있으며, 벤치마킹과 분석을 통해 비즈니스의 성과를 개선할 수 있습니다.

  5. 중앙 집중화된 팀이 FinOps를 주도합니다
    한국에서는 아직 FinOps 담당자도 드물어(마켓컬리에서 FinOps 담당자를 채용한다고 합니다.) FinOps 팀은 없는 것이 현실입니다. 하지만 비슷한 프로세스를 수행하는 곳이 많이 있습니다. 

    중앙 집중화된 팀은 FinOps의 실행을 주도하고 모든 조직 구성원이 클라우드 비용에 대한 책임을 공유하는 모델을 지원합니다. 경영진의 지원과 중앙 집중화된 리소스 관리를 통해 RI, Savings Plan 등 비용 효율성을 극대화하고 비즈니스의 성과를 향상시킬 수 있습니다.

    하지만 실제 구체적인 실행은 각 팀, 담당자마다 모두 해결 방안이 다르므로 개별 엔지니어가 중앙화된 팀과 협의하에 실행합니다. 애플리케이션 성격에 따라 Spot, T or C/R/M 인스턴스 Type 결정 등 다양한 해결 방안이 있습니다.

  6. 클라우드의 가변 비용 모델 활용
    예산에 따라 클라우드를 정적으로 활용하지 않고 실제 사용량 기반으로 애자일한 반복 계획이 정적인 장기 계획보다 낫습니다. 빠르게 변화하는 비즈니스 환경에 더 적응하고 유연성을 제공합니다.

    적극적인 시스템 디자인을 채택하고 클라우드 최적화를 지속적으로 조정하는 것이 더 효과적입니다.

앞으로 5주간 진행하는데 FinOps 관련 내용을 업데이트 하겠습니다. 기술적인 내용보다는 문화, 프로세스 등 일반적인 내용이 많을 것 같습니다. 

FinOps도 자격증이 있는데 자격증 준비하는 사람에게도 도움이 될 것 같습니다.

 

반응형