쿠버네티스가 SW엔지니어링과 비즈니스IT판을 뒤흔드는 이유

학습 차원에서 틈틈히 해외 전문가들이 블로그나 미디어 그리고 책에서 쓴 글을 정리하고 있습니다. 이번 포스팅도 그중 하나고요. 거칠고 오역된 부분이 있을 수 있습니다. 제대로 번역되지 않은 부분은 확인주시면 반영토록 하겠습니다. 이번글은 베터 프로그래밍에 랜스 응이 쿠버네티스에 대해 설명한 글을 정리한 것입니다.

당신이 IT쪽에 있지 않다면 쿠버네티스에 대해 들어보지 못했을 수 있다. 그러나 쿠버네티스는 테크 세계에선 신속하고 빠르게 적용되고 있다.

VM웨어는 쿠버네티스에 대해 '새로운 자바'라고 했다. 자바는 1996년 발명된 후, 요즘 모든 것에 대해서 사용되고 있다. 이는 그들이 쿠버네티스가 얼마나 거대하고 보편적인 기술이 될 것으로 생각하는지 보여준다.

일반 대중의 과열을 끌어들였지만 암호화폐 말고는 유스 케이스가 거의 없는 블록체인과 달리 쿠버네티스는 이미 광범위하게 사용되고 있고 매우 안정적이다.

쿠버네티스란 무엇인가?

쿠버네티스는 단일한 컴퓨팅 소프트웨어 조각이나 코딩 언어가 아니다. 오히려 쿠버네티스는 특정 서버 아키텍터를 염두에 둔 시스템, 이같은 목적을 위해 개발된 광범위한 소프트웨어 집합으로 적절하게 묘사될 수 잇다.

이번 글에선 쿠버네티스를 데이터센터에서 클러스터화된 서버를 위한 새로운 워크로드 배포 및 조율 메커니즘으로 묘사한다.

핵심은 오케스트레이션이다

오케스트라 지휘자 비유는 종종 쿠버네티스를 묘사하기 우해 사용된다. 제한된 의미로, 이것은, 적합하다. 쿠버네티스는 한 서버에 있으면서 컴퓨텅 애플리케이션을 구성하는 모든 다양한 수단과 섹션을 조율하고 조정한다.

이것은, 복수의 사용자들에 제때 효과적인 방식으로 대응할 수 있다. 한 애플리케이션에서 다양한 파트들을 위한 수요가 변동할 때도 말이다.

그러나 우리는 어떻게 쿠버네티스가 서버 아키텍처를 크게 향상시키고, 회사에서 당신이 받아보는 이메일이든, 당신이 인터넷이나 스마트폰으로 스트리밍해보는 음악이나 비디오든 요즘 우리가 사용하는 모든 네트워크 기반 컴퓨터 애플리션을 지원하는지 설명하려면 오케스트라 지휘자 유추를 보다 확장할 필요가 있다. 

슈퍼 코디네이터

전통적인 중앙 서버 아키텍처는 대규모 심포니 홀에서, 콘서트를 구축하는 여는 것과 같다. 하지만 오케스트라 연주를 듣기 위해 곳곳에서 온 사람들에게 콘서트홀의 공간은 제한적이다. 연주회는 사람으로 가득 채워질 수도, 그렇지 않을 수도 있다. 그러나 쇼는 계속되어야 한다.  그리고 지휘자는청중들이 듣는 곡을 연주하는 뮤지션들을 가이드한다.

그러나 여기에는 잠재적인 공간의 낭비가 있다. 공간의 한계 또한 있다.

보다 효과적이고, 유연한 서버 용량 사용을 위해 가상 머신(VM)의 개념이 나왔다. 가상 머신에서 각각의 서비는 소프트웨어에 의해 인공적으로 분리될 수 있다. 이를 통해 서버는 단지 하나가 아니라 여러대가 될 수 있다.

콘서트 홀 소유자가 공간을 몇몇 오케스트라가 동시에 연주할 수 있도록 작은 홀들로 파티션(partition: 분리)한다고 생각해보자. 이에 따라 콘서트홀 공간은 보다 효율적으로 사용될 수 있다.

그러나 그때 또 다른 문제가 발생한다. 여러개의 콘서트를 동시에 같은 공간에서 진행하기 위해서 당신은 각각 별도의 지휘자를 갖는 몇개의 오케스트라를 보유할 필요가 있을 수 있다. 이것은 매우 효율적이지 않다.

이때 한 가상현실 천재가 콘서트홀 소유자에게 이렇게 말한다. "모든 연주를 녹화하는게 어떠냐? 나는 당신을 위해 홀로그램 프로젝터 네트워크를 개발할 것이다. 청중들이 그것을 듣고 싶어할때는 언제나 당신은 필요로 한곳 어디서든 연주를 적합한 크기와 위츠의 콘서트 공간내에서 프로젝트할 수 있다.

이제 이 가상현실 기술은 매우 좋다고 생각해보자. 고글이나 헤드 스피닝 장비를 쓸 필요 없이 청중들에게 연주는 실제와 비슷하게 보이고 느껴진다.

이것이 쿠버네티스가 하는 것이다. 쿠버네티스는 애플리케이션 이미지를 돌리고 그것을, 사용자에게 온디맨드로 전달한다. 업무에 이용할 수 있고 적합한 어떤 서버 공간이라도 사용해서 말이다.

애플리케이션 연주(performance)가 끝날 때 쿠버네티스는 종료되고 애플리케이션은 임시 공간에서 철수하고 다른 사용을 위해 놓아준다. 연주가 약간 방해를 받거나 중단된다면, 쿠버네티스는 같은 연주를 같은 청중들에게 계속 전달하기 위해서 또 다른 것을 바로 무대위에 올릴 수 있다.

현실에서 쿠버네티스는 단지 오케스트 지휘자만은 아니다. 이것은 자동화된 슈퍼 코디네이터다. 다양한 심포니를 연주하는 여러 오케스트라의 공연이 모두 동시에 일어난다.

역사와 임팩트

쿠버네티스는, 3명의 구글 엔지니어들이 만드리고 결정한 2013년까지 거슬러 올라가는 프로젝트다. 그들의 목표는 클라우드 서버에서 리소스 관리를 향상하는 것이었다. 따라서 클라우드 서버에서 호스팅되는 애플리케이션들이 가장 효율적으로 돌아갈 수 있도록 하는 것이었다.

이 아이디어는 새롭지 않았다. 이렇게 하기 위한 첫 제품은 도커라는 회사가 내놨다. 그러나 구글 트리오는 여기에서 거대한 향상이라는 기회를 봤고, 그 기회를 잡았다.

그들은 또한 그들의 솔루션을 오픈소스화했다. 구글과는 독립적으로 만들었다. 이것은 쿠버네티스가 라이선스가 없다는 것을 의미했다. 이 때문에 쿠버네티스는 자발적인 개발자 커뮤니티를 빠르게 끌어들였고, 쿠버네티스에 대한 지지자들의 적용을 이끌어냈다. 구글이라는 기원과 후원도 쿠버네티스의 성장을 크게 도왔다.

첫 버전은 2015년 공개됐다. 3년 후 쿠버네티스는. 연례 오라일리 오픈소스 컨벤션(OSCON)에서  가장 임팩트 있는 오픈소스 프로젝트가 됐다. 2019년 11월까지 1만2000명 이상의 참석자가, 연례 쿠버콘에서 쿠버네티스에 대해 배울 수 있는 모든 것을 배우고 있었다.

쇼피파이, 슬랙, 이베이, 스포티파이와 같은 온라인 플랫폼 외에도 포켓몬고 같은 게임도 쿠버네티스에 의해 강화되고 있다.

인터넷 비즈니스를 넘어 차이나 유니콤, 앤트 파이내셜, 컴캐스트, 화웨이, 블랙록, SAP, 뉴욕타임스, 필립스와 같은 전세계 다양한 기업들이 모두 쿠버네티스를 사용하고 있다. 골드만삭스, ING 같은 은행들도 쿠버네티스를 도입했다. 

그러나 쿠버네티스의 부상에 대해 진짜로 놀라운 것은 그것이 끌어들인 사용자들의 유형이 아니라  IT서비스 공급업체들의 유형이다. 쿠버네티스와 경쟁하는 회사들도 있다.

마라톤이나 도커 스웜 모드같은 다른 컨테이너 오케스트레이션 프로그램들은 쉽게 불이 붙지 않았다. 그들의 모회사들인 D2iQ(전 메소스피어)와 도커 모두 쿠버네티스를 그들의 고객들에게 제공하기 시작했다. 더 말할 필요가 있나? 쿠버네티스는 얼마나 인기가 있나?-ZDnet

구글 클라우드 플랫폼, 마이크로소프트 애저, 아마존웹서비스, IBM 클라우드, 오라클 클라우드 인프라스트럭처 등 일반적으로 요즘 사용되는 클라우드 컴퓨팅 서비스 거의 대부분이 쿠버네티스를 지원하고 있다. 마이크로소프트는 심지어 3명의 쿠버네티스 공동 창시자중 1명을 영입했다. 애저의 상당한 부분을 다시 만드는 것을 이끌도록 하기 위해서였다.

반면 2017년으로 돌아가 도커는 이미 쿠버네티스를 완전히 수용다. 도커는 3명의 쿠버네티스 공동 창시자에게 영감을 준 기원이었다.

클라우드 뉴트럴

쿠버네티스가 기업에게 주는 가장 큰 매력 중 하나는 이것이 벤더 중립적인 플랫폼이라는 것이었다.

멀티클라우드는 각각의 벤더들을 서로 맞붙게 해서 이익을 볼수 있는 능력을 가진 고객들의 부상일것이다. VM웨어에게 쿠버네티스는 그것을 가능케 하는 것일 것이다., 왜 VM웨어의 쿠버네티스 투자는 당신의 멀티클라우드 전략을 만드는가-Zdnet

레이먼의 버전

당신이 기술 벤더에게 당신을 위해 소프트웨어를 개발해줄 것을 요청할때 종종 당신은 그들에게 의존하게 된다. 소프트웨어가 그들이 제공하는 하드웨어에 있기 때문이다. 아니면 당신은 그것을 유지하기 위해 기술 벤더들을 필요로 한다.

현대 클라우드 기반 컴퓨팅의 세계에서도 이것은 사실이 되었다. 당신의 애플리케이션이 아마존의 클라우드 서비스에 의해 공급되는 몇몇 시스템에 의해 기반하고 호스팅된다면 당신은 이것을 구글로 옮기기가 매우 어렵다는 것을 알게 될 것이다. 아마존웹서비스가 가격을 올린다고 해도 말이다.

그러나 쿠버네티스는 이 모든 것을 바꾸고 있다. 쿠버네티스와 함께, 기업 오너들은 그들의 온라인 플랫폼을 어떤 것이 파괴될 것이라는 공포 없이 다양한 클라우드 공급자들 사이에서 쉽게 옮길 수 있다.

사실 당신은, 여러 클라우드를 사용해 한 시스템을 개발할 수도 있다. 당신의 데이터를 많은 다양한 위치에 저장할 수 있다. 여기에선 의존할 필요가 없다. 솔직히 말하면 쿠버네티스 주도 시스템의 일부에선 중앙화되고, 특정 기술 스택에 묶이지 않는다. 

가상 오케스트라 유추로 다시 돌아가보자. 공연 장소는 더 이상 중요하지 않다. VR 프로젝션의 시스템이 한번 위치하고 심포니 조각들이 디지털 녹화에 연결되면 콘서트홀 소유자는 그의 콘서트들을 그가 찾을 수 있는 어떤 임대된 공간에서도 놓기 위해 선택할 수 있다. 세계 어디에 있는 어떤 크기의 청중에게도 말이다.

구현 비용

대가가 뭐냐고?

쿠버네티스가 그렇게 수용하고 무료로 쓸 수 있다면, 왜 당장 나의 비즈니스를 위해 커버네티스에 뛰드들지 않는건가? 

잠깐 기다려라. 그것에 따른 비용은 여전히 있다.

오픈소스는 비용이 들지 않는다는 것을 의미하지 않는다. 그것은 단지, 기반 기술에 사용 라이선스가 없거나 그것을 붙이는데, 비용이 들지 않는다는 것을 의미한다. 그것을 설정하기 위해 누군가에게 여전히 비용을 지불할 필요는  있을 수 있다. 다재 자능한 스타트업 창업자가 아니라면 당신은 쿠버네티스를 최적화하고 유지하기위해 관련 소프트웨어를 사야할 수도 있다.

당신이, 삼성, 화웨이, 오포같은 제조사들의 스마트폰을 이전에 사용해왔다면 당신은 그것에 관련돼 있을 것이다. 그들의 스마트폰이 돌아가는 안드로이드 운영체제는 구글이 개발한 오픈소스 소프트웨어다. 애플 iOS 같은 사적 운영체제와 달리 누구나 안드로이드를 내려받아 그것을 스마트폰 운영에 장착할 수 있다.

그러나, 당신이 전에 하나 이상의 브랜드를사용해왔다면 각각의 제품들이 사용자 인터페이스와 기능들에서 상당한 차이가 있다는 것을 알아챘을 것이다. 이것은 소프트웨어 엔지니어들이 그것을 최적화하고, 스스로를 경쟁사들과 차별화하기 위해 그들이 좋아하는 쪽으로 추가 기능을 개발했기 때문이다.

쿠버네티스도 마찬가지다.  한 사이즈가 모든 시스템에 적합한 것은 아니다 범용적인 사용을 위한 기반 레이어다. 기업에 특화된 애플리케이션을 쿠버네티스에서 돌리려면, 경험 있는 엔지니어들에 의한 커스터마이징(최적화)을 필요로 한다.

그리고 이것은 단지 어떤 코더나 소프트웨어 엔지니어는 아니다. IT의 세계는, 많은 다양한 장르와 악기가 있는  음악의 세계와 같다. 단지 모든 뮤지셔들이 같은 기초를 배우는 것이 그들이, 모든 악기를 같은 스타일로 연주할 수 있다는 것을 의미하지 않는다. 그것은 단지 새로운 악기나 장르를 완전 초보자보다는 빨리 익힐수 있다는 것을 의미할 뿐이다.

우리는, 다양성에 대해 말해왔기 때문에, 여기에서도 언급할만한 가치가 았디. 쿠버네티스의 아름다움은 아마존이나 구글 같은 거대하고 멀티 테먼트 클라우드 서비스를 위한 것만은 아니라는 사실이다. 쿠버네티스는 전통적이고, 프라이빗하고 온사이트 서버에서도 설치될 수 있다. 그러나, 한 시스템이  많은 다양한 기능과 부품들을 가진 최신 비즈니스 애플리케이션을 관리하려면 거의 안보이게 되는 것이 인기있고 성행할 것으로 보인다.  이게 사람들은 더 이상 생각팔 필요가 없는 클라우드 기술 스택에서 표준 레이어다. 그것은 단지 거기에 있다.

앞에 놓인 길

그러나 이것은 모든것이 장밋빛은 아니다..

쿠버네티스는 여전히 초기 단계다.오케스트라 심포니들을 작곡하는 것처럼, 요구되는 복잡합과, 재능, 지식은 라디오 팜 튠이나 광고 징글을 작곡하는 것과는 매우 다르다. 

"우리는 여전히 잠재적인 단계게 있다. 현실은, 거기에는 많은 복잡성이 있다는 것이다. 이것은 매우 역량이 있지만 또한 매우 복잡하다.-VMware VP and CTO of cloud-native apps Kit Colbert.

레거시 시스템이 있는 대형 엔트프라이즈들에게 쿠버네티스를 적용하는 매력 중 하나는, 구형 애플리케이션을 새로운 쿠버네티스 주도 셋업에 통합할 수 있는 역량이다. 구형 소프트웨어를 다시 개발하거나 그것을 새 시스템에서 돌아가기 위해 변경하는데 싸우지 않고, 그것은 간단하게 쿠버네티스내에서서 애플리키이션 중 하나로서 위치할 수 있다

오케스트라 유추로 돌아가기 위해 쿠버네티스를 은퇴 나이에 이른 오래된 뮤지션들도 이뤄진 베이스나, 현악기 섹션으로 생각해보라. 이 섹션은 여전히 필요하다. 그러나 새 뮤지션을 훈련시키기 위해서는 많은 투자와 시간이 들어간다.

이제 새 홀로그램 프로젝션 기술과 함께  다양한 종류를 연주하는 녹화가 가능해졌다.  이들 작품들이 연주될 필요가 있을 때는 그들 파트의 홀로그램 프로젝션은 연주를 완료하기 위해, 오케스트라의 나머지에 통합된다. 물리적으로 그들이 은퇴한다고 해도 말이다.

이들 녹화된 조각들을 여전히 청충들이 필요로 하는 한, 이 솔루션은 새로운 뮤지션을 채용해 훈련시키는 것보다 우수하고 효율적이다. 

물다시 IT의 실제 세계는 많은 다양한 레거시 언어, 플랫폼, 아키텍처를 갖고 있다. 그러나 그것을 적용해온 많은 대형 회사들에게 쿠버네티스를 사용하는 이점은 상당하다. 이들 회사는 스타트업 처럼 럭셔리한 개발 시스템을 갖고 있지 않기 때문이다.

쿠버네티스와 블록체인

우리기 시작한 곳에서 마무리하기 우해 신기술로서 쿠버네티스와 블록체인을 비교해보자.

블록체인은, 새로운 음악 악기로 설명된다. 이것은 환상적이고, 매력적이다. 새로운 소리를 오케스트라 믹스에 가져다준다. 그러나 응집력있고 유쾌한 음악을 청중들을 위해 생산하기 위해 블록체인이 기존 구성에 맞을지, 확신할 수 없다.

결국 블록체인은 여전히 디자인에서 조율되고 조정되고 있다.그것이 기존 오케스트라에 맞는다고 해도 특정 장르에만 제한될 필요가 있다.

 반면 쿠버네티스는 전반적인 시뮬레이션 기술이다. 청중들이 쉽게 그리고 즉각 받아들일 수 있다. 무대에서 실제 오케스트라가 아니라는 것을 알아챌 수도 없다.

그러나, 새로운 비즈니스 모델과, 연주 딜리버리 방식이 작동하려면, 오케스트라 소유자들이 그것을 설정하는 것을 받아들이고 투자해야 한다. 그들이 그렇게 하는한, 이용할 수 있는 콘서트 공간의 대부분과, 전세계 이벤트 조직자들은 이미 그것과 협력할 준비가 되어 있다.

요즘 사람들이 이야기하는 블록체인은 본질적으로 신비스러운 경영 그루다. 그는 인상적인듯 보이지만, 당신은, 그가 설계하는 것이 당신의 비즈니스에서 돌아간다고 확신할 수 없다. 당신이, 그와 관련해 쓰는 돈은 낭비일 수 있다. 그러나 그와 어울리는 것은 적절하고 유행을 잘 따르는 듯 보인다. 모두가 그렇게 하고 있기 때문이다.

반면 쿠버네티스는 당신이 정말 알아채지 못한 조용하지만, 화려한 근로자다. 그는, 어울리기 가장 쉬운 동료는 아니다. 그러나 그는 당신의 많은 돈을 아껴주고, 당신에게 거대한 효율성 향상을 제공할 수 있다는 것을 증명하려 시작하고 있다.

테크잇 뉴스레터를 전해드립니다!

오피니언 기반 테크 블로그 'TechIt'
테크 비즈니스를 보는 다양한 통찰들을 이메일로 간편하게 받아 볼 수 있습니다.

About the author

endgame
endgame

테크 블로거 / 공유할만한 글로벌 테크 소식들 틈틈히 전달하겠습니다

No more pages to load


TechIT

테크 비즈니스를 보는 다양한 통찰 '테크잇'

독자 여러분들께서 좋은 의견이나 문의 사항이 있으시면 아래 양식에 따라 문의 주시기 바랍니다.

Contact