블로그 | CTO 사무실

앱 아키텍처 변화에 앱 서비스 삽입

로리 맥비티 썸네일
로리 맥비티
2019년 12월 23일 게시


애플리케이션 아키텍처는 컴퓨팅 초기부터 여러 차례 발전해 왔습니다. 장수한 기업 중 일부는 다섯 번째의 독특한 애플리케이션 아키텍처를 구축하고 있습니다. 오늘날 많은 사람들이 각 분야에서 애플리케이션을 운영하고 유지관리하고 있습니다. 즉, 2020년의 애플리케이션 서비스 현황에 대한 조사 결과는 이것이 대부분 조직이 운영하는 현실임을 나타냅니다.

각 앱 아키텍처는 네트워킹 아키텍처, 기술, 보안, 애플리케이션(전달) 서비스 등 "업스트림"의 모든 것에 극적인 영향을 미칩니다. 최신 아키텍처 변화인 마이크로서비스의 핵심에는 "원자화" 또는 "구성 요소화"라고 부를 수 있는 개념이 있습니다. 두 용어 모두 기본적으로 출시 기간, 코드 품질, 민첩성을 개선할 목적으로 애플리케이션을 작고 관리하기 쉬운 구성요소로 분해하는 프로세스를 말합니다.

이전 세대의 앱 아키텍처에서는 네트워크가 특정 유형의 애플리케이션 서비스를 삽입하는 데 가장 효율적인 지점이었습니다. 얼마 전까지만 해도 프록시는 앱에서 클라이언트까지 이어지는 데이터 경로에 이러한 서비스를 삽입하는 주요 수단이었습니다.

하지만 해당 데이터 경로는 최신 애플리케이션 아키텍처와 함께 분해되고 있습니다. 이제는 인터넷, 클라우드 자산, 데이터 센터로 확대되었습니다. 클라이언트를 애플리케이션 기능의 중요한 구성 요소로 점점 더 포함시키고 있습니다. 

따라서 애플리케이션 서비스를 삽입하기 위해 단 하나의 알려진 데이터 경로에만 의존하는 것은 더 이상 최적이 아닙니다. 더욱이 새롭게 등장하는 데이터 경로 중 다수는 프록시 기반 플랫폼에 적합하지 않기 때문에 최신 애플리케이션을 확장하고 보안을 강화하기 위해 가능한 다른 잠재적인 삽입 지점을 살펴봐야 합니다.

애플리케이션 서비스 삽입 지점

데이터 경로에 애플리케이션 서비스를 '삽입'한다는 개념은 애플리케이션 서비스를 배포하는 이러한 현대적 관점, 즉 삽입 지점을 설명하는 간단한 방법을 제공합니다.

이 모델에서는 기존 삽입 지점(프록시)과 앱/웹 서버, 클라이언트 장치 등의 다른 위치를 구별합니다. 각 위치에는 응용 프로그램 서비스 삽입에 적합한 여러 양식이 있습니다.

대리

네트워크의 기존 네트워크 삽입 지점에는 프록시 기반 애플리케이션 서비스와 이와 동등한 최신 서비스 메시 솔루션의 기반을 형성하는 사이드카 프록시가 있습니다. 둘 다 "네트워크 내"에 배치되므로 폼 팩터(컨테이너, 소프트웨어, 하드웨어)에 관계 없이 해당 위치에 액세스해야 합니다.

프록시는 여전히 애플리케이션 서비스를 삽입하는 효율적인 수단입니다. 오늘날 현대 앱 아키텍처가 프록시에 미치는 가장 큰 영향은 그들의 초점입니다. 프록시는 전통적으로 많은 애플리케이션의 애플리케이션 서비스를 호스팅했지만, 오늘날의 아키텍처는 앱별 접근 방식을 더 많이 요구합니다. 따라서 프록시는 애플리케이션과 해당 인프라에 맞게 설계되고 있으며 이전 프록시 솔루션보다 훨씬 더 세부적인 초점을 맞추는 경향이 있습니다.

프록시리스

모든 애플리케이션과 환경이 해당 액세스를 제공하지는 않으므로(SaaS를 생각해 보세요) 애플리케이션 서비스를 배포할 수 있는 대체 삽입 지점을 찾습니다. 이러한 대체 지점은 배포 및 실행에 프록시가 필요 없거나 프록시에 의존하지 않으므로 느슨하게 "프록시 없음"이라고 부릅니다. 이러한 서비스는 서버나 애플리케이션의 일부로 배포되는 소프트웨어인 기존 에이전트 형태를 취할 수도 있고, 코드 기반 옵션의 개발자 친화적 형태를 취할 수도 있습니다. JavaScript 라이브러리나 웹 서버 및 브라우저 플러그인과 같은 삽입된 코드는 이러한 대체 위치에 삽입 지점을 적용하는 좋은 예입니다.

서비스

많은 애플리케이션 서비스는 "서비스로서" 제공될 수 있습니다. 즉, 클라우드 기반으로 호스팅되는 것입니다. 삽입에는 여전히 해당 서비스를 호출하기 위한 액세스가 필요하므로 코드나 구성 아티팩트를 통한 어떤 형태의 삽입 없이 이러한 서비스가 애플리케이션에 포함되는 경우는 드뭅니다. 

최신 애플리케이션 아키텍처로 형성된 이 새로운 환경에서 애플리케이션 서비스가 적합한 곳은 점점 앱 또는 앱의 일부가 위치할 수 있는 모든 곳입니다. 앱 아키텍처가 분해됨에 따라 애플리케이션 구성 요소의 배포를 확장, 보안 및 가속화하는 데 사용되는 앱 서비스도 분해됩니다. 

삽입 지점의 확장은 원격 측정 및 보다 스마트한 자동화에 대한 향후 요구를 충족하는 데 필요한 진화적 단계 중 하나에 불과합니다.  기업들이 디지털 혁신의 길을 계속 걸어감에 따라 앱 서비스 역시 확장되고 진화할 것입니다.