카우치베이스 서버

클라우드 컴퓨팅을 사용한 서버리스 아키텍처

서버리스는 아마 들어보셨을 새로운 유행어 중 하나입니다. 서버가 추상화된 배포 유형을 말합니다. 서버가 없다는 뜻이 아니라 서버를 직접 프로비저닝할 필요가 없다는 뜻입니다. 이 글에서 이에 대해 살펴보겠습니다.

경우에 따라 서버리스를 사용하면 인프라 유지 관리, 업그레이드, 서버 프로비저닝 비용에서 벗어날 수 있습니다. 이 글에서는 서버리스의 기본 개념, 마이크로서비스(또 다른 유행어)와의 차이점, 몇 가지 가능한 이점, Couchbase Server가 이 상황에 어떻게 부합하는지 살펴보겠습니다.

서버리스란 무엇인가요?

서버리스에서는 코드를 작성하기만 하면 됩니다(보통 함수/메소드 형태). C#, JavaScript(Node), Java 등 널리 사용되는 여러 언어로 작성할 수 있습니다. 이 코드는 Microsoft Azure, AWS(Amazon Web Services), GCP(Google Cloud Platform) 등과 같은 클라우드 제공업체에 배포됩니다.

코드는 이벤트에 의해 트리거됩니다. 이벤트는 클라우드 플랫폼이 지원하는 기능에 따라 HTTP 요청처럼 단순한 것일 수도 있고 다른 여러 유형의 이벤트일 수도 있습니다. (예를 들어 Azure는 다음을 지원합니다. 타이머, GitHub등).

클라우드 내에서 해당 코드를 실행하는 서버는 필요에 따라 클라우드 공급자가 자동으로 프로비저닝(및 해지)합니다.

BaaS(서비스형 백엔드) 또는 FaaS(서비스형 기능)라는 용어도 볼 수 있습니다. 최근 '서버리스'라는 용어의 의미가 확장되고 있지만 이 글에서는 주로 FaaS/BaaS 클라우드 서비스에 초점을 맞추고 있습니다.

서버리스와 마이크로서비스

서버리스와 마이크로서비스 사이에는 몇 가지 유사점이 있지만 같은 것은 아닙니다. 둘 다 애플리케이션을 더 작고 독립적인 조각으로 나누는 접근 방식입니다. 배포되는 대상과 관리하는 대상에서 차이가 있습니다.

예를 들어 마이크로서비스 아키텍처를 사용하는 경우 '사용자 프로필', '인벤토리' 등과 같은 다른 서비스 외에 '장바구니' 서비스가 있을 수 있습니다. 다음은 매우 간단한 마이크로서비스의 다이어그램입니다.

Microservices

마이크로서비스의 몇 가지 속성에 주목하세요:

  • 그 책임은 장바구니에만 적용됩니다. 그 자체로는 완전한 애플리케이션이 아닙니다.
  • 이 서비스에는 여러 가지 가능한 작업이 포함되어 있지만 모두 서비스의 일부입니다.
  • 마이크로서비스는 데이터베이스(전용 데이터베이스일 수도 있음)와 통신하여 작업을 완료합니다.
  • 클라우드에 배포된 마이크로서비스는 프로비저닝이 필요한 VM을 사용할 수 있습니다. 이 서비스가 유휴 상태인 동안에도 VM 시간에 대한 요금이 청구됩니다.

이번에는 서버리스 접근 방식으로 만들어진 유사한 기능 세트와 대조해 보세요.

Serverless

서버리스 아키텍처에서,

  • 하나의 서비스 대신 개별적으로 배포할 수 있는 4개의 기능이 있습니다.
  • 각 함수는 데이터베이스와 통신할 수 있습니다.
  • 가상 머신을 프로비저닝할 필요 없이 기능만 배포하면 됩니다.
  • 이 기능은 필요할 때만 리소스를 소비하며, 유휴 시간이 아닌 실제 사용량에 대해서만 요금이 부과됩니다.

위 다이어그램에는 표준 HTTP 요청만 표시되어 있습니다. 예를 들어 타이머 이벤트를 사용하여 5분마다 버려진 장바구니가 있는지 확인할 수도 있습니다.

서버리스의 이점

서버리스 아키텍처를 사용할 때 몇 가지 장점(및 단점)이 있습니다.

한 가지 장점은 확장성을 클라우드 제공업체가 처리한다는 점입니다. 수요나 사용량이 증가하면 클라우드 제공업체는 필요할 때 서버를 추가하여 이를 보완할 수 있습니다.

또 다른 장점은 비용이 사용량에 연동된다는 점입니다. 지속적으로 사용하는 서비스인 경우에는 이점이 없을 수 있습니다. 하지만 산발적으로 사용되는 서비스인 경우 서버리스를 사용하면 비용을 절감할 수 있습니다.

마지막으로 서버리스 아키텍처는 관리 비용을 절감할 수 있습니다. 서버가 커미셔닝될 때까지 기다릴 필요가 없습니다. 가상 머신이나 서버를 커미셔닝하는 데 시간이 많이 걸리는 경우 민첩한 반복 작업을 개선할 수 있습니다. 배포할 서버가 없고 관리/업그레이드할 서버가 적기 때문에 적어도 초기에는 IT 운영의 필요성을 줄일 수 있습니다. 이 모든 것이 개발자 생산성 향상으로 이어질 수 있습니다.

서버리스가 만병통치약은 아니라는 점에 유의해야 합니다. 애플리케이션이 이러한 종류의 분해에 적합하지 않을 수도 있습니다. 또한 많은 수의 서버리스 기능을 배포하는 경우에도 여전히 기능을 관리, 모니터링 및 테스트할 운영 인력이 필요합니다. MartinFowler.com에서 장점과 단점을 자세히 확인하세요..

카우치베이스와 서버리스가 함께

몇 가지 인기 있는 서버리스 제공업체가 있습니다:

카우치베이스 서버는 이러한 주요 클라우드 제공업체와 파트너십을 맺고 있으며, 모든 플랫폼에서 실행할 수 있습니다. 또한 여러 클라우드 공급업체에서 Couchbase Server를 실행하여 도달 범위, 재해 복구 및 다각화를 개선할 수 있습니다. 하이브리드 클라우드 환경(클라우드와 온프레미스가 혼합된 환경)에서도 Couchbase Server를 사용할 수 있습니다.

따라서 Couchbase는 NoSQL 문서 데이터베이스가 필요한 경우 다음과 같은 경우에 훌륭한 선택입니다. 클라우드 전략:

특정 공급업체에 종속되지 않습니다. Couchbase를 사용하면 클라우드에 종속되지 않고 단일 클라우드 공급업체에 종속되지도 않습니다. 와 XDCR클라우드 우선으로 전환하고 재해 복구를 위한 온프레미스 클러스터를 보유하거나 여러 클라우드에 Couchbase를 배포할 수 있습니다.

클라우드 마켓플레이스 제품. 몇 분 안에 시작할 수 있습니다. Microsoft Azure, AWS또는 GCP.

프로그래밍 언어용 도구. 카우치베이스는 다음용 SDK를 제공합니다. Node.js, .NET, Java, PHP, Python, 이동, C/C++뿐만 아니라 다른 많은 커뮤니티 지원도 제공합니다. 서버리스 플랫폼이나 선호하는 언어에 관계없이 Couchbase는 모든 것을 지원합니다. 이 블로그 게시물을 확인하세요. 카우치베이스 서버를 사용한 Azure 기능 를 사용하여 .NET/C#/Azure를 사용하는 기술 소개를 확인하세요.

스케일링. 카우치베이스 서버를 사용하면 쉽고 효율적으로 확장할 수 있습니다. Couchbase의 아키텍처는 확장을 위해 설계되었습니다.복제, 자동 하딩 및 데이터 배포 기능이 내장되어 있습니다. Couchbase 클러스터의 모든 노드는 읽기와 쓰기를 모두 수행할 수 있으므로 컴퓨팅 리소스를 효율적으로 사용하고 고가용성을 제공합니다.

JSON의 유연성. 관계형 데이터베이스를 사용하는 경우에도 많은 앱이 유연한 스키마의 이점을 누릴 수 있습니다. 다음 내용을 확인하세요. 카우치베이스가 참여 데이터베이스인 이유에 대한 백서 트랜잭션 및 분석 데이터베이스와 함께 작동하여 탁월한 고객 경험을 제공할 수 있습니다.

요약

서버리스는 애플리케이션 백엔드를 한 단계 더 세분화합니다.

카우치베이스 서버에 JSON 데이터를 저장하면 스키마와 확장성을 모두 유연하게 사용할 수 있습니다.

서버리스가 적합한가요? 서버리스가 만병통치약은 아니지만, 비용 절감과 간편한 배포의 이점을 누리고 싶다면 신중한 계획을 수립하고 애플리케이션에 적합한지 논의할 수 있도록 기꺼이 도와드리겠습니다. 댓글을 남기거나 다음에서 저를 찾아 문의하실 수 있습니다. 트위터 @mgroves.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 매튜 그로브스

Matthew D. Groves는 코딩을 좋아하는 사람입니다. C#, jQuery, PHP 등 무엇이든 풀 리퀘스트를 제출할 정도로 코딩을 좋아합니다. 90년대에 부모님의 피자 가게를 위해 QuickBASIC POS 앱을 만든 이후로 전문적으로 코딩을 해왔습니다. 현재 Couchbase의 선임 제품 마케팅 관리자로 일하고 있습니다. 여가 시간에는 가족과 함께 축구 경기를 관람하고 개발자 커뮤니티에 참여하며 시간을 보냅니다. 그는 .NET의 AOP, .NET의 프로 마이크로서비스, Pluralsight 저자, Microsoft MVP의 저자이기도 합니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.