블로그

분열을 메우다: 규모와 신뢰성

로리 맥비티 썸네일
로리 맥비티
2019년 4월 25일 게시

생산은 실패하도록 만들어지지 않았습니다.

기존의 네트워크와 애플리케이션 서비스 아키텍처는 장애가 발생하더라도 안정적으로 작동하도록 구축되었습니다. 중복성과 장애 조치는 고객과 조직의 가장 귀중한 자산인 애플리케이션 사이에 있는 인프라의 중요한 기능입니다.

진정한 장애 조치(failover)는 단순히 새 컨테이너를 시작하는 것만으로는 달성할 수 없습니다. 이러한 접근 방식은 상태 비저장으로 설계된 최신 애플리케이션에만 작동합니다. 이는 기존 애플리케이션의 특징이 아닌 경우가 많고, 최신 애플리케이션의 경우에도 확실한 것은 아닙니다. 엔터프라이즈급 확장성과 안정성은 엔터프라이즈 애플리케이션 포트폴리오의 대부분을 차지하는 기존 앱의 가용성을 유지하는 데 매우 중요합니다.

하지만 그렇다고 해서 현대적 응용 프로그램의 수가 늘어나는 것을 무시해야 한다는 것은 아닙니다. 모든 새로운 앱 아키텍처는 단지 몇 개의 프로젝트로 시작하지만, 조직이 새로운 앱을 확장하고 보호하는 데 필요한 시스템과 솔루션을 개발, 배포, 운영하는 방법을 배우면서 폭발적으로 성장합니다. 기업 내에서 최신 아키텍처를 사용하여 개발되는 새로운 애플리케이션의 수는 아직 적지만 빠르게 증가하고 있습니다. 기업이 디지털 경제에서 살아남으려면 반드시 그래야 합니다.

애플리케이션 속도의 아키텍처

현재 5개 조직 중 1개 이상이 애플리케이션 백로그에 50개(50) 이상의 주요 앱 요청을 보유하고 있습니다 . 61% 이상이 대기열에 10개(10) 이상의 새로운 앱 요청을 가지고 있습니다. 기존의 개발 방식으로는 발전 속도를 따라갈 수 없습니다. 조직이 Agile과 마이크로서비스를 도입하여 제공을 가속화함에 따라 최신 아키텍처를 기반으로 하는 앱이 더 많이 등장할 것입니다.

그러면서 현대 아키텍처의 규모와 안정성 모델과 엔터프라이즈 수준 배포를 실현하는 데 필요한 까다로운 규모와 안정성 간의 격차를 메울 방법이 필요할 것입니다.

이러한 최신 아키텍처에는 종종 NGINX가 포함됩니다. 사실, 대부분의 새로운 최신 아키텍처는 하나 이상의 역할에서 NGINX에 의존한다고 말할 수 있습니다.

컨테이너에서 실행되는 상위 12개 애플리케이션 구성 요소 중 하나는 NGINX입니다. 사용 중인 컨테이너 인그레스 공급자 중 상위(솔직히 말해서 최상위) 에 NGINX가 있습니다. 클라우드, 컨테이너, 마이크로서비스에 대한 모든 설문 조사와 데이터 기반 보고서에서 실행되는 구성 요소 목록에서 NGINX를 찾을 가능성이 높습니다.

주로 NGINX는 현대 아키텍처의 확장성에 대한 요구를 충족합니다. NGINX는 하나의 앱 인스턴스에 장애가 발생하면 이를 감지하고 이후의 요청을 다른 앱 인스턴스로 전달하므로 최신 앱에 안정성을 제공합니다. 컨테이너 환경에 본질적으로 설계된 실패를 처리합니다. 또한 대부분의 DevOps와 개발자가 충족해야 하는 애플리케이션 가동 시간 요구 사항도 충족합니다.

하지만 그렇다고 해서 반드시 전체 엔터프라이즈 아키텍처를 확장하고 안정성을 보장할 수 있는 것은 아닙니다. 현대적 애플리케이션에 매우 효과적인 "실패하도록 만들어진" 시스템은 기존 앱과 애플리케이션 서비스 인프라에 동일한 시스템을 제공하기에는 적합하지 않습니다. 차이점의 핵심은 "상태 대 상태" 모델입니다. 최신 앱은 상태 비저장을 목표로 하는데, 이를 통해 아키텍처가 작동하게 됩니다. 기존 앱과 네트워크 자체는 상태가 유지됩니다. 장애가 발생하면 진행 중인 거래와 세션이 중단되고 가용성이 저하됩니다.

현대적 신뢰성

공유 인프라(대부분이 공유 인프라)에 영향을 미치는 생산 장애의 폭발 반경은 큽니다. 매우 큽니다. 수백 개의 애플리케이션을 전달하고 보안을 담당하는 네트워크와 애플리케이션 서비스는 실패하도록 만들어진 것이 아니라, 안정적이도록 만들어졌습니다. 

엔터프라이즈급 규모와 안정성을 제공하는 데는 F5와 BIG-IP가 적합합니다. 안정성을 중시하고 수요와 대규모 공격에 맞춰 확장이 가능한 BIG-IP는 25,000개가 넘는 기업이 앱을 제공하는 수단입니다. 이는 NetOps가 충족해야 하는 네트워크 및 애플리케이션 가동 시간에 대한 요구 사항을 충족합니다.

두 가지를 합치면 정의에 관계없이 '신뢰할 수 있는'이라는 요건을 충족할 수 있을 것입니다. 이것이 최신 앱을 확장하는 소규모 개발자 중심 배포의 안정성에 적용되든, 애플리케이션 서비스와 기존 앱을 모두 확장하는 대규모 배포에 적용되든, 결합된 포트폴리오는 고객이 적합한 앱에 적합한 도구를 사용할 수 있는 역량을 제공할 것입니다.

F5와 NGINX를 결합하는 것의 이점에 대해 자세히 알아보려면 F5 CEO가 소개한 'Bridging the Divide' 블로그 시리즈 게시물을 확인하세요.