AWS 클라우드
캐싱 시작하기

캐시는 컴퓨팅에서 일반적으로 일시적 성격의 데이터 하위 집합을 저장하는 고속의 데이터 스토리지 계층으로서 향후 데이터에 대한 요청을 해당 데이터의 기본 스토리지 위치를 액세스하여 가능한 것보다 더 빨리 처리해 줍니다. 캐싱은 이전에 검색하거나 계산된 데이터를 효과적으로 재사용할 수 있게 해 줍니다. 캐시의 데이터는 일반적으로 RAM(랜덤 액세스 메모리)와 같은 빠른 액세스 하드웨어에 저장되며 소프트웨어 구성요소와 함께 사용될 수도 있습니다. 캐시의 주요 목적은 더 느린 기본 스토리지 계층을 액세스해야 하는 필요를 줄임으로써 데이터 검색 성능을 향상시키는 것입니다. 역량을 속도와 바꾸는 캐시는 보통 완전하고 지속성을 가지는 데이터베이스 내의 데이터와는 대조적으로 일반적으로 데이터의 하위 집합을 일시적으로 저장합니다.

캐시는 운영 체제와 콘텐츠 전송 네트워크(CDN), DNS, 웹 애플리케이션 및 데이터베이스를 비롯한 네트워크 계층을 포함하는 다양한 기술 계층에 걸쳐 적용되고 활용될 수 있습니다.

RAM과 인 메모리 엔진이 지원하는 높은 요청 비율 또는 IOPS(초당 입/출력 작업)로 인하여, 캐싱은 데이터 검색 성능을 향상시키고 규모 비용을 감소시켜 줍니다. 기존의 데이터베이스와 디스크 기반의 하드웨어로 동일한 규모를 지원하려면 추가 리소스가 필요할 것입니다. 이러한 추가 리소스는 비용을 더 높이지만 여전히 인 메모리 캐시가 제공하는 낮은 지연 시간을 달성할 수 없습니다.

캐시를 사용하면 지연 시간을 현격히 줄이고 Q&A 포털, 게임, 미디어 공유 및 소셜 네트워크와 같은 여러 읽기 중심의 애플리케이션 워크로드의 IOPS를 향상시킬 수 있습니다. 캐시된 정보에는 데이터베이스 쿼리 결과, 컴퓨팅 집약 계산, API 요청/응답 및 HTML, JavaScript 및 이미지 파일과 같은 웹 아티팩트가 포함될 수 있습니다. 추천 엔진과 고성능 컴퓨팅 시뮬레이션과 같이 데이터 세트를 조작하는 컴퓨팅 집약 워크로드는 또한 캐시 역할을 하는 인 메모리 데이터 계층으로부터 혜택을 받습니다. 이러한 애플리케이션에서 매우 큰 데이터 세트들을 수백개의 노드에 걸칠 수 있는 머신 클러스터 상으로 실시간 액세스해야 합니다. 기본 하드웨어 속도 때문에, 이 데이터를 디스크 기반 스토어에서 조작하면 이러한 애플리케이션에 대해 심각한 병목 현상이 발생합니다.

분산 컴퓨팅 환경에서, 전용 캐싱 계층가 있으면 시스템과 애플리케이션은 자체 수명 주기로 캐시에 영향을 주는 위험없이 캐시로부터 독립적으로 실행될 수 있습니다. 캐시는 자체 수명 주기 및 아키텍처 토폴로지를 가진 상이한 시스템에서 액세스될 수 있는 중앙 계층의 역할을 합니다. 이는 특히 애플리케이션 노드의 규모가 동적으로 확대 또는 축소될 수 있는 시스템에 적용됩니다. 캐시가 캐시를 사용하는 애플리케이션이나 시스템과 같은 노드에 있다면, 규모조정은 캐시의 무결성에 영향을 줄 수 있습니다. 또한 로컬 캐시가 사용되는 경우, 이는 단지 그 데이터를 소비하는 로컬 애플리케이션에만 혜택을 줍니다. 분산 캐싱 환경에서, 데이터는 해당 데이터의 모든 소비자들에게 혜택이 되도록 복수의 캐시 서버에 걸쳐 있고 중앙 위치에 저장될 수 있습니다.

diagram_cachingmicrosite
계층 클라이언트 측 DNS 데이터베이스
사용 사례 웹 사이트(브라우저 또는 디바이스)에서의 웹 콘텐츠 검색 가속화 도메인 IP 해상도 웹/앱 서버에서의 웹 콘텐츠 검색 가속화 웹 세션 관리(서버 측) 애플리케이션 성능 및 데이터 액세스 가속화 데이터베이스 쿼리 요청과 연결된 지연 시간 감소
테크놀로지 HTTP 캐시 헤더, 브라우저 DNS 서버 HTTP 캐시 헤더, CDN, 리버스 프록시(Reverse Proxy), Web Accelerator, 키/값(Key/Value) 스토어 키/값(Key/Value) 데이터 스토어, 로컬 캐시 데이터베이스 버퍼, 키/값(Key/Value) 데이터 스토어
솔루션 브라우저 별 Amazon Route 53 Amazon CloudFront, Redis용 ElastiCache, Memcached용 ElastiCache, 파트너 솔루션 애플리케이션 프레임워크, Redis용 ElastiCache, Memcached용 ElastiCache, 파트너 솔루션  Redis용 ElastiCache, Memcached용 ElastiCache

캐시 계층을구현할 때 캐시되고 있는 데이터의 유효성을 이해하는 것이 중요합니다. 성공적인 캐시는 가져오기(fetch)할 때 데이터가 존재한다는 것을 의미하는 높은 적중률의 결과를 낳습니다. 캐시에 가져온 데이터가 존재하지 않을 때 캐시 누락이 발생합니다. TTL(Time To Live)과 같은 컨트롤을 적용하여 적절히 데이터를 만료시킬 수 있습니다. 다른 고려 사항은 캐시 환경이 고가용이어야 할 필요가 있는지의 여부인데 이 고가용 필요 요건은 Redis와 같은 인 메모리 엔진에 의해 충족됩니다. 경우에 따라, 인 메모리 계층을 독립형 데이터 스토리지 계층으로 사용할 수 있으며 이는 기본 위치로부터 데이터를 캐싱하는 것과는 대조됩니다. 이 시나리오에서는 인 메모리 엔진에 상주하는 데이터에서 적절한 RTO(복구 시간 목표 – 정전에서 복구하는 데 소요되는 시간)와 RPO(목표 복구 시점 – 복구 시 포착된 최종 시점 또는 거래)를 정의하여 이것이 적합한지를 파악하는 것이 중요합니다. 다른 인 메모리 엔진의 설계 전략과 특성을 적용하여 대부분의 RTO와 RPO 요구 사항을 충족시킬 수 있습니다.

Amazon ElastiCache는 클라우드에서 인 메모리 데이터 스토어 또는 캐시를 손쉽게 배포, 운영 및 확장할 수 있게 해주는 웹 서비스입니다. 이 서비스는 더 느린 디스크 기반 데이터베이스에 전적으로 의존하기보다는, 빠른 관리형의 인 메모리 데이터 스토어에서 정보를 검색할 수 있도록 지원하여 웹 애플리케이션의 성능을 향상시킵니다.

인 메모리 캐싱에 대한 이 기술 백서로 효과적인 캐싱 전략을 구현할 수 있는 방법을 알아 보십시오.

ElastiCache_Deep_Dive_2016
ElastiCache 심층 분석: 모범 사례 및 사용 패턴
15
애플리케이션 성능 개선

메모리는 디스크(자기 또는 SSD)보다 훨씬 더 빠르기 때문에 인 메모리 캐시에서 데이터를 읽는 속도는 매우 빠릅니다(밀리초 미만). 이렇게 훨씬 더 빠른 데이터 액세스는 애플리케이션의 전체 성능을 향상시킵니다.

데이터베이스 비용 절감

단일 캐시 인스턴스는 수십만 개의 IOPS(초당 입/출력 작업)를 제공할 수 있어 여러 개의 데이터베이스 인스턴스를 대체할 능력이 있고 따라서 총 비용을 절감시킬 수 있습니다. 이는 기본 데이터베이스가 처리량 당 요금을 부과하는 경우 특히 중요합니다.. 이 경우 가격 절감 효과는 수십 퍼센트가 될 수 있습니다.

로드 감소

읽기 로드의 중요한 부분을 백엔드 데이터베이스에서 인 메모리 계층으로 리디렉션함으로써 캐싱은 데이터베이스의 로드를 줄이고 부하로 인한 성능 저하와 스파이크 발생시 손상으로부터 보호할 수 있습니다.

예측 가능한 성능

현대 애플리케이션에서의 일반적인 문제는 애플리케이션 사용 중 발생하는 스파이크를 처리하는 것입니다. 예를 들어, 슈퍼볼이나 선거 기간 동안의 소셜 앱, 블랙 프라이데이 중 전자 상거래 사이트 등이 있습니다. 데이터베이스의 로드가 증가하면 데이터를 가져오는 데 있어 지연 시간이 늘어나 전반적인 애플리케이션 성능 예측이 어려워집니다. 높은 처리량의 인 메모리 캐시를 사용하면 이 문제가 완화될 수 있습니다.

핫스폿 제거

많은 애플리케이션에서 유명 인사 프로필이나 인기있는 제품과 같은 작은 데이터 하위 집합이 나머지 부분에 비해 더 자주 액세스될 것입니다. 이로 인해 데이터베이스에 핫스팟이 생길 수 있으며 가장 자주 사용되는 데이터의 처리량 요구 사항을 기반으로 데이터베이스 리소스의 오버프로비저닝(Overprovisioning)이 필요할 수 있습니다. 인 메모리 캐시에 공통 키를 저장하면 가장 자주 액세스되는 데이터에 대해 빠르고 예측 가능한 성능을 제공하면서 오브프로비저닝의 필요성을 줄여 줍니다.

처리량 증가

인 메모리 시스템은 지연 시간이 짧을 뿐만 아니라 유사한 디스크 기반 데이터베이스에 비해 훨씬 높은 요청 비율(IOPS)을 제공합니다. 분산된 사이드 캐시로 사용되는 단일 인스턴스는 초당 수십만 개의 요청을 처리할 수 있습니다.

  • 사용 사례

    다양한 캐싱 사용 사례 알아보기

    데이터베이스 캐싱

    속도와 처리량에 있어서 데이터베이스가 제공하는 성능은 애플리케이션의 전반적인 성능에 가장 큰 영향을 주는 요소가 될 수 있습니다. 또 오늘날 많은 데이터베이스가 상대적으로 우수한 성능을 제공하고 있지만, 여러 사용 사례에서 귀사의 애플리케이션은 더 높은 성능을 필요로 할 수 있습니다. 데이터베이스 캐싱을 사용하면 처리량을 현저히 증가시키고 백엔드 데이터베이스와 관련된 데이터 검색 지연 시간을 줄일 수 있으므로 결과적으로 애플리케이션의 전반적인 성능이 향상됩니다. 캐시는 성능 향상을 위해 애플리케이션이 활용할 수 있는 데이터베이스에 인접한 데이터 액세스 계층의 역할을 합니다. 데이터베이스 캐시 계층은 관계형 데이터베이스와 NoSQL 데이터베이스를 비롯하여 모든 유형의 데이터베이스 앞에 적용될 수 있습니다. 캐시에 데이터를 로드 하는 데 사용되는 일반적인 기법으로는 지연 로드(lazy loading) 및 연속 기입 (write-through) 방법을 들 수 있습니다. 자세한 내용은 여기를 클릭하십시오.


    CDN

    웹 트래픽이 지리적으로 분산되어있는 경우, 귀사의 전체 인프라를 전 세계에 복제하는 것은 항상 가능하지 않으며 절대 비용 효율적이지 않습니다. CDN은 글로벌 엣지 위치 네트워크를 활용하여 동영상, 웹 페이지, 이미지 등과 같은 웹 콘텐츠의 캐시된 복사본을 고객에게 제공할 수 있는 기능을 제공합니다. 응답 시간을 줄이기 위해 CDN은 고객 또는 요청 발신 위치에 가장 가까운 에지 위치를 사용하여 응답 시간을 줄입니다. 웹 자산이 캐시로부터 제공되면 처리량이 크게 증가합니다. 동적 데이터의 경우 원본 서버에서 데이터를 검색하도록 많은 CDN을 구성할 수 있습니다.

    Amazon CloudFront는 웹 사이트, API, 동영상 콘텐츠 또는 기타 웹 자산의 전송을 가속화하는 글로벌 CDN 서비스입니다. 다른 Amazon Web Services 제품과 통합하여 사용하면 개발자와 기업이 최소 사용량에 대한 약정 없이도 콘텐츠를 최종 사용자에게 전송하는 속도를 손쉽게 가속화할 수 있습니다. CDN에 대한 자세한 내용을 보려면 여기를 클릭하십시오.


    DNS

    인터넷에서 이루어진 모든 도메인 요청은 기본적으로 DNS 캐시 서버를 쿼리하여 이 도메인 네임과 연결된 IP 주소를 확인합니다. DNS 캐싱은 ISP 및 DNS 서버를 통해 OS를 포함한 많은 레벨에서 발생할 수 있습니다.

    Amazon Route 53은 가용성과 확장성이 우수한 클라우드 Domain Name System(DNS) 웹 서비스입니다.


    세션 캐싱

    HTTP 세션에는 로그인 정보, 쇼핑 카트 목록, 이전에 본 항목 등 사이트 사용자와 웹 애플리케이션 간에 교환된 사용자 데이터가 포함됩니다. 웹 사이트에서 뛰어난 사용자 경험을 제공하는 데 있어 중요한 사항은 사용자의 환경 설정(Preference)을 기억하고 풍부한 사용자 컨텍스트를 제공하여 HTTP 세션을 효과적으로 관리하는 것입니다. 최신 애플리케이션 아키텍처의 경우 중앙화된 세션 관리 데이터 스토어를 사용하는 것이 모든 웹 서버에서 일관된 사용자 경험을 제공하고 웹 서버가 탄력적인 경우 세션 내구성을 향상시키며, 세션 데이터가 여러 캐시 서버 상으로 복제되는 경우 더 높은 가용성을 제공할 수 있는 이상적인 솔루션입니다.

    자세한 내용은 여기를 클릭하십시오.


    API

    오늘날 대부분의 웹 애플리케이션은 API를 기반으로 구축되었습니다. API는 일반적으로 HTTP를 통해 액세스할 수 있는 RESTful 웹 서비스이며 사용자가 애플리케이션과 상호 작용할 수 있도록 해 주는 리소스를 공개합니다. API를 설계할 때 API에 예상되는 로드, 이를 위한 권한 부여, API 소비자들에 버전 변경이 미치는 영향, 또 가장 중요한 것으로 API 사용 용이성 등을 고려하는 것이 중요합니다. API가 항상 비즈니스 로직을 인스턴스화하거나 모든 요청에 대해 백엔드 요청을 데이터베이스에 해야 할 필요는 없습니다. 때로는 API의 캐시 결과를 제공하여 최적의 비용 효율적인 응답을 전달할 수 있습니다. 이는 기본 데이터의 변경 비율과 일치하도록 API 응답을 캐시할 수 있는 경우 특히 그렇습니다. 예를 들어, 귀사가 사용자에게 제품 목록 API를 공개하고 제품 카테고리는 하루에 한 번만 변경된다고 가정해 보겠습니다. 제품 카테고리 요청에 대한 응답이 API 호출이 이루어질 때마다 하루 종일 동일하다는 것을 고려하면 API 응답을 하루 동안만 캐시하는 것으로 충분할 것입니다. API 응답을 캐싱함으로써 애플리케이션 서버 및 데이터베이스를 비롯한 인프라에 대한 부담을 제거할 수 있습니다. 또한 응답 시간이 빨라지고 성능이 더 우수한 API를 제공하는 이점을 얻게 됩니다.

    Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안할 수 있게 해주는 완전 관리형 서비스입니다.


    하이브리드 환경에 대한 캐싱

    하이브리드 클라우드 환경에서 클라우드에 상주하며 온 프레미스 데이터베이스에 자주 액세스해야하는 애플리케이션을 가지고 있을 수 있습니다. VPN과 Direct Connect를 포함하여 클라우드와 온 프레미스 환경 간의 연결을 생성하는 데 사용할 수 있는 많은 네트워크 토폴로지가 있습니다. VPC로부터 온 프레미스 데이터 센터까지의 지연은 적을 수 있지만 전체 데이터 검색 성능을 높이기 위해 온 프레미스 데이터를 클라우드 환경에 캐시하는 것이 가장 이상적입니다.


    웹 캐싱

    웹 콘텐츠를 뷰어에게 전달할 때 HTML 문서, 동영상 등과 같은 웹 자산을 검색하는 것에 관여되는 대부분의 지연 시간은 이러한 아티팩트를 캐싱하고 디스크 읽기 및 서버 로드를 제거함으로써 현저히 줄일 수 있습니다. 서버 및 클라이언트 측 모두에서 다양한 웹 캐싱 기법을 사용할 수 있습니다. 서버 측 웹 캐싱은 일반적으로 앞에 있는 웹 서버로부터의 웹 응답을 유지하는 웹 프록시를 사용하여 로드 및 지연 시간을 효과적으로 줄입니다. 클라이언트 측 웹 캐싱은 이전에 방문한 웹 콘텐츠의 캐시된 버전을 유지하는 브라우저 기반 캐싱을 포함할 수 있습니다. 웹 캐싱에 대한 자세한 내용은 여기를 클릭하십시오.


    일반 캐시

    메모리에서 데이터에 액세스하는 것은 디스크 또는 SSD에서 데이터에 액세스하는 것보다 훨씬 빠르게 수행되므로 캐시의 데이터를 활용하면 많은 이점이 있습니다. 거래형 데이터 지원이나 디스크 기반 내구성을 필요로 하지 않는 많은 사용 사례의 경우, 인 메모리 키/값(key-value) 스토어를 독립형 데이터베이스로 사용하는 것은 성능이 뛰어난 애플리케이션을 구축할 수 있는 좋은 방법입니다. 속도 뿐 아니라 애플리케이션은 비용 효율적인 가격으로 높은 처리량의 이점을 얻을 수 있습니다. 제품 그룹, 카테고리 리스팅, 프로필 정보 등과 같은 참조 가능한 데이터는 일반 캐시에 대한 유용한 사용 사례입니다. 일반 캐시에 대한 자세한 내용은 여기를 클릭하십시오.


    통합 캐시

    통합 캐시는 원본 데이터베이스에서 자주 액세스하는 데이터를 자동으로 캐시하는 인 메모리 계층입니다. 가장 일반적으로 기본 데이터베이스는 데이터가 캐시에 상주하는 경우 인바운드 데이터베이스 요청에 대한 응답을 제공하기 위해 캐시를 활용합니다. 이렇게하면 요청 지연 시간을 줄이고 데이터베이스 엔진에서의 CPU 및 메모리 사용량을 줄여 데이터베이스 성능을 현격히 높일 수 있습니다. 통합 캐시의 중요한 특징은 캐시된 데이터가 데이터베이스 엔진에 의해 디스크에 저장된 데이터와 일치한다는 것입니다.

  • 업계

    다양한 캐싱 사용 사례 알아보기

    모바일

    모바일 애플리케이션은 빠른 소비자 디바이스 채택과 기존의 컴퓨터 장비의 사용 감소를 감안할 때 엄청나게 빨리 성장하는 시장 분야입니다. 게임, 상업용 애플리케이션, 건강 애플리케이션 등에 상관없이 오늘날 거의 모든 시장 분야에서 모바일 친화적인 애플리케이션을 사용하고 있습니다. 애플리케이션 개발 관점에서 볼 때, 모바일 애플리케이션을 구축하는 것은 다른 형태의 애플리케이션을 구축하는 것과 매우 유사합니다. 관심을 두어야 할 부분, 프리젠테이션 티어, 비즈니스 티어 및 데이터 계층이 동일합니다. 화면의 부동산 및 개발 도구가 다르긴 하지만 훌륭한 사용자 경험을 제공하는 것은 모든 애플리케이션들이 가지는 공통적인 목표입니다. 효과적인 캐싱 전략을 통해 애플리케이션은 사용자가 기대하는 성능을 제공하고 대규모로 확장하며 전체적 비용을 줄일 수 있습니다.

    AWS Mobile Hub는 모바일 앱을 구축 및 테스트하고 앱 사용을 모니터링하는 AWS 클라우드 서비스를 검색, 구성 및 액세스하기 위한 통합 환경을 제공하는 콘솔입니다.


    IoT

    사물 인터넷은 디바이스 센서를 통해 디바이스와 실제 세계로부터 정보를 수집하여 인터넷이나 애플리케이션에 전달하는 것의 기반이 되는 개념입니다. IoT의 가치는 수집된 데이터를 거의 실시간으로 이해하게 되어 궁극적으로 소비 시스템 및 애플리케이션이 해당 데이터에 신속하게 응답할 수 있게 되는 능력입니다. GPS 좌표를 전송하는 디바이스를 예로 들어 보겠습니다. 귀하의 IoT 애플리케이션은 이러한 좌표에서 상대적으로 근접한 곳에 관심 지점을 제시함으로써 응답할 수 있습니다. 또한 디바이스 사용자와 관련된 환경 설정(Preference)을 저장한 경우 해당 개인에 맞도록 권장 사항을 조정할 수 있습니다. 이 특정 예에서 애플리케이션이 좌표에 응답할 수 있는 속도는 뛰어난 사용자 경험을 제공하는 데 매우 중요합니다. 여기서 캐싱은 중요한 역할을 할 수 있습니다. 예를 들어, 지리적 좌표와 함께 관심 지점을 Redis와 같은 키/값(key/value) 스토어에 저장하여 빠른 검색을 가능케 할 수 있습니다. 애플리케이션 개발 관점에서 볼 때, 프로그래매틱(programmatic) 방식으로 그렇게 할 수 있는 상황인 경우, 기본적으로 IoT 애플리케이션을 코드화하여 모든 이벤트에 응답할 수 있습니다. IoT 아키텍처를 구축할 때 고려해야 할 중요한 고려 사항에는 수집된 데이터를 분석하고 N개의 디바이스를 확장할 수 있는 솔루션을 설계하고 비용 효율적인 아키텍처를 제공하는 것과 관련된 응답 시간이 포함됩니다.

    AWS IoT는 연결된 디바이스가 쉽고 안전하게 클라우드 애플리케이션 및 다른 디바이스와 상호 작용할 수 있게 해주는 관리형 클라우드 플랫폼입니다.

    추가 읽기 자료: Redis용 Amazon ElastiCache로 IoT 및 시계열 데이터 관리하기(Managing IoT and Time Series Data with Amazon ElastiCache for Redis


    애드테크(AdTech)

    최신 애드테크(Ad Tech) 애플리케이션은 특히 성능 측면에서 많은 것을 요구합니다. 애드테크(AdTech)의 중요한 성장 영역의 일례로 실시간 입찰(RTB)을 들 수 있습니다. 이것은 실시간으로 가장 세분화된 노출 수준에서 디지털 디스플레이 광고를 거래하기위한 경매 기반 방식입니다. RTB는 2015 년에 프로그래매틱(programmatic) 방식으로 미국에서 구매한 광고의 74.0%, 미화 110 억 달러를 차지하는 우세한 거래 방식이었습니다 (eMarketer Analysis 자료). 실시간 입찰 앱을 구축할 때 밀리초는 입찰가를 제 시간에 제출하는 것과 전혀 쓸모없게 되는 경우의 차이가 될 수 있습니다. 즉, 데이터베이스에서 입찰 정보를 가져 오는 것은 엄청나게 빨라야 함을 의미합니다. 밀리초 미만으로 입찰 세부 사항에 액세스할 수 있는 데이터베이스 캐싱은 이러한 고성능을 달성할 수 있게 해 주는 뛰어난 솔루션입니다.


    게임

    상호 작용(Interactivity)은 거의 모든 현대 게임의 기본 요건입니다. 느리거나 반응하지 않는 게임보다 플레이어를 더 좌절시키는 것은 없으며 이러한 게임은 거의 성공하지 못합니다. 모바일 멀티 플레이어 게임의 경우 성능에 대한 요구 사항은 더욱 까다로와집니다. 왜냐 하면 한 플레이어가 취하는 동작이 실시간으로 다른 플레이어들과 공유되어야 하기 때문입니다. 캐싱은 자주 액세스하는 데이터에 대해 밀리초 미만의 쿼리 응답을 제공하여 게임을 원활하게 진행시키는 데 중요한 역할을 합니다. 또한 "점수 별로 현재 상위 10명의 플레이어는 누구입니까?"와 같이 동일한 데이터를 여러 번 쿼리 할 때 중요한 문제를 완화하는 데 도움이됩니다.

    AWS에서의 게임 개발에 대한 자세한 내용을 보려면 여기를 클릭하십시오.



    미디어

    미디어 회사는 끊임없이 변화하는 독자/시청자를 가진 고객들에게 대량의 정적 콘텐츠를 전송해야 할 필요성을 종종 해결해야 합니다. 예로 시청자에게 대량의 비디오 콘텐츠를 스트리밍하는 Netflix나 Amazon Video와 같은 비디오 스트리밍 서비스를 들 수 있습니다. 이러한 서비스는 전세계에 분산된 캐싱 서버 세트에 데이터가 저장되는 콘텐츠 전송 네트워크(Content Delivery Network)에 가장 적합합니다. 미디어 애플리케이션의 또 다른 측면은 로드가 급증할 수 있고 예측이 힘든 경향이 있다는 것입니다. 연예인이 방금 트위터에 올린 웹사이트의 블로그나 슈퍼볼 경기 중 축구팀의 웹사이트를 상상해보십시오. 콘텐츠의 작은 하위 세트에 대한 이러한 대규모 수요의 급증은 키 당 처리량에 제한되어 있기 때문에 대부분의 데이터베이스에 어려움을 가져다 줍니다. 메모리는 디스크보다 처리량이 훨씬 더 크기 때문에 데이터베이스 캐시는 읽기를 메모리 캐시로 읽기를 리디렉션하여 문제를 해결할 것입니다.


    전자 상거래

    현대 전자 상거래 애플리케이션은 사용자의 데이터 및 쇼핑 기록을 기반으로 실시간 권장 사항을 비롯하여 개인화된 쇼핑 경험을 제공하며 더욱 정교해지고 있습니다. 또한 종종 사용자의 소셜 네트워크를보고 친구가 좋아하거나 구매한 내용을 기반으로 추천합니다. 처리해야 할 데이터의 양은 증가하는 반면 고객의 인내심은 늘어나지 않습니다. 따라서 애플리케이션을 실시간으로 실행하는 것은 사치가 아니라 필수입니다. 잘 실행된 캐싱 전략은 애플리케이션 성능의 중요한 측면이며, 애플리케이션의 성공 또는 실패, 아니면 판매를 하는 것과 고객을 잃는 것 간의 차이가 될 수 있습니다.

    샘플 전자 상거래 아키텍처를보려면 여기를 클릭하십시오.


    소셜 미디어

    소셜 미디어 앱은 전 세계를 휩쓸고 있습니다. Facebook, Twitter, Instagram 및 Snapchat과 같은 소셜 네트워크에는 끊임없이 증가하는 콘텐츠를 소비하는 어마어마한 수의 사용자가 있습니다. 사용자가 피드를 열 때 거의 실시간으로 최신의 맞춤형 콘텐츠를 볼 것으로 기대합니다. 이는 각 사용자가 서로 다른 친구, 이미지, 관심사 등을 가지고 있어 정적 콘텐츠가 아니기 때문에 기본 플랫폼의 엔지니어링 복잡성 요구는 더욱 심각해 집니다. 소셜 미디어 앱은 대규모 엔터테인먼트, 스포츠 및 정치 행사와 관련된 사용에서 아주 급증하기 쉽습니다. 이러한 급증(Spike) 복원력과 실시간 성능은 백그라운드 이미지와 같은 정적 콘텐츠를 위한 콘텐츠 전송 네트워크(CDN), 사용자의 현재 세션 데이터를 추적하는 세션 캐시 그리고 친한 친구로부터의 최신 뉴스와 최신 이미지 등 자주 액세스하는 데이터를 가까이 유지하는 데이터베이스 캐시를 비롯한 여러 계층의 캐싱을 통해 달성됩니다.


    의료

    의료 업계는 전 세계에서 점점 더 많은 수의 환자들이 의료 서비스를 이용할 수 있고 액세스할 수 있도록 해 주는 디지털 혁명을 경험하고 있습니다. 일부 애플리케이션에서는 환자가 의사를 보면서 비디오 상담을 할 수 있고 대부분의 의료 서비스 공급자는 환자가 검사 결과를 보고 의료 직원과 대화를 나눌 수 있도록 해 주는 애플리케이션을 제공합니다. 건강 측면에서는 사용자의 특정 센서 활동 (예: FitBit 및 Jawbone)을 추적하는 것에서부터 포괄적인 건강 코칭 및 데이터에 이르는 다양한 애플리케이션들이 있습니다. 이러한 애플리케이션 대화형 성격을 감안할 때 빠른 성능의 애플리케이션, 비즈니스 및 데이터 티어에 대한 필요성을 해결해야 합니다. 효과적인 캐싱 전략을 사용하면 빠른 성능을 제공하고 전체 인프라 비용을 줄이며 사용량이 증가함에 따라 규모를 확장할 수 있습니다.

    AWS 기반 의료 애플리케이션 구축에 대해 자세히 알아보려면 여기를 클릭하십시오.


    핀테크(FinTech)

    우리가 금융 서비스를 소비하는 방식은 최근 몇 년 동안 극적으로 변화해 왔습니다. 애플리케이션에는 은행 및 보험 서비스 액세스, 사기 탐지, 투자 서비스, 실시간 알고리즘을 통한 자본 시장 최적화 등이 포함됩니다. 고객의 재무 데이터에 실시간으로 액세스하여 자금을 이체하거나 지불하는 것과 같은 트랜잭션을 할 수 있도록 하는 일은 어렵습니다. 첫째, 사용자가 거의 실시간으로 앱과 상호 작용하기를 원하는 다른 애플리케이션에서와 같은 유사한 제약 조건이 적용됩니다. 또한 금융 애플리케이션은 향상된 보안 및 사기 탐지와 같은 추가 요구 사항을 부과할 수 있습니다. 다중 계층의 캐싱 전략을 포함하여, 효율적인 아키텍처는 사용자가 기대하는 성능을 달성하는 데 매우 중요합니다. 애플리케이션 요구 사항에 따라 캐싱 계층에는 사용자의 세션 데이터를 저장하는 세션 캐시, 정적 콘텐츠를 제공하기위한 콘텐츠 전송 네트워크(CDN) 및 고객이 가장 최근에 구매한 10 가지 품목과 같이 자주 액세스하는 데이터에 대한 데이터베이스 캐시가 포함됩니다.

    AWS 기반 앱 금융 서비스 앱에 대한 자세한 내용은 여기를 클릭하십시오.

Amazon ElastiCache와 같은 완전히 관리되는 서비스로 클라우드에서 캐싱을 시작하는 것은 쉽습니다. 캐시 설정, 관리 및 집행에 있어서의 복잡성을 제거하여 조직에 가치를 더하는 업무에 집중할 수 있습니다. Amazon ElastiCache에 지금 가입하십시오.

Amazon ElastiCache 시작하기