블로그

네트워크가 변화하는 앱 아키텍처에 적응하는 방법

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

요즘 마이크로서비스에 대한 화제가 많이 있습니다. 이들은 애플리케이션 아키텍처의 새로운 인기이며 종종 BFF인 컨테이너와 함께 언급됩니다. InfoQ에서 실시한 최근 설문 조사 에 따르면 두 기술 모두 "사용 중이거나 사용을 계획 중" 목록 상위에 올랐으며, 컨테이너(응답자의 71.79%)가 마이크로서비스(70.4%)를 간신히 앞지르고 있습니다. 흥미로운 점은 동일한 조사에서 마이크로서비스(32.21%)가 컨테이너(29.44%)보다 오늘날 더 많이 사용되고 있다는 사실이 드러났다는 것입니다.

그럼에도 불구하고 마이크로서비스와 컨테이너가 대부분의 조직의 관심을 끄는 기술이라는 것은 의심의 여지가 없어 보입니다.

그러나 애플리케이션 아키텍처의 모든 중요한 변화와 마찬가지로, 앱 서비스와 네트워크 기능이 이러한 새로운 애플리케이션 아키텍처의 요구 사항을 충족하도록 적응함에 따라 네트워크에도 비슷한 변화가 발생합니다. 이는 애플리케이션 아키텍처의 변화(특히 급진적인 변화)로 인해 네트워크 패턴이 바뀌고, 새로운 언어, 웹 플랫폼이 등장하고 이로 인해 보안과 관련된 과제가 발생하는 경우가 많기 때문입니다.

예를 들어, 클라이언트-서버에서 (현재는) 전통적인 3계층 웹 애플리케이션으로의 전환은 애플리케이션 아키텍처에 또 다른 계층을 가져온 것이 아니라 급성장하는 인터넷 시대에 앱에 필요한 규모와 성능을 제공하도록 설계된 보완적인 인프라 계층을 가져왔습니다. (당시의) 새로운 앱 아키텍처인 SOA에서 발생하는 과제를 해결하는 데만 초점을 맞춘 XML 게이트웨이, XML 보안 게이트웨이, XML 방화벽 및 기타 관련 "네트워크" 장치의 갑작스러운 성장을 기억하실 수 있습니다.

그러다가 클라우드와 모바일이 영향력을 발휘하기 시작하면서 보안이 중요해졌고 새로운 네트워크 보안 솔루션이 잇따라 탄생했습니다. 이러한 보안은 모바일 기기를 관리하고 보호하는 데 중점을 두었으며, 이러한 기기가 작동하는 네트워크는 물론 클라우드 접근 보안 브로커에 대한 보안도 포함되었습니다. 여기서 "네트워크"의 미묘한 변화가 발생했으며, 이는 여전히 느껴지고 있습니다. 즉, "네트워크"가 인터넷을 포함하도록 확장된 것입니다. 여러 환경에 걸쳐 애플리케이션이 지속적으로 분산되면 네트워크는 기존 LAN 바운드 서비스(특히 보안)를 "서비스로서" 인터넷으로 지속적으로 마이그레이션함으로써 대응할 것입니다.

오늘날 우리는 마이크로서비스와 API의 증가를 보고 있으며, 주로 애플리케이션 아키텍처에서 RESTful한 마이크로서비스와 API가 증가하고 있습니다. 동시에 사물 인터넷과 애플리케이션 및 인간 사용자의 폭발적 성장으로 인해 규모에 대한 필요성이 지속적으로 증가하고 있지만, 오늘날 그 규모는 운영에 집중되어 있습니다.

결과적으로 네트워크는 (많은 경우) 확장, 보안, 최적화를 담당하는 애플리케이션(서비스)과의 아키텍처 호환성을 실현하기 위한 노력으로 대응해야 합니다. 즉, 클라우드를 포함한 가상 및 컨테이너화된 폼 팩터를 채택하고 오케스트레이션과 자동화를 강조하는 것을 의미합니다. 오늘날의 목표는 템플릿, API, 그리고 궁극적으로 애플리케이션을 프로덕션으로 출시할 프레임워크와 툴셋을 통합하는 능력입니다.

"네트워크"가 응답하고 있습니다. API는 풍부합니다. 다른 템플릿 시스템(OpenStack Heat 및 AWS Cloud Formation Templates를 사용해 본 적이 있나요?)에 대한 템플릿과 지원이 보편화되고 있으며, 앱 전송 인프라를 "코드로" 처리하는 것에 대한 지원도 보편화되고 있습니다.

이러한 적응은 패킷 속도와 공급이 중요한 네트워크의 기존 적응과는 다릅니다. 이 최신 버전은 프로비저닝 속도와 네트워크 피드로서의 API 기능에 대한 것입니다. 이는 단일 모놀리식 애플리케이션 또는 수백 개의 마이크로서비스로 분리된 세트로 퍼블릭 또는 프라이빗(온프레미스) 클라우드에 배포되든 애플리케이션 아키텍처와의 아키텍처적 호환성을 실현하는 데 중점을 둡니다.

오해하지 마십시오. 네트워킹은 애플리케이션 아키텍처의 변화에 영향을 받고 심지어 주도되기도 합니다. 이 둘 사이에는 무시할 수 없는 공생 관계가 존재합니다. 특히, 오늘날 기업이 성공하고 성장하기 위해 의존하는 애플리케이션을 제공하려면 조정과 협력이 핵심인 운영 중심 시대로 접어들고 있기 때문입니다.