블로그

모놀리식에서 분산형으로: ADC에 대한 진화하는 애플리케이션의 영향

Greg Maudsley 썸네일
그렉 모즐리
2025년 2월 18일 게시

애플리케이션은 디지털 생산성의 엔진이며, 원시 처리 능력을 일상 생활을 더욱 편리하게 만들어 주는 유용한 도구로 바꿔 주는 일꾼이며, 업무, 여행, 엔터테인먼트, 산업을 혁신해 왔습니다. 이러한 소프트웨어 프로그램은 음식 배달 주문, 우주 위성 안내, 조립 라인에 전력을 공급하는 앱부터 이 블로그를 쓰는 데 도움이 된 워드 프로세싱을 제공하는 앱까지 다양합니다. 

시간이 지나면서 응용 프로그램은 크게 발전하여 특정 계산 작업을 위해 설계된 기본 프로그램에서부터 AI로 구동되고 분산 환경 전반의 입력으로 구동되는 동적인 최신 앱으로 발전했습니다. 최근 몇 년 동안 애플리케이션이 어떻게 발전했는지 살펴보면 컴퓨팅이 변화하는 사용자 요구 사항, 비즈니스 요구 사항, 기술 혁신에 적응하여 디지털 세계를 형성하는 방식에 대한 통찰력을 얻을 수 있습니다. 하지만 앱이 더욱 복잡하고, 연결되고, 개인화되고, 접근성이 뛰어나고, 지능화되면서 애플리케이션 공격 표면이 늘어나 앱이 악의적인 위협과 악용의 위험에 더 많이 노출되었습니다. 간단히 말해서, 확장된 공격 표면은 최신 최고의 사이버 방어 시스템을 뚫기 위해 자체 혁신에 발맞춰 나가는 사이버 범죄자들에게 더 큰 기회 영역을 제공합니다.  

애플리케이션이 물리적 데이터 센터의 모놀리식 앱에서 오늘날의 고도로 분산된 AI 앱으로 진화함에 따라 고성능 앱 보안과 앱 제공 기능을 단일 플랫폼으로 수렴하는 차세대 ADC가 필요했습니다.

점점 더 복잡해지고 확대되는 위협 환경은 일관된 앱 및 API 제공과 보안을 제공할 수 있는 플랫폼이 부족하다는 사실로 인해 더욱 복잡해집니다.  애플리케이션 전송 컨트롤러(ADC)는 앱 전송 기능을 구현하기 위해 스택에서 중심적인 역할을 해왔지만, ADC는 이제 오늘날 환경의 변화하는 요구 사항을 충족하도록 발전해야 합니다. 이러한 요소들이 합쳐져서 다양한 IT 생태계에서 보다 완벽한 보호와 보다 간단하고 통합된 관리를 제공하기 위해 앱 보안과 애플리케이션 제공 서비스를 결합한 새로운, 보다 포괄적인 전략에 대한 수요가 증가하고 있습니다. 

1940년대의 초기 앱부터 시작하여 우리가 어떻게 이 지점에 도달했는지 살펴보겠습니다.

응용 프로그램 1.0: 모놀리식 및 3계층 앱

1940년대와 1950년대에 나온 최초의 컴퓨터는 오늘날 우리가 이해하는 것과 같은 애플리케이션을 사용하지 않았습니다. 그들은 주로 기계어와 펀치 카드를 사용하여 프로그래밍되었습니다. 최초의 애플리케이션(애플리케이션 1.0이라고 생각할 수 있는)은 1960년대와 1970년대에 급여, 재고, 기본 데이터 처리와 같은 업무를 처리하도록 설계된 거대한 애플리케이션을 구동하는 중앙 집중식 메인프레임 컴퓨터와 함께 성장했습니다. 이러한 초기 애플리케이션은 단일 코드베이스, 즉 격리된 데이터 센터나 기업 사무실에서 운영되는 매우 크고 단일화된 코드 블록으로 제한되었습니다. 높은 성벽과 해자로 보호되는 언덕 위의 외딴 성을 생각해 보세요. 그곳에서 근로자들은 FORTRAN과 COBOL과 같은 컴퓨터 언어를 사용해 중앙 집중화된 컴퓨팅 리소스에 접근합니다. 

모놀리식 애플리케이션 모델이 3계층 애플리케이션으로 발전하면서 컴퓨팅 리소스가 세 개의 별도 기능 계층으로 분할되었으며, 각 계층은 별개이지만 상호 연결된 애플리케이션을 갖습니다. 프레젠테이션 계층 또는 사용자 인터페이스는 근로자 생산성 소프트웨어(안녕, WordStar)와 같은 데스크톱 애플리케이션에 의해 관리되는 반면, 비즈니스 로직 계층에는 사용자 요청을 처리하고 계산을 수행하는 애플리케이션 서버가 포함되었습니다. 데이터 계층 또는 데이터베이스는 데이터를 저장하고 관리합니다.    

3계층 애플리케이션은 모놀리식 앱보다 모듈성과 유연성이 더 높았지만, 이 모델은 물리적 데이터 센터 인프라와 온프레미스 리소스에 계속 의존했습니다. 일부 산업(예: 의료, 은행, 정부)에서는 모노리식 및 3계층 애플리케이션이 여전히 표준으로 남아 있습니다. 이러한 산업에는 레거시 시스템이 엄격한 규제 요구 사항을 충족하고 미션 크리티컬 애플리케이션은 다운타임을 허용할 수 없습니다.  

애플리케이션 2.0: 클라우드, 마이크로서비스, 컨테이너

1990년대 전자상거래의 성장으로 인해 도트컴 시대가 시작되었습니다. 애플리케이션 서비스 제공업체(ASP)는 기업이 자체 인프라를 구축하지 않고도 HTML 웹 애플리케이션을 실행할 수 있도록 월드 와이드 웹을 통해 클라우드형 웹 호스팅 서비스를 제공했습니다. 웹 앱은 사용자가 전화 접속이나 광대역 접속이 가능한 곳이라면 어디서나 전 세계적으로 사용할 수 있었습니다. 이러한 응용 프로그램은 세 가지 계층으로 구분되었습니다. 소비자는 가정용 컴퓨터에서 인터넷과 웹 브라우저 소프트웨어를 사용하여 ASP 사이트에 호스팅된 웹 애플리케이션을 방문했으며, ASP의 데이터베이스 서버는 고객 데이터의 구매와 저장을 처리했습니다. 웹 앱은 여전히 온라인 소매 분야에서 주도적인 역할을 하고 있으며 웹에서 전자 상거래 사업을 운영하는 데 중요한 역할을 해왔습니다.  

2010년대 초반은 클라우드 혁신의 시대였으며, 많은 예측가들은 온프레미스 데이터 센터의 종말과 클라우드 기반 컴퓨팅의 부상을 예측했습니다. 모든 컴퓨팅을 클라우드로 이전한다는 이야기가 나오는 가운데 많은 앱이 클라우드 환경에서 작동하도록 현대화되었거나 클라우드 자체에서 개발되었습니다. 즉, 클라우드 네이티브 애플리케이션입니다. 

이러한 클라우드 기반 앱은 클라우드 규모와 성능에 맞게 최적화되었고, 마이크로서비스 아키텍처를 기반으로 구축되어 앱 진화에 또 다른 패러다임 전환을 가져왔습니다. 마이크로서비스 기반 애플리케이션은 더 이상 독립형의 통합된 코드 블록이 아니라 독립적으로 배포 가능한 작은 마이크로서비스로 조립된 것이며, 각각은 단일 기능을 수행하고 API를 통해 다른 마이크로서비스와 통신할 수 있습니다. 모듈식 마이크로서비스는 이동식 컨테이너 내의 애플리케이션으로 조직되었는데, 이는 독립적이고 다양한 환경에서 일관되게 작동할 수 있는 가상화된 컴퓨팅 인스턴스입니다. 마이크로서비스 기반 애플리케이션은 단일체 또는 3계층 앱에 비해 더 빠른 앱 개발, 향상된 확장성, 향상된 유연성, 서비스 재사용성 등 많은 이점을 제공합니다. 

그러나 이러한 구성 요소 마이크로서비스는 퍼블릭 클라우드 라이브러리와 다른 원격 플랫폼에서 가져와 API나 다른 통신 메커니즘을 통해 전달됩니다. 이러한 분산된 요소는 관리하기 어려웠으며 API를 노출하면 앱의 공격 표면이 늘어나 데이터 전송 중에 네트워크 침입이 발생할 수 있고 타사 라이브러리의 잠재적인 취약성이 노출될 수 있습니다. 

애플리케이션 3.0: 분산 앱과 AI

오늘날 애플리케이션은 또 다른 패러다임 전환을 겪고 있습니다. 데이터 센터의 예측된 종말은 크게 과장되었으며 오늘날 많은 조직 포트폴리오는 하이브리드 환경에서 실행되고 온프레미스, 엣지 및 클라우드 리소스를 가져오는 기존 및 최신 앱을 혼합하여 유지합니다. 이로 인해 앱과 API가 어디에 있든 배포 및 보안을 통합하는 일관된 플랫폼에 대한 필요성이 더욱 복잡해졌습니다.

또한 앱은 점점 더 복잡해지고 있으며 클라우드 기반 마이크로서비스에만 의존하는 것이 아니라 실시간 데이터 흐름과 새로운 형태의 입력에 의존하게 됩니다. 전형적인 여행 웹사이트 애플리케이션을 생각해 보세요. 선택한 여행지에 대한 매력적인 사진과 콘텐츠 외에도 호텔 객실, 항공편, 렌터카를 예약할 수 있는 실시간 API 액세스 엔진, 실시간 날씨 예보에 대한 링크, 대화형 지도 기능이 제공됩니다. 이러한 최신 애플리케이션은 상호 연결성이 높고, 소스가 다양하며, 역동적이어서 하이브리드 클라우드와 분산 환경의 데이터를 활용하여 강력한 고객 경험을 제공합니다. 

AI가 이미 고도로 통합된 애플리케이션에 추가되면 복잡성과 공격 표면은 더욱 커질 뿐입니다. 상호 연결된 네트워크 및 장치의 데이터를 활용하는 AI 기반 서비스에는 추천 엔진이나 챗봇이 포함될 수 있습니다. 여행 웹사이트는 실시간 사용자 프로필과 예측 분석을 기반으로 개인화된 목적지와 활동을 제안하거나 동적 가격 알고리즘을 모니터링하도록 제안할 수 있습니다. 

AI 애플리케이션은 엄청난 양의 데이터를 처리하고 복잡한 트래픽 패턴을 사용하며, AI 팩토리에 있는 엔터프라이즈 데이터 저장소와 AI 모델에 대규모의 빈번한 요청을 생성합니다. AI 작업 부하는 일반적으로 퍼블릭 클라우드, 에지 장치, 하이브리드 시스템을 포함한 분산 인프라에 배포되므로 애플리케이션은 데이터 보안 및 개인 정보 보호 위험, AI 모델에 대한 적대적 공격, 인프라 취약성에 노출됩니다. 이러한 과제로 인해 최신 AI 앱과 워크로드를 어디에 배포하든 지원하는 고성능 트래픽 관리 및 앱 제공 서비스와 통합된 API가 풍부한 애플리케이션을 위한 포괄적인 보안을 제공해야 할 필요성이 커지고 있습니다.   

애플리케이션 진화: 향상된 기능, 더 큰 복잡성

애플리케이션의 역사는 여러 면에서 컴퓨팅 자체의 역사입니다. 1940년대 기본적인 수학 계산을 해결하던 것에서 오늘날 AI로 구동되고 전 세계의 원격 시스템에서 입력되는 정보로 구동되는 복잡하고 동적인 앱으로 진화했습니다. 응용 프로그램 역사는 컴퓨팅 하드웨어의 접근성과 보편성이 높아지는 데에도 반영됩니다. 응용 프로그램은 전문가만 조작할 수 있는 방 크기의 메인프레임 컴퓨터에서 개인적 사용 및 엔터테인먼트를 위한 그래픽 인터페이스가 있는 데스크톱 컴퓨터와 노트북으로, 그리고 어디에서나 접근이 가능하고 터치 스크린과 음성 명령으로 구동되는 웹 및 모바일 앱으로 구동되는 모바일 장치로 전환되었습니다. 

그러나 이러한 점점 더 지능적이고 역동적인 애플리케이션은 광범위한 보안 위험에 취약한 네트워크와 연결에 의존하므로 끊임없이 진화하는 보안 완화책과 분산 환경에 최적화된 ADC가 필요합니다.  분산 환경에서 작동하는 기존 앱, 최신 앱, AI 기반 앱의 새로운 환경을 보다 잘 관리하기 위해서는 중요한 앱 제공 및 보안 기능을 융합해야 합니다. 우리는 ADC가 이를 관리하는 데 적합한 기술이라고 믿습니다. 하지만 이 역할을 수행하려면 ADC가 오늘날의 분산된 디지털 생태계와 관련된 운영 복잡성과 위험을 줄이는 데 도움이 되도록 발전해야 합니다.

자세한 내용은 이 시리즈의 이전 블로그 게시물인 " 진화하는 애플리케이션 인프라의 요구 사항을 충족하기 위한 ADC 재창조 "를 읽어보세요. 또한 애플리케이션 아키텍처의 변화에 따라 애플리케이션 보안이 어떻게 발전했는지, 그리고 이것이 ADC의 새로운 시대를 요구하는 이유를 알아보려면 다음 블로그를 기대하세요.