여전히 마이크로서비스 아키텍처가 오늘날의 애플리케이션 개발을 지배하고 있다는 의심을 품고 있다면 이제 극복할 때입니다. 애플리케이션 현대화가 데이터 계층에 미치는 영향에 대한 IDC의 새로운 InfoBrief에 따르면 , Redis가 후원하는 북미 기업 설문 조사 응답자 300명 중 89%가 이미 마이크로서비스를 사용하고 있습니다. 이는 "2022년까지 모든 신규 앱의 90%가 마이크로서비스 아키텍처를 특징으로 할 것"이라는 IDC의 2019년 예측을 뛰어넘는 것입니다.
계속 증가하는 고객 및 비즈니스 요구 사항을 충족하기 위해 고품질 앱 및 서비스를 보다 신속하게 개발, 배포 및 업데이트해야 하는 기업의 요구에 따라 마이크로서비스의 추진력은 이제 부인할 수 없습니다. InfoBrief에 따르면 "마이크로서비스 앱은 이미 비즈니스 크리티컬한 역할에 사용되고 있으며 마이크로서비스 앱의 24%가 비즈니스 크리티컬한 것으로 식별되었습니다." 예를 들어, 마이크로서비스 앱의 거의 절반(42%)의 경우 다운타임은 수익 손실로 이어집니다.
그러나 이것이 마이크로서비스 혁명이 완료되었음을 의미하지는 않습니다. 사실, 이제 막 시작되었습니다. IDC 설문조사에 따르면 마이크로서비스를 수용하는 모든 기업은 앱 포트폴리오의 17%만 이미 모놀리스에서 마이그레이션한 상태입니다. InfoBrief의 저자인 Carl W. Olofson과 Gary Chen은 상황을 다음과 같이 간결하게 설명합니다. "마이크로서비스 기반 애플리케이션의 개발은 아직 초기 단계이지만 향후 개발에서의 중요성은 분명합니다."
자세히 알아보기: 읽기 입문자를 위한 Redis 마이크로서비스 전자책
데이터 계층은 마이크로서비스 아키텍처의 복잡성을 가중시킵니다.
그렇다면 마이크로서비스 아키텍처의 약속을 이행하려면 무엇이 필요하며 기업이 마이크로서비스를 수용할 때 직면하게 되는 과제는 무엇입니까? 마이크로서비스 채택은 특히 데이터 계층과 관련하여 상당한 복잡성을 추가할 수 있습니다. 설문 조사에 따르면 엔터프라이즈 마이크로서비스 앱의 거의 절반(47%)이 데이터베이스에 의존하지만 응답자의 거의 3분의 1(31.5%)이 데이터베이스 관리를 3대 과제로 꼽았습니다. "응용 프로그램을 분해하면 관리해야 하는 논리적 구성 요소의 수가 기하급수적으로 증가합니다."라고 저자는 말합니다.
이로 인해 데이터가 고립되고 더 복잡하고 비용이 많이 들 수 있으므로 많은 기업에서 마이크로서비스 배포에 오케스트레이션이 필수적이라는 결론을 내립니다. 따라서 응답자의 약 3분의 1이 오케스트레이션 배포의 상위 3개 동인으로 관리 비용 절감 및 운영 효율성 향상(35.6%) 및 새롭고 현대적인 클라우드 네이티브 또는 마이크로서비스 애플리케이션 지원(33.2%)을 꼽은 것은 놀라운 일이 아닙니다.
마이크로서비스 아키텍처에 적합한 데이터베이스 선택하기
예를 들어 전자 상거래 솔루션은 응용 프로그램 서버, 콘텐츠 캐시, 세션 저장소, 제품 카탈로그, 검색 및 발견, 주문 처리, 주문 이행, 분석 등 다양한 서비스를 사용할 수 있으며 각 서비스에는 고유한 기능이 있을 수 있습니다. 아래 다이어그램과 같이 자체 데이터베이스:
그렇다면 올바른 아키텍처로 애플리케이션을 선택하고 구축하려면 어떻게 해야 할까요? 어떤 특성을 찾아야합니까? 연구에 따르면 4가지 필수 필수품에 중점을 둡니다. 자세히 살펴보겠습니다.
1. 성능의 중요성
IDC가 언급한 바와 같이 "응답자의 95% 이상이 기준으로 데이터베이스 유형 또는 성능을 선호"하고 설문 응답자의 거의 절반(45%)이 데이터베이스를 선택할 때 성능을 상위 3가지 요소(데이터베이스 유형만 뒤따름)로 언급했습니다. 마이크로서비스 환경에서는 분산 아키텍처의 약속을 완전히 이행하기 위해 실시간 성능과 확장 기능이 모두 필요하기 때문에 성능이 그렇게 중요한 것은 놀라운 일이 아닙니다.
4년 연속 가장 사랑받는 데이터베이스로 선정된 Redis는 밀리초 미만의 성능을 제공하는 것으로 잘 알려져 있습니다. Redis Enterprise의 저지연 데이터베이스를 사용하면 온디맨드 확장 기능으로 작은 공간을 유지하면서 즉각적인 사용자 경험을 생성하거나 실시간 분석을 수행할 수 있습니다. InfoBrief는 "이는 데이터베이스가 작동하고 수행하는 방식이 마이크로서비스 애플리케이션 개발 성공에 매우 중요함을 나타냅니다."라고 말합니다.
자세히 알아보기: 새로운 제품 보기 대기 시간은 새로운 중단입니다 백서
2. 항상 사용 가능
IDC 설문조사에 따르면 엔터프라이즈 마이크로서비스 애플리케이션의 거의 4분의 1(24%)이 이미 고가용성이 중요한 비즈니스 크리티컬 역할에 사용되고 있는 것으로 나타났습니다. 보다 일반적으로 InfoBrief는 "마이크로서비스 앱의 42%에서 다운타임이 발생하면 조직의 직접적인 수익 손실이 발생합니다."라고 지적합니다. 반면 나머지 58% 앱에서 다운타임은 생산성 손실로 이어집니다.
마이크로 서비스 아키텍처가 많은 연결된 서비스를 통합하더라도 다른 개발 접근 방식과 동일한 성능 및 안정성 요구 사항에 직면하기 때문에 이는 잠재적인 큰 문제입니다. 예를 들어 데이터를 전 세계에서 항상 사용할 수 있도록 하는 것은 또 다른 과제입니다. 애플리케이션을 항상 사용할 수 있도록 하려면 모든 수준에서 내결함성이 있는 데이터베이스가 필요합니다.
자세히 알아보기: Redis Enterprise의 방식 보기 고가용성 기술 99.99%의 가동 시간을 보장하고 활성-활성 지리적으로 분산된 배포.
3. 여러 데이터 모델을 활용하여 최신 애플리케이션 구축
개발자는 마이크로서비스 아키텍처를 활용하여 더 나은 앱을 빌드합니다. 시장 출시 시간을 앞당기기 위해서는 올바른 데이터 모델을 선택하는 것이 중요하며 무엇보다 최적화가 중요합니다. 데이터 액세스 패턴 및 성능 요구 사항. 이러한 방식으로 각 서비스는 자체 데이터 모델을 위해 특별히 구축된 데이터베이스를 사용할 수 있습니다.
마이크로 서비스는 무엇보다도 키-값, 그래프, JSON, 시계열 및 검색 엔진을 기반으로 하는 데이터 모델을 사용할 수 있습니다. 그러나 이는 "많은 마이크로서비스가 서비스당 데이터베이스를 사용하게 될 것"이라고 InfoBrief는 지적합니다. 이는 "데이터베이스 수, 데이터베이스에 액세스하는 소프트웨어 구성요소 수, 최신 워크플로에 포함되어야 하는 데이터베이스의 필요성을 증가시킵니다." 그렇기 때문에 위에서 언급한 바와 같이 마이크로서비스 앱을 사용한 데이터베이스 관리는 거의 3분의 1(32%)의 응답자가 3대 과제로 꼽았습니다.
이러한 복잡성을 최소화하려면 데이터베이스가 여러 데이터 모델을 지원해야 합니다. 이를 통해 엔터프라이즈 설계자는 성능을 저하시키거나 여러 데이터베이스를 학습 및 유지 관리할 필요 없이 각 서비스에 적합한 데이터 모델을 쉽게 선택할 수 있으므로 운영이 간소화되고 기술 확산을 제한하는 데 도움이 됩니다.
자세히 알아보기: 백서 를 참조하십시오. 전략적 데이터 유연성
4. 어디서나 배포
DBaaS가 추진력을 얻더라도 많은 기업 데이터가 온프레미스에 남아 있어 IDC 설문조사에서 볼 수 있듯이 많은 기업이 여러 클라우드와 하이브리드 인프라를 사용하고 있습니다. 마이크로서비스 환경에서는 사일로나 데이터 손실 없이 데이터베이스를 실행할 수 있는 유연성을 제공하기 위해 데이터 계층을 최적화하는 기능이 필요합니다.
그러나 IDC 작성자가 지적했듯이 "많은 데이터베이스가 클라우드 네이티브로 설계되지 않았거나 컨테이너와 호환되거나 Kubernetes에 의해 조정되지 않았습니다." 예를 들어 컨테이너 내에 데이터베이스를 패키징하는 것만으로는 마이크로서비스 아키텍처에 적합하지 않습니다. 데이터베이스는 가볍고 데이터 요구 사항을 충족하도록 조정할 수 있어야 합니다.
기업은 온프레미스든 클라우드든, 멀티 클라우드 또는 하이브리드 클라우드 아키텍처든, 컨테이너든, Kubernetes Pod든 상관없이 필요할 때마다 실행할 수 있는 유연한 배포 모델을 제공하는 데이터베이스 플랫폼이 필요합니다.
자세히 알아보기: 체크아웃 Redis Enterprise 소프트웨어 배포 옵션
Redis Enterprise 및 마이크로서비스
보고서에 따르면 마이크로서비스 아키텍처의 부상은 이러한 서비스를 지원하는 데 사용되는 데이터 계층 아키텍처에 큰 영향을 미치므로 마이크로서비스 아키텍처를 사용하여 애플리케이션을 개발하려는 기업은 기술적 우수성과 목적 적합성에 특별한 주의를 기울여야 합니다. 그것이 바로 Redis Enterprise가 빛나는 곳입니다.
Redis Enterprise는 마이크로서비스 규모의 성능을 제공하고 모든 Redis 데이터 유형 및 모듈에 대해 밀리초 미만의 대기 시간을 제공하며 필요한 거의 모든 처리량에 대해 선형적으로 즉시 확장할 수 있는 기능을 제공합니다. 내결함성과 복원력을 위해 설계된 Redis Enterprise는 비공유 클러스터 아키텍처를 사용하고 개별 노드에 대해, 심지어 인프라 가용성 영역 전반에 걸쳐 프로세스 수준에서 자동화된 장애 조치를 제공할 뿐만 아니라 조정 가능한 지속성 및 재해 복구를 제공합니다. Redis Enterprise는 또한 개발자가 마이크로서비스 아키텍처 배포를 위한 성능 및 데이터 액세스 요구 사항에 가장 적합한 데이터 모델을 쉽게 선택할 수 있도록 하는 동시에 기술 스프롤을 제한하고 운영을 단순화하는 통합 운영 인터페이스를 유지합니다. 무엇보다 Redis Enterprise는 모든 클라우드 플랫폼, 온프레미스, 멀티 클라우드 또는 하이브리드 클라우드 아키텍처 등 어디에나 배포할 수 있습니다.
마이크로서비스 배포에서 데이터 계층의 중요성에 대해 자세히 알아보려면 전체 IDC InfoBrief—애플리케이션 현대화가 데이터 계층에 미치는 영향을 다운로드하십시오. . Redis Enterprise가 마이크로서비스 배포에 고유하게 적합한 다양한 방법에 대한 자세한 정보는 아래의 마이크로서비스 아키텍처 리소스를 확인하세요.
- 마이크로서비스용 Redis Enterprise
- Redis Microservices for Dummies 전자책
- 대기 시간이 곧 새로운 정전 백서
- 전략적 데이터 유연성 백서
- Redis Enterprise 소프트웨어 배포 옵션
- Redis가 마이크로서비스 설계 패턴을 단순화하는 방법 - The New Stack 블로그 게시물