최종 사용자의 애플리케이션 경험 최적화: 변화하는 환경
소개
인터넷은 등장한 이래 기술의 발전과 시장의 영향에 힘입어 애플리케이션 제공 프로세스를 개선하고 상호작용성을 높이면서 점점 더 빠른 주기로 진화해 왔습니다. 기업과 정부는 사용자의 기대와 경쟁 압력에 발맞추기 위해 노력해야 합니다. 사용자 경험을 저해하던 기존 기술(예: Adobe Flash, HTTP/1.x)은 도태되었으며, 사용자 경험에 더욱 적합한 최신 기술(예: HTML5)이 그 자리를 대신했습니다.
이 백서에서는 2017년 이후의 운영 및 계획 수립을 위해 IT 부서가 이해해야 할, 사용자 경험에 영향을 미치는 최근의 주요 변화 몇 가지를 수치로 살펴보겠습니다:
- 콘텐츠 전송 네트워크(CDN)의 보편화
- 데이터 센터 및 서비스 제공업체 네트워크 업그레이드
- 더 빠른 ‘라스트 마일’ 및 모바일 액세스
- 성능 향상을 위해 설계된 최신 HTTP 프로토콜
- 클라이언트-서버 관계의 발전
어디에나 있는 CDN
CDN 공급업체들은 사용자에게 콘텐츠를 전송할 때 발생하는 지연 시간(대부분 약 30ms)을 줄이기 위해 주로 인구 밀집 지역 인근에 운영하는 접속 거점(PoP)의 수를 빠르게 늘려 왔습니다. 다음은 콘텐츠를 빠르게 전송할 수 있도록 전 세계에 인프라를 구축한 가장 인기 있는 CDN 목록입니다.1

CDN이 운영하는 PoP의 수와 사용자와의 근접성을 확대하고 애플리케이션 사용자 기반이 전 세계로 확장됨에 따라, 웹사이트의 CDN 의존도도 높아졌습니다. 2015년 3월에는 인터넷에서 이용 가능한 HTML 콘텐츠의 11%가 CDN에서 호스팅되었습니다.2 2016년에는 그 비율이 17%로 증가했으며, 2017년 3월 기준으로 CDN에서 호스팅되는 HTML 콘텐츠의 비율은 20%에 달했습니다. 2년도 채 되지 않아 CDN에서 호스팅되는 HTML 콘텐츠의 양이 거의 두 배로 늘었으며, 이러한 추세로 인해 사용자에게 콘텐츠를 전송할 때 발생하는 지연 시간이 크게 단축되었습니다.
업그레이드된 데이터 센터 및 서비스 제공업체 네트워크
10G/40G/100G 이더넷 포트(및 이에 상응하는 고용량 스위치와 라우터)의 도입으로 기업 네트워크, WAN 연결 및 원격 엔드포인트의 인터넷 성능이 크게 향상되었습니다. 향후 4년 동안 기업 및 서비스 제공업체 네트워크가 25G 및 100G 연결로 지속적으로 업그레이드됨에 따라 대역폭 용량은 2015년 대비 약 5배로 늘어날 것입니다.3

데이터 센터 및 엣지 인프라 업그레이드에 대한 투자로 서비스 제공업체 네트워크와 기업 데이터 센터가 클라이언트로 향하는 애플리케이션 트래픽의 병목 지점이 되는 문제가 완화되었습니다.
더 빠른 ‘라스트 마일’ 및 모바일 액세스
경쟁이 심화됨에 따라 전 세계 인터넷 서비스 제공업체(ISP)와 이동통신사는 ‘라스트 마일’(고객에게 연결 서비스를 제공하는 통신망의 최종 구간) 및 모바일 사용자의 다운로드 속도를 높였습니다. 아래 차트는 2015년 미국, 아시아 및 유럽 ISP의 다운로드 성능을 보여줍니다.4
미국


아시아


유럽


전 세계적으로 인터넷 연결의 ‘라스트 마일’ 속도가 이전보다 훨씬 빨라졌으며, 오늘날 제공되는 대역폭은 웹 애플리케이션의 사용자 경험을 향상하는 데 기여합니다.
성능 향상을 위해 설계된 최신 HTTP 프로토콜(HTTP/2)
The development of the HTTP/2 사양의 개발은 주로 HTTP/1.x의 성능 문제에서 비롯되었습니다. 2012년 Google은 웹 콘텐츠 전송을 최적화하고 기존 HTTP/1.1 프로토콜 설계의 비효율성을 해소하기 위해 SPDY를 개발하고 보급했습니다. HTTP/2는 HTTP/1.1과의 호환성을 유지하면서 지연 시간과 TCP 연결 수를 줄이는 데 중점을 두고 SPDY를 기반으로 개발되었습니다.
성능 향상을 목표로 하는 HTTP/2 프로토콜에는 다음과 같은 변경 사항이 포함됩니다:
- 멀티플렉싱: 단일 TCP 연결에서 여러 상호작용을 처리할 수 있도록 합니다(SPDY가 제공했던 기능과 유사).
- 헤더 압축: 동일한 헤더(예: 요청 URL, 사용자 에이전트, 쿠키)를 반복해서 전송할 때 발생하는 중복을 줄입니다.
- 서버 푸시: 요청된 콘텐츠와 소스 종속성(예: JS 및 CSS 파일)을 기반으로 서버가 엔드포인트에 콘텐츠를 선제적으로 푸시할 수 있도록 합니다.
- 리소스 우선순위 지정: 가중치와 종속성을 사용하여 유형/콘텐츠에 따라 전송 우선순위를 지정함으로써 전송 및 렌더링을 최적화합니다.
주요 웹 브라우저 공급업체들은 2015년 중반 IETF가 프로토콜 사양을 승인한 후 HTTP/2 지원 도입 일정(아래 표 참조)을 발표했습니다.

엔드포인트 웹 브라우저에서 웹 서버로 전송되는 HTTP/2 요청은 2016년 초에 시작되었으며, 새로운 사양을 지원하는 웹 브라우저가 출시되고 보급되면서 증가해 왔습니다. 업데이트된 웹 브라우저는 먼저 HTTP/2로 웹 서버에 요청한 후 협상을 통해 HTTP/1.x로 전환합니다. 아래 그림에서는 전 세계 웹사이트에서 이루어지는 HTTP/2 상호 작용(서버와 엔드포인트 간)의 증가 추이를 자세히 보여 줍니다.5

HTTP/2 사양의 개선으로 HTTP/1.x 기반 인프라보다 80%~1000% 더 빠른 성능을 얻을 수 있습니다. 사양 변경이 실제 환경의 성능에 어떤 영향을 미치는지 알아보려면 두 프로토콜 버전의 차이를 보여 주는 Anthum의 간단한 HTTP와 HTTPS 비교 테스트를 실행해 보세요.
클라이언트-서버 관계의 발전
이러한 인프라 및 프로토콜 개선과 더불어 애플리케이션의 실제 구성 방식도 변화하고 있습니다. 과거에는 기존 애플리케이션이 모든 것을 클라이언트로 ‘푸시’했기 때문에 ‘프런트엔드’ 가속이 필요했지만, 현대의 애플리케이션은 두 가지 주요 구성 요소(클라이언트와 서버)에 분산되어 있어 애플리케이션과 이루어지는 통신의 90%는 API를 통하든 브라우저를 통하든 작은 데이터 조각을 주고받는 방식으로 이루어집니다.
첫 로드 이후에는 전달되는 ‘콘텐츠’가 거의 없습니다. 프레젠테이션 계층(UI)의 대부분은 클라이언트 측 JavaScript 라이브러리(JQuery, Angular 등)를 통해 조작할 수 있습니다. 즉, 프런트엔드 가속 기술의 주요 대상인 응답 데이터의 양과 유형이 크게 줄었으며, 이제는 HTML이 아닌 JSON 또는 XML이 주를 이룹니다.

이러한 아키텍처 변화로 인해 오늘날 앱에서 HTML이 차지하는 비율은 줄어드는 반면, 다른 구성 요소 유형의 비율은 늘어나고 있습니다(아래 그림 참조).6

상당한 양의 JavaScript(및 HTML)가 CDN을 통해 제공되고 있습니다. 개발자가 스크립트를 로컬에서 불러오는 대신 인터넷에서 직접 포함하기 때문입니다. 따라서 최신 애플리케이션에서는 이러한 콘텐츠를 대상으로 하는 프런트엔드 가속 기술의 중요성이 상대적으로 낮아집니다.
모바일 기기의 확산과 기존 기술(예: Adobe Flash)에서 HTML5로의 전환에 따라 IT 애플리케이션 부서에서는 브라우저를 통해 제공되는 단일 페이지 웹 애플리케이션을 개발하기 시작했습니다. 이러한 단일 페이지 웹 애플리케이션은 일반적으로 사용자가 애플리케이션의 여러 부분을 탐색할 때 페이지를 다시 로드할 필요가 없습니다. 그 결과 탐색 속도가 빨라지고 네트워크 전송 효율성이 향상되며 최종 사용자 경험이 개선됩니다.7 오늘날 대부분의 웹 앱은 ‘단일 페이지’ 설계를 염두에 두고 개발됩니다.
2017년 이후를 위한 이상적인 최종 사용자 애플리케이션 경험 구축
IT 운영 부서에서 관리하는 웹 기반 애플리케이션의 이상적인 최종 사용자 경험을 구축하고 유지하려면 다음과 같은 기술과 방식을 적용해야 합니다.
웹 서버의 프로토콜을 HTTP/2로 표준화합니다.
웹 인프라를 HTTP/2 표준으로 업그레이드하면 HTTP/1 및 HTTP/1.1에서 지속적으로 발생했던 서버 측 성능 문제를 해결할 수 있습니다. HTTP/2는 연결 관리 기능을 개선할 뿐만 아니라 웹 애플리케이션 설계자가 우선순위를 지정할 수 있도록 지원하여, 콘텐츠 전송을 최적화하고 엔드포인트 웹 브라우저 내에서 빌드할 수 있게 합니다.
HTTP/2 기반 요청만 이루어지도록 웹 브라우저의 최소 표준을 설정합니다.
내부 사용자(예: 직원 및/또는 계약업체)나 외부 사용자(예: 고객 및 파트너)가 브라우저를 HTTP/2 요청을 지원하는 버전으로 업그레이드하도록 유도하면 HTTP/1.1 또는 1.0으로 자동 협상되어 성능이 떨어지는 데이터 전송이 이루어지는 것을 방지할 수 있습니다.
SaaS 공급업체가 모든 웹 애플리케이션에 HTTP/2를 구현했는지 확인합니다.
또한 HTTP/1.1 및 1.0으로 자동 협상되어 되돌아가는 것을 방지하면 성능을 개선하고 더 나은 사용자 경험을 제공하는 데 도움이 됩니다.
CDN 공급업체의 PoP가 사용자와 고객이 위치한 지역에 맞게 지리적으로 배치되어 있는지 확인하세요.
직원, 계약업체 및 고객의 지리적 위치에 맞춰 PoP 네트워크를 갖춘 CDN 공급업체를 이용하면 웹 브라우저와 CDN PoP 간 상호 작용의 지연 시간을 줄일 수 있습니다.
네트워크 기반 어플라이언스에 캐싱 기술을 적용하는 방안을 고려하세요.
애플리케이션 앞단에 온보드 캐싱 기술이 탑재된 네트워크 어플라이언스를 배치하면 웹 페이지에 필요한 정적 콘텐츠의 성능을 향상하는 데 도움이 됩니다.
저비용 오픈 소스 웹 캐시를 평가합니다.
캐싱이 필요한 경우 SSD를 사용하는 저비용 고성능 오픈 소스 웹 캐시(예: Varnish)를 고려하세요.
결론
비즈니스 요구 사항과 모바일 및 클라우드 컴퓨팅으로의 전환으로 인해 IT 조직은 핵심 애플리케이션을 제공하는 동시에 사용자 경험을 최적화해야 한다는 압박을 갈수록 더 크게 받고 있습니다. 현재 사용자가 웹 콘텐츠를 경험하는 방식을 변화시키는 요인은 세 가지입니다. CDN의 용량이 크게 확장되었으며, POP가 주요 사용자 기반과 가까운 곳에 위치함에 따라 지연 시간이 단축되고 있습니다. 둘째, 웹 서버와 클라이언트 간의 전반적인 성능을 개선하기 위해 인터넷 프로토콜이 업데이트되었습니다. 셋째, 인터넷 서버와 클라이언트 간의 관계가 변화하면서 양측 간의 트랜잭션이 이전처럼 일방적이지 않게 되었고, 전달되는 데이터도 더욱 동적이며 사용자별로 특화되었습니다. 이러한 변화에 비추어 볼 때, 사용자 경험을 향상하기 위해 프런트엔드 애플리케이션 전송을 최적화하고자 5~7년 전에 수립된 전략은 시장의 영향과 웹 기술의 자연스러운 발전으로 인해 빠르게 가치를 잃고 있습니다.
엔터프라이즈 웹 애플리케이션 인프라는 시장 변화에 맞춰 발전해야 하며, 그렇지 않으면 성능과 IT 투자 수익률이 저하될 수밖에 없습니다. IT 부서의 핵심 과제는 사용자 경험을 제공하는 인프라(예: 웹 서버, 로드 밸런서, CDN 및 SaaS)를 웹 성능 향상을 위해 설계된 HTTP/2로 업그레이드하는 것입니다.
1 http://www.cdnplanet.com/cdns
2 http://httparchive.org
3 https://technology.ihs.com/589721/data-center-network-equipment-market-tracker-regional-q2-2017
4 https://www.stateoftheinternet.com/resources-connectivity-2015-q1-state-of-the-internet-report.html
5 https://w3techs.com/technologies/details/ce-HTTP/2/all/all
6 http://httparchive.org
7 https://techcrunch.com/2012/11/30/why-enterprise-apps-are-moving-to-single-page-design
2017년 8월 29일 게시
