블로그

멀티 클라우드 클러스터를 사용하여 앱 배포에 매달 수백 시간을 절약하는 방법

F5 썸네일
F5
2021년 11월 29일 게시


한눈에 보는 최신 애플리케이션

마이크로서비스는 오늘날 소프트웨어 배포 세계의 표준입니다. 애플리케이션이 여러 서비스로 분해됨에 따라 조직에서 배포해야 하는 애플리케이션 수가 늘어납니다. 종종 서비스 수는 수백 배 또는 수천 배로 증가합니다. 오늘 내가 100개의 애플리케이션을 가지고 있다면, 이는 종종 수천 개의 마이크로서비스가 됩니다.

궁극적인 목표는 최종 사용자와 고객에게 애플리케이션과 새로운 기능을 더 빠르게 제공하는 것입니다.

과제는 배포 속도를 희생하지 않고 수천 개의 서비스를 지속적으로 배포하는 방법입니다.

그림 1 - 멀티 클라우드 클러스터를 사용하여 앱 배포에 매달 수백 시간을 절약하는 방법

오늘날 답의 일부는 배포에 Kubernetes를 사용하는 것입니다. 쿠버네티스는 대규모로 마이크로서비스 기반 애플리케이션을 배포하기 위한 사실상의 표준입니다. 반복성, 확장성, 그리고 가장 중요한 배포 속도를 제공합니다. 즉, 최종 사용자에게 기능을 더 빠르게 제공할 수 있다는 의미입니다.

마이크로서비스 배포를 확장하는 조직은 여러 개의 Kubernetes 클러스터를 실행하는 것을 고려합니다. 종종 이러한 여러 클러스터는 서로 다른 위치에서 실행됩니다. 이러한 위치는 지점이나 소매점일 수도 있고, 다양한 클라우드 공급업체일 수도 있으며, 더 자주는 두 가지가 혼합된 곳일 수도 있습니다.

더 커질수록 더 어려워집니다

여러 Kubernetes 클러스터에서 빠르고 대규모로 애플리케이션 배포를 관리하는 것은 어렵습니다. 각 애플리케이션은 이제 여러 서비스로 구성됩니다. 처리해야 할 애플리케이션, 서비스, 사이트 및 Kubernetes 클러스터가 여러 개 있습니다.

구조적으로 보면 이는 종종 단일 클라우드 공급자나 단일 애플리케이션에 맞춰진 복잡한 빌드 및 배포 파이프라인을 초래합니다. 맞춤형이라는 것은 취약하고 깨지기 쉬우며, 일반적으로 애플리케이션을 배포하는 도중에 깨지는 경향이 있음을 의미합니다.

대규모 배포

이제 여러 개의 분산된 위치에 여러 애플리케이션과 서비스를 배포할 수 있는 기능이 제공됩니다. 즉, 여러 Kubernetes 클러스터에 애플리케이션을 빠른 속도로 배포할 수 있는 기능이 현재 존재합니다. 이 기능을 사용하면 배포 시간이 단축되고 복잡성이 감소합니다. 궁극적으로 이는 새로운 기능을 더 빨리 손에 쥐고 사용할 수 있어 최종 사용자의 만족도가 높아진다는 것을 의미합니다.

애플리케이션 개발자로서, 저는 여러 Kubernetes 클러스터를 단일 엔티티로 처리할 수 있습니다. 즉, 단일 "가상" Kubernetes 클러스터에 애플리케이션을 배포할 때 실제로는 여러 클러스터에 애플리케이션을 배포하는 것입니다. 이러한 여러 클러스터는 서로 인접해 있을 수도 있고, 세계의 반대편에 있을 수도 있습니다.

그림 2 - 멀티 클라우드 클러스터를 사용하여 앱 배포에 매달 수백 시간을 절약하는 방법
그림 3 - 멀티 클라우드 클러스터를 사용하여 앱 배포에 매달 수백 시간을 절약하는 방법

여러 위치에 애플리케이션을 배포할 수 있는 기능은 배포 관리와 속도에 광범위한 영향을 미칩니다. 더 이상 맞춤형이고 불안정한 배포 파이프라인을 다룰 필요가 없고, 각 클라우드 공급업체의 미묘한 차이점에 대해 걱정할 필요가 없습니다.

이제 표준 배포 방식을 사용하여 더욱 빠르게 애플리케이션을 배포하고 최종 사용자와 고객에게 기능을 제공할 수 있습니다.

완전히 원주민

가장 좋은 점은 개발자가 기본 툴을 사용하여 Kubernetes에 애플리케이션을 배포할 수 있다는 것입니다. 익숙한 배포 방법론과 도구를 사용하여 여러 클러스터에 배포할 수 있습니다. 개발자 측에서는 특별한 것이 필요하지 않습니다.

더 심층적인 기술 관점에서 보면, 이를 통해 Kubernetes 기본 구조를 사용하여 하나 이상의 사이트에 배포할 것을 선택하는 두 가지 레이블을 모두 사용하여 배포할 수 있는 기능이 제공됩니다. 또한 kubectl 명령과 같은 Kubernetes 기본 툴과 표준화된 Kubernetes 배포 파일이나 매니페스트를 사용할 수도 있습니다. 이는 Kubernetes와 상호작용하는 표준적인 방법입니다. 익숙한 툴을 사용할 수 있으므로 배포가 쉽고, 여러 클러스터와 위치에 빠르게 배포할 수 있다는 이점이 있습니다.

하지만 가장 중요한 점은 Kubernetes 레이블을 사용하여 단일 클러스터에 배포할지, 아니면 여러 클러스터에 배포할지 선택할 수 있다는 것입니다. 레이블은 애플리케이션에 "태그"를 지정할 수 있는 Kubernetes 기본 구조입니다. 애플리케이션에 위치를 "태그"하거나 라벨을 지정할 수 있으며, 이는 Kubernetes 클러스터 하나 이상일 수 있습니다.

결론

F5의 Volterra 플랫폼을 사용하여 여러 위치에 걸쳐 대규모로 애플리케이션을 배포하면 개발자가 매일 느끼는 어려움을 덜어줍니다. Kubernetes 기본 구조를 사용하여 애플리케이션을 배포하는 기능을 통해 시간을 절약하고, 애플리케이션을 더 빨리 필요한 사람에게 전달할 수 있습니다.

중앙에서 관찰하고 정책을 수립하고 쉽게 분산 배포할 수 있는 기능을 제공하면 개발자의 업무 부담이 줄어듭니다.

지속적인 배포 속도와 속도는 애플리케이션과 기능을 고객에게 더 빠르게 제공하는 것을 의미합니다.