brunch

You can make anything
by writing

C.S.Lewis

by 박정호 Sep 13. 2020

RI 적용하고 비용 절감했다고 생각하지 맙시다 !!!

RI 는 비용 절감 방법의 하나일 뿐 !!!

https://brunch.co.kr/magazine/cloud-finops




RI로 할인 받을 수 있는 최대치를 할인 받아도 그냥 사서 쓰는 것 보다 더 비쌉니다.

오늘의 전제 이 문장이고, 관련하여 여러 이야기들을 적어 보려고 합니다.


사실 제가 RI (Reserved Instance)라는 방식을 처음 들었을 때, "이건 뭐지? RI는 클라우드와 성격이 안 맞는 거 아닌가? 이런 계약 옵션을 준다는 것은 그냥 On-premise로 서버를 사서 쓰는 것이 훨씬 싸다는 것을 AWS 스스로 인정해 버리는 거잖아"라는 생각을 했었습니다. ㅎㅎㅎㅎ


실제로 HPE의 기술 백서 중에 AWS와 HPE의 On-premise 가격 비교를 한 자료도 있습니다.


제가 정확한 사양 확인을 해 보지는 않았지만, HPE의 공식 백서니까, 동급의 사양을 가지고 비교했다고 생각해도 될 것 같습니다. 비교해 놓은 내용을 보면  AWS의 m5.24 xlarge를 구매하는 것이 HPE의 On-Premise 서버를 구매하는 것보다 약 1.7~3.4배 까지 더 높다는 것을 알 수 있습니다. ^^;;

더 자세한 비교 내용이 궁금하신 분은 해당 백서 ( https://assets.ext.hpe.com/is/content/hpedam/a00043038kop )를 참조하시기 바랍니다.


그럼에도 불구하고 왜 클라우드를 사용하는가에 대한 이유와 설명에 대한 일반적인 자료와 기사가 인터넷에 넘쳐 나고 있고, 필요하면 따로 적어 놓는 것이 좋을 것 같아서 이 글에서는 언급하지 않으려고 합니다.

클라우드를 도입할 때 좀 더 기업의 상황과 전략에 맞는 타당성이나 도입/확산 전략 등을 검토하고자 하면  AWS, GCP, Azure 같은 CSP (Cloud Service Provider)나 제가 근무하고 있는 베스핀글로벌 같은 CSP 파트너 회사에 연락하시면 아주 친절한 설명과 기술적인 검토를 제공하기도 하고요. ㅎㅎㅎ


아, 비용에 관계가 깊은 2가지만 언급하고 가겠습니다. HPE 비교자료가 2017년 기준의 가격인데, 클라우드는 그때에 비해 시간당 사용료가 여러 차례 내려갔을 것이고, 동일 가격으로 좋은 사양으로 Modernize 할 수 있는 상품이 많아졌을 거라는 것이지요. 뭐 그렇다고 해도 그냥 내 소유로 사서 쓰는 것 보다 더 비싸다는 사실은 변하지 않는 것 같습니다.

하지만 클라우드를 쓰면서 사양 변경과 모더나이즈는 매우 빈번하게 일어나기 때문에 3년 전에 사용하던 타입을 그대로 사용하고 있을 가능성이 거의 없다고 생각합니다. 저희 개발팀도 3~4년 전에 사용하던 대부분의 VM들이 처리해야 할 역할이 많아져서 스케일 업을 했거나 최신 사양으로 모더나이즈를 했지요.

아무튼 아래와 같이 지속적으로 가격이 내려갔다는 뉴스가 나오곤 합니다.


너무 장황해졌습니다.

사실 제가 오늘 이야기하고 싶은 것은 RI 적용했다는 것이 비용절감을 했다는 것이 아니라 이제 비용 절감을 시작하고 있다는 것일 뿐이라는 것 입니다. 첫 번째 이유는 바로 HPE의 자료에서 보여주는 것과 같이 3년 약정으로 RI를 걸어도 On-premise 장비를 사는 것보다 1.5배 이상 비싸기 때문이고, 두 번째 이유는 RI 잘못 걸면 1년이나 3년의 약정기간 동안 타입 변경으로 못하고 그 장비를 그대로 사용해야 하기 때문입니다.

그런데, 클라우드 사용자에게 비용 관리에 대한 말씀을 드리면, 간혹 어떤 분께서는 "우린 RI를 90% 이상 걸고 있기 때문에 신경 안 쓰셔도 돼요."라고 말씀하시는 분들이 계십니다. 물론 RI만 활용하는 것이 아니라 다른 효율화 작업들을 많이 하고 계시는데, 대표적으로 RI를 이야기하신 것이겠죠?


강조 차원에서 다시 한번 말씀드리지만, RI 3년 약정 걸고 사양 변경없이 그대로 3년 동안 사용하신 것은 비용을 절감한 것이 아닙니다. 그렇게 사용하실 거면 동일한 사양의 서버를 직접 사서 IDC나 사무실 한편 서버실에 놓고 사용하는 것이 훨씬 좋은 방법이 될 수도 있습니다. RI는 On-premise 비용보다 3배 이상 비싸게 비용을 지불할 수도 있었던 것을 1.5배 정도 더 지불하는 것을 줄였다는 것 외 에 아무런 효과가 없습니다.


위에서 언급한 것과 같이 1.5~3배의 비용 증가를 상쇄하고 그 이상의 효과를 주는 클라우드의 이점을 섦명하는 는 글은 아니니까, 다시 포커스를 클라우드 비용관리 FinOps를 외치는 입장에서 RI를 구매하기 전에 검토해야 할 몇 가지를 적는 것으로 집중해 보겠습니다.


1. 일단 리소스 최적화부터 진행해야 합니다.


    관리의 사각지대로 들어가서 사용되지 않으면서 비용이 발생하는 자원이 상당수 존재합니다. 관리의 사각지대라고 표현한 이유는 이러한 자원들의 대부분은 삭제를 해도 될지, 유지해야 할지 그 누구도 확실하게 단정 내리지 못하는 경우가 많고, 작은 비용의 자원들이 모여 상당한 비용을 지출하고 있는 특성이 있기 때문입니다. 저는 이러한 경우 단호한 삭제를 선택하는 편 입니다. 그리고 RI 적용할 상품에 대한 약정 기간 동안 scale up/down에 대한 예상을 해 보아야 합니다. 각 VM의 역할을 작게 나누어 사용량이 가장 많은 t 시리즈, m 시리즈로 사이징을 하는 것도 좋은 방법입니다. 한 대의 대용량 서버에 RI 를 약정하는 것 보다 작은 사이즈의 여러 대로 나누어 RI 를 적용하면 나중에 어플리케이션에 변동이 생기더라도 다른 역할로 손쉽게 대처할 수 있고, 기본적으로 사용량이 많은 작은 사이즈의 장비는 RI marketplace 에 판매하기도 용이합니다.

      

    아래 이미지는 Cloud Management Tool OpsNow 에서 캡처한 것 입니다.  

첫번째 이미지는 90% 이상의 EC2 RI 커버리지를 가지고 있는 기업의 비용 발생 차트입니다. 5월에 비용이 압도적으로 높은 이유는 Upfront 방식으로 RI 계약을 체결했기 때문입니다. RI 계약은 All Upfront(선금), Partial Upfront, No Upfront 모두 가능하며, 선금이 많을수록 할인율이 커집니다. 이 기업의 경우 선금을 많이 지급하고, 그 이후로는 월 발생비용을 최소화하는 운영 전략을 가져가고 있습니다. 이 기업의 현재 월 발생 비용은 USD 5,000 을 약간 넘어가는 정도입니다.    


   같은 기업의 리소스 최적화 화면입니다. 전체 98 개의 EBS 중, 20% 정도에 해당하는 21개의 EBS가 미사용 상태로 판정되고 있습니다. 만약 보관할 데이터가 있어서 삭제를 하지 않고 유지하는 것이라면 Glacier 로 이동하시는 것이 좋겠다고 추천 드립니다. EBS는 우리가 일반적으로 사용하는 PC 나 노트북의 하드디스크에 해당하는 저장장치입니다. HDD, SDD 같은 타입을 제공하고 하나의 EC1 인스턴스에 종속성을 가집니다. 즉, 특정 EC2 인스턴스를 통해서만 접근이 가능하기 때문에 EC2 에서 detached 상태를 미사용 상태로 판단합니다. EBS 는 S3 에 비하여 가격이 2배~4배 이상 비싸게 책정이 되어 있습니다. 물론 EC2에서 읽고 쓰는 속도는 당연히 비용에 비례하여 빠르게 동작합니다. Glacier 는 S3 보다 비용이 1/5 정도 저렴하고, S3는 EBS 보다 1/2 ~ 1/4 정도 저렴하게 때문에, EBS에서 Glacier로 저장 공간을 이동하면 약 1/10 ~ 1/20의 비용 절감 효과가 나타납니다.


   혹시, 이 글을 읽는 분들 중에 우리는 관리를 잘 하기 때문에 미사용자원이 없다고 생각하시는 분이 계실 수 있습니다. 하지만 저는 그렇지 않을 것이라고 확실하게 말씀드릴 수 있습니다. ^^;;  OpsNow에 연락주시면 분명하게 보여드리겠습니다. 굳이 비유를 하자면, 미사용 자원은 우리가 계속해서 식단과 운동을 관리하지 않으면 우리 몸 속에 바로 쌓이기 시작하는 콜레스테롤과 같은 존재입니다. ^^;;  인프라 담당자에게 역할을 분명하게 부여하고, KPI를 설정하는 등의 방법으로 지속적으로 찾아서 삭제하게 하던지, OpsNow 와 같은 자동화된 툴을 사용하던지 둘 중 한 방법을 선택하시는 것이 옳바른 방법입니다.    


Right Sizing 부분을 잘 봐 주시면, 71개의 EC2 중 30개가 Downsize 추천이 되고 있으며, 그 비용이 USD 850 정도입니다. 월 발생 비용이 USD 5,000 정도이기 때문에 거의 20%에 가까운 금액입니다. 물론 이 기업의 경우 RI Upfront 가 있기 때문에 월별 발생 비용에서 RI Upfront 비용을 제외하는 등의  제대로 계산을 하려면 좀 더 복잡하기는 하지만 중요한 점은 상당량의 EC2 가 Downsize 대상으로 추천이 되고 있으나, RI 계약이 되어 있기 때문에 Downsize 를 실행하기는 쉽지 않을 것 같습니다. 위에서 서버의 역할을 작게 나누고, 사용량이 많고 범용적인 t 시리즈, m 시리즈로 분산시켜 두었으면, downsize 를 진행하고 남게 되는 상위 사양의 RI 를 마켓플레이스에서 처리할 수 있을 가능성이 커집니다

2. EC2, ECS, Fargate 같은 Computing 계열은 RI 보다는 SP 계약을 검토합니다.

    이 내용은 AWS 공식문서에서도 언급되는 것이니 너무나도 당연한 내용입니다.

    SP는 RI에 비해서 하나의 약정에서 적용받는 범위가 넓고, 계약기간 중에 타입, 리전, 사양 등을 젼환도 가능합니다. EC2 SP와 Computing SP 두가지 종류가 있고, 보다 범위가 한정적인 EC2 SP 의 경우 On-demand 대비 할인율이 최대 72%까지 가능하기 때문에 RI 계약보다는 SP 계약이 유리하게 됩니다.


3. SP가 적용되지 않는 상품(특히 RDS와 같은 데이터베이스 상품 들)에 대한 최적화 진행합니다.

     만약에 사용하지 않는 RDS 가 있다면 당연히 삭제해야겠고, CPU 나 트랜잭션 처리 등을 모니터하면서 RDS 를 하나로 병합하거나 혹은 반대로 분리하는 작업들을 진행해야 합니다. 실제로 본격적인 운영 이전 단계에서는 정확한 사이징이나 bottleneck 에 대한 예상이 잘 되지 않기 때문에 기존 인프라에 영향을 주지 않도록 분리하여 인프라를 구성하는 경우가 많이 있습니다. 최적화 단계에서 이런 리소스 들에 대하여 정리를 해 놓고, 비즈니스 성장 속도와 연계해서 RI 구매를 진행해야 합니다.

    RDS 와 같은 데이터베이스는 서비스 규모가 올라가게되면 1대의 머신에 월 1천만원이 훌쩍 넘어가 버리기 때문에 50%만 절감해도 큰 절감효과를 볼 수 있습니다. 당부드리는데, 순서는 정리하고 최적화 작업을 먼저 진행하고, 그 후에 비즈니스 성장 속도와 연계해서 사이징을 한 후에 최적의 RI 약정 기간과 사양을 결정하는 것이 좋습니다. 참고로, RDS RI 같은 경우는 EC2 t  타입이나 m 타입처럼 RI 마켓플레이스에서 거래가 활발한 상품이 아닙니다. ^^;;


4. EDP(Enterprise Discount Program)의 적용을 검토해 봅니다.

    일년에 5억원 이상의 비용이 발생하는 기업의 경우에는 전체 비용의 commitment 를 기반으로 할인을 받는 EDP 계약을 검토해 볼 필요도 있습니다. EDP 계약을 진행할 때, EC2, S3, CF 등의 특정 자원에 대하여 추가 Discount 도 같이 협상할 수 있습니다.


오늘은 약간 어그로 멘트 "RI 적용하고 비용 절감했다고 생각하지 맙시다 !!! "라는 부제로 이야기를 해 보았습니다. 결국은 클라우드 비용 관리를 한다는 것이 몇가지 방안을 실행하는 것으로 가능한 것이 아니고, 지속적이고 체계적인 관리가 필요하다는 말씀을 드리게 됩니다.

클라우드 관리를 위한 전체적인 내용은 "클라우드 운영을 위한  FinOps 핵심 3요소 (https://brunch.co.kr/@cebi750/2)"를 읽어 봐 주시기 바랍니다.

   


"Cloud 관리를 위한 FinOps" - 전체 내용 보기 (https://brunch.co.kr/@cebi750/17)


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari