Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법

기업 고객들은 클라우드 도입을 가속화하고 있으며, 민첩성을 제공하고 운영을 단순화하며 유연한 확장이 가능한 Database-as-a-Service(DBaaS)를 적극적으로 선택하고 있습니다. Stack Overflow의 2020년 개발자 설문조사에서 Redis는 4년 연속 '개발자들이 가장 사랑하는 데이터베이스'로 선정되었습니다. 현재 주요 클라우드 제공업체들은 모두 오픈소스 Redis에 기반한 자체 관리형 Redis 데이터베이스 서비스를 제공하고 있습니다. 그렇다면 기업 고객들이 오픈소스 Redis에서 Redis Enterprise Cloud로 전환하려는 이유는 무엇일까요? 이 글에서는 개발자와 아키텍트가 비즈니스 핵심 애플리케이션을 위한 최고의 Redis 경험을 보장하기 위해 반드시 고려해야 할 5가지 핵심 의사결정 요소를 살펴봅니다.

퍼블릭 클라우드 또는 자체 가상 프라이빗 클라우드(VPC)에서 완전히 호스팅되는 비용 효율적인 완전관리형 DBaaS를 찾고 계신다면, Redis Enterprise Cloud가 강력한 솔루션이 될 수 있습니다. Redis 전문가들이 관리하는 Redis Enterprise Cloud는 예측 가능하고 안정적인 최상의 성능으로 높은 가용성과 확장성을 갖춘 환경에서 Redis 데이터셋을 운영합니다. 대부분의 배포 관리 작업이 자동으로 처리되므로 데이터베이스의 관리와 운영에 대한 부담 없이 고객에게 비즈니스 가치를 전달하는 데 집중할 수 있습니다.

함께 읽으면 좋은 글: DBaaS 제공업체 선택 시 고려해야 할 6가지 핵심 기능, Amazon ElastiCache에서 Redis Enterprise Cloud로의 온라인 데이터베이스 마이그레이션 쉽게 하기

Redis Enterprise Cloud는 Redis 데이터셋을 운영하기 위한 완전관리형 서비스입니다. 데이터셋이 상시 복제되므로 장애가 발생하더라도 자동 페일오버(auto-failover) 메커니즘이 중단 없는 데이터 서비스를 보장합니다. 또한 Redis on Flash(RoF)와 같은 기능은 엔터프라이즈 개발자에게 대규모 Redis 데이터베이스를 상당한 비용 절감과 함께 활용할 수 있는 독보적인 능력을 제공합니다.

Redis Enterprise Cloud는 Redis Enterprise 소프트웨어 제품의 수천 명 고객에게 서비스를 제공해온 검증된 Redis Enterprise 기술에 기반합니다. Redis Enterprise는 Amazon Web Services(AWS), Microsoft Azure, Google Cloud에서 완전관리형 DBaaS로 배포할 수 있으며, Amazon Elastic Kubernetes Service(EKS), Azure Kubernetes Service(AKS), Google Kubernetes Engine(GKE)에서 관리형 Kubernetes 서비스로도 제공됩니다. 베어메탈, 가상 머신, Red Hat OpenShift Container Platform, Pivotal Kubernetes Service(PKS)에서 소프트웨어 형태로 구동하거나, 운영 유연성을 유지하고 벤더 종속(vendor lock-in)을 피하기 위한 하이브리드 모델로도 배포 가능합니다. Redis Enterprise Cloud를 사용하면 주요 퍼블릭 클라우드에 신속하게 배포하고 오픈소스 Redis 클라이언트와 완벽하게 호환되는 Redis 데이터베이스를 생성할 수 있습니다.

Redis Enterprise Cloud vs. Amazon ElastiCache

물론 Redis Enterprise Cloud만이 유일한 DBaaS 선택지는 아닙니다. 선두권 DBaaS 플랫폼을 검색해 보면, 예를 들어 AWS 내에는 완전 또는 부분적으로 관리되는 다양한 데이터베이스 서비스가 있으며, 이들 서비스는 다른 AWS 서비스나 외부 리소스와 연동할 수 있습니다. 이러한 데이터베이스 중 일부는 폭넓게 채택되어 캐싱, 세션 관리, 게임 리더보드, 지리공간 애플리케이션 등에 활용되고 있습니다.

Amazon ElastiCache가 가장 잘 알려진 사례일 것입니다. AWS가 제공하는 인기 있는 서드파티 Redis-as-a-Service인 ElastiCache는 클라우드에서 Memcached 또는 Redis 프로토콜 호환 서버 노드를 배포하고 실행할 수 있게 해주며, 오픈소스 Redis에 기반한 관리형 캐싱 서비스입니다.

이를 바탕으로, Amazon ElastiCache에서 Redis Enterprise Cloud로 마이그레이션해야 하는 핵심 이유들을 살펴보겠습니다.

1. Redis Enterprise Cloud는 멀티테넌시 아키텍처를 기본 내장

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법

멀티테넌트(multi-tenant) DBaaS를 아파트에, 싱글테넌트(single-tenant) DBaaS를 단독주택에 비유할 수 있습니다. 아파트에 거주하면 건물 안에 자신만의 공간이 있지만 다른 입주민과 벽을 공유하게 되는데, 이러한 구조는 상당한 비용 절감 효과를 제공하고 임대 계약 및 입주 과정을 더 빠르고 간편하게 만듭니다.

Redis Enterprise Cloud는 Redis Enterprise의 멀티테넌트 서비스로, 하나의 Redis Enterprise Cloud 구독으로 수백 개의 테넌트를 지원하는 소프트웨어 멀티테넌시를 제공합니다. 각 테넌트는 다른 Redis 데이터베이스와 완전히 격리된 자체 Redis 데이터베이스 엔드포인트를 갖습니다. 하나의 플랜에서 여러 전용 데이터베이스를 호스팅할 수 있으며, 각 데이터베이스는 전용 프로세스에서 논블로킹(non-blocking) 방식으로 실행됩니다. 데이터 센터, 프라이빗 클라우드 또는 가상 프라이빗 클라우드에 Redis Enterprise를 배포하면 여러분이 멀티테넌시 아키텍처의 규모 경제 효과를 누릴 수 있습니다. 몇 개 노드로 구성된 단일 Redis Enterprise 클러스터로 개발과 테스트를 지원한 뒤, 그대로 프로덕션 환경으로 확장할 수 있습니다.

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법

반면 Amazon ElastiCache는 순수한 싱글테넌트 시스템입니다. 오픈소스 Redis를 사용하며, 컨테이너나 가상 어플라이언스 형태로 Redis를 배포하고 하위 관리 솔루션이 새 Redis 인스턴스를 생성하도록 하는 방식을 따릅니다. 멀티테넌시는 서버/인프라 계층에서만 구현되며, 이러한 솔루션은 Redis 인스턴스 단위로 과금됩니다. 규모와 범위의 경제 효과는 여러분보다 서비스 제공업체에 더 큰 이익을 가져다줍니다.

2. 진정한 멀티 데이터 모델 데이터베이스 지원으로 빠른 출시 시간 실현

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법

온프레미스에 DBMS를 배포하는 것과 비교했을 때, DBaaS는 조직에 재무적·운영적·전략적 측면에서 상당한 이점을 제공합니다. 그중 핵심은 확장성입니다. 기업은 고객의 높은 기대치에 부응하기 위해 빠르고 견고하게 애플리케이션을 제공해야 합니다. 밀리초 미만(sub-millisecond)의 응답 시간 제공, 어떤 규모의 기업 요구사항도 안정적으로 지원, 초당 수백만 건의 요청을 원활하게 처리할 수 있는 확장성은 현대 애플리케이션 개발에 필수적입니다. 동시에 기술 솔루션은 임계 업무용 애플리케이션의 가동 시간과 신뢰성 SLA를 충족하면서 클라우드 네이티브 아키텍처를 처리할 수 있을 만큼 개방적이고 유연해야 합니다.

Redis 모듈은 Redis를 확장하여 다양한 인기 사용 사례를 지원하는 애드온입니다. Redis에 매끄럽게 통합되고 인메모리 방식으로 처리되며, Redis의 단순성, 초고성능, 확장성, 고가용성을 그대로 활용합니다. 누구나 Redis 모듈을 만들 수 있지만, Redis Enterprise Cloud는 Redis가 직접 개발한 모듈을 지원합니다. 여기에는 RediSearch, RedisBloom, RedisTimeSeries가 포함되며, 이 모듈들은 데이터 분석, 머신러닝 같은 사용 사례를 더욱 강력하게 지원하는 새로운 데이터 구조를 제공합니다.

모듈을 통해 Redis Enterprise Cloud는 사용 사례마다 특화 데이터베이스를 따로 운영하고 유지해야 하는 부담을 없애줍니다. Redis Enterprise는 10가지 데이터 구조와 여러 목적별 모듈을 통합하여 모든 사용 사례에서 최고 수준의 성능을 발휘합니다. 또한 서버리스 인데이터베이스 엔진인 RedisGears는 Redis 코어와 Redis 모듈 전반에 걸친 트랜잭션과 트리거 기반 이벤트를 밀리초 미만의 지연 시간으로 지원합니다.

반면 Amazon ElastiCache는 RediSearch, RedisGraph, RedisTimeSeries, RedisBloom, RedisJSON과 같은 Redis Enterprise 모듈을 지원하지 않습니다. 이처럼 강력하고 다재다능한 모듈은 오직 Redis Enterprise에서만 사용할 수 있습니다.

3. 학술적으로 검증된 CRDT 기술 기반 Active-Active 지리적 분산 배포 지원

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법

현대 애플리케이션은 사용자의 위치와 무관하게 즉각적인 응답을 제공해야 합니다. 기업은 클라우드 리전 간, 나아가 서로 다른 클라우드 제공업체 간에도 데이터베이스를 효율적으로 복제할 수 있는 DBaaS가 필요합니다. 또한 고성능 글로벌 분산 애플리케이션을 구축하고 배포하는 일은 결코 쉽지 않습니다. Redis Enterprise의 CRDT 기반 Active-Active 기술은 지리적으로 복제된 리전의 수와 리전 간 거리에 상관없이 읽기·쓰기 작업에 대해 로컬 수준의 지연 시간을 제공하며, 충돌 해결 기능이 내장되어 있습니다. 과반수의 복제본이 다운되더라도 비즈니스 연속성을 보장합니다.

Redis Enterprise Cloud는 Active-Active 지리적 분산(Geo-Distribution)을 지원하는 유일한 DBaaS입니다. 사용자가 어디에 있든 Redis 데이터베이스 클러스터 인스턴스를 사용자 근처에 배치할 수 있으며, 합의 기반(conensus-free) 프로토콜을 활용해 일관성을 유지하면서 읽기·쓰기 작업 모두에 대해 보장된 로컬 지연 시간을 제공합니다. 강력한 최종 일관성(strong eventual consistency)을 통해 데이터의 수렴된 일관된 뷰를 손쉽게 전달합니다.

반면 ElastiCache는 Active-Passive 방식의 멀티 리전 복제만 지원하며, Active-Active 멀티 리전 복제나 Active-Active 멀티클라우드 복제는 지원하지 않습니다.

4. Redis on Flash(RoF) 지원

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법

오늘날 애플리케이션은 테라바이트, 심지어 페타바이트에 달하는 정형 또는 비정형 데이터를 처리하고 비즈니스 속도에 맞는 응답을 반환해야 합니다. 핵심 비즈니스 의사결정이 자동화됨에 따라 데이터에서 얻은 인사이트는 몇 분 또는 몇 시간 안에 추출되어야 하지만, 기존의 배치(batch) 도구로는 며칠 또는 몇 주가 걸립니다. 여기에는 성능과 비용의 과제가 따릅니다. 초당 수십억 개의 데이터 포인트를 처리하면서도 인메모리 데이터베이스의 높은 처리량과 낮은 지연 시간이 필요합니다. Redis on Flash(RoF) 기술은 Redis가 빠르지만 상대적으로 비싼 DRAM과 약간 느리지만 비용 효율적인 플래시 메모리를 조합하여 구동되도록 함으로써 이 문제를 해결합니다.

Redis on Flash는 Redis Enterprise Cloud 사용자에게 상당한 비용 절감과 함께 매우 큰 규모의 Redis 데이터베이스를 운영할 수 있는 독특한 능력을 제공합니다. 표준 Redis 데이터베이스는 모든 데이터를 DRAM에 저장해야 하는 반면, Redis on Flash는 Redis 데이터베이스가 DRAM과 전용 플래시 메모리(SSD)에 걸쳐 저장될 수 있게 합니다. 키(key)는 항상 DRAM에 저장되며, RoF는 LRU(Least Recently Used) 기반 메커니즘을 통해 값(value)의 위치(DRAM vs. 플래시)를 지능적으로 관리합니다. 자주 접근되는 핫(hot) 값은 DRAM에, 사용 빈도가 낮은 웜(warm) 값은 플래시 메모리로 이동됩니다. 이를 통해 거의 DRAM 수준의 지연 시간과 성능을 유지하면서 훨씬 더 큰 데이터셋을 극적으로 낮은 비용으로 처리할 수 있습니다.

Redis on Flash는 Redis Enterprise와 Redis Enterprise Cloud에서만 제공되며, ElastiCache에서는 사용할 수도 지원되지도 않습니다.

5. 하이브리드 및 멀티클라우드 배포 지원으로 벤더 종속 최소화

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법

기업은 선택의 자유를 요구합니다. 진정으로 유용한 데이터 플랫폼은 어떤 클라우드 플랫폼에서도 구동되고, 클라우드 전반과 온프레미스 데이터 센터에 걸친 복제 데이터와 함께 작동할 수 있어야 합니다. 여러 가지 이유로 멀티클라우드 환경은 훨씬 더 보편화될 것으로 예상됩니다. 일부 기업은 특정 워크로드를 더 빠르고 비용 효율적으로 실행하기 위해 다양한 특화 클라우드를 활용할 것이며, 개선된 도구들이 이러한 이기종 환경의 관리를 더 쉽게 만들어 줄 것입니다. 다른 기업들은 백업 옵션 확보나 벤더 종속 우려 완화를 위해 여러 클라우드 벤더와 협력할 것입니다. 또한 서로 다른 기술 스택을 가진 회사들의 합병과 인수(M&A) 과정에서 여러 클라우드를 자연스럽게 물려받는 경우도 있을 것입니다.

Redis Enterprise는 모든 클라우드에서 작동하여 운영 유연성을 보존합니다. 어떤 클라우드를 사용하든 관계없이, Redis Enterprise는 관리형 서비스로 제공되거나 자체 클라우드 인프라에서 구동할 수 있는 소프트웨어 형태로 이용할 수 있습니다. Redis Enterprise를 관리형 서비스로 실행하는 것이 가장 빠른 배포 방법이자 즉각적인 가치 실현(time to value)의 지름길입니다. Redis Enterprise는 AWS Marketplace, Microsoft Azure Marketplace, Google Cloud Marketplace를 포함한 다양한 클라우드 벤더 마켓플레이스를 통해 제공됩니다.

Redis Enterprise Cloud로의 전환

점점 더 많은 기업이 소프트웨어 중심 비즈니스로 전환하면서, 오늘날 온라인 고객이 요구하는 혁신적인 실시간 경험을 제공하기 위한 클라우드 네이티브 전략을 채택하고 있습니다. 기업들은 클라우드 네이티브 이니셔티브의 온전한 효과를 얻으려면 최신 기술에 대한 접근을 제공하고, 비용을 통제하며, 벤더 종속을 피할 수 있는 하이브리드 클라우드 및 멀티클라우드 접근 방식이 반드시 포함되어야 한다는 사실을 깨닫고 있습니다.

Redis Enterprise Cloud는 현대적인 클라우드 네이티브 데이터 계층을 구동하기에 완벽하게 적합합니다. 높은 가용성, 강력한 복원력, 선형 확장성을 갖춘 최고 수준의 성능, 그리고 목적에 맞게 설계된 모듈 덕분에 오늘날의 글로벌 분산 애플리케이션을 탄탄하게 뒷받침할 수 있습니다.

Redis Enterprise Cloud를 시작할 준비가 되셨나요? 아래를 클릭하여 지금 바로 여정을 시작하세요:

Redis Enterprise Cloud, AWS에서 성숙한 기업 고객의 요구사항을 충족하는 방법