Serverless Databases(서버리스 데이터베이스)!

Serverless Database

최근에 클라우드 컴퓨팅 트렌드를 조사한 적이 있습니다.

대부분 일반적인 내용으로 PaaS(Platform as a Service), 멀티 클라우드, 클라우드 보안 등에 대한 내용이었습니다.

그런 일반적인 내용 중에 ‘서버리스 데이터베이스(Serverless Databases)’라는 내용이 있었습니다.

이 용어를 보고 예전에 여기서 공유해 드렸던 ‘서버리스 컴퓨팅’이 생각났습니다.

 Serverless Computing(서버리스 컴퓨팅)!

위 글에서 공유해 드린 내용이지만 다시 말씀드리면, 서버리스란 실제로 서버가 없는 것을 의미하지는 않습니다.

기존처럼 필요가 없을 때도 계속 서버의 자원이 할당되고 구동되는 것이 아닌 필요할 때만 해당 처리에 필요한 자원을 할당받는 것을 말합니다.

이런 서버리스 컴퓨팅의 개념이 데이터베이스에도 적용된 것이라고 보시면 됩니다.

요즘 이런 서버리스 데이터베이스를 제공하는 업체들이 많이 있더라구요.

그래서 오늘은 이에 대해 조금더 자세히 공유해 드릴까 합니다.

서버리스 데이터베이스란?

위에서 서버리스란 개념에 대해서 간략하게 공유해 드렸지만, 서버리스 데이터베이스에 대해서 조금더 자세히 공유해 드리겠습니다.

사실 이런 서버리스란 개념이 나오게 된 이유가 있습니다. 우선 서버 운영을 하는 업무를 하는 것을 대부분의 개발자들이 선호하지 않기 때문입니다. 그리고 클라우드 컴퓨팅이란 개념이 나오면서 물리적인 서버 관리가 아닌 논리적 서버의 개념이 되긴 했지만, 클라우드 컴퓨팅을 관리하는 것도 새로운 것들을 배워야하기에 쉽지 않습니다.

그러다보니 서버의 운영이나 관리를 최소화할 수 있는 이런 서버리스란 개념에 등장한 것입니다.

그리고 이런 서버리스란 개념이 적용된 데이터베이스가 바로 ‘서버리스 데이터베이스’입니다. 즉, 서버 관리를 최소화할 수 있는 데이터베이스라고 볼 수 있습니다.

서버리스 데이터베이스의 특징

그럼 서버리스 데이터베이스는 어떤 특징들을 가지고 있을까요?

서버 관리 업무를 최소화

서버리스란 사전적 의미가 서버가 없다는 의미이지만, 사실은 서버는 있습니다. 단지, 추상화되고 자동화된 여러 서버로 구성되기에 사용자가 굳이 서버를 관리할 필요가 없어지게 되는 것이죠.

용량 산정, 확장, 유지 관리, 업데이트 등의 수동 작업은 진행되지만 이 모든 것은 서비스 공급업체에서 거의 자동으로 진행되기에 개입할 필요가 없어 관리 업무가 최소화되는 것입니다.

자동적이고 탄력적인 확장

서버리스에서의 자동적이고 탄력적인 확장을 통해 언제든지 요구 사항에 맞는 필요하고 적절한 리소스를 소비할 수 있습니다. 즉 필요할 때는 언제든지 사용할 수 있기에 용량에 대해서 걱정할 필요가 없고, 사용하지 않을 때는 비용을 지불하지 않기에 비용 최적화에도 도움이 되는 것입니다.

기본적으로 제공되는 복원력과 결함 내성

여러 개의 서버를 사용하여 자원을 할당받기 때문에 인스턴스 오류나 다른 물리적 문제가 발생해도 서비스가 잘 중단되지 않습니다. 그리고 이로 인해 업그레이드나 서비스에 영향을 주는 상황에서도 서비스의 중단이 발생하지 않게 되는 것이죠.

항상 사용 가능하고 즉각적인 액세스 가능

서버리스를 통해서 서비스를 잠시 중단했다가 신속하게 다시 제공해 줄 수도 있습니다. 이를 통해 서비스를 제공할 때만 서버를 사용할 수 있고 당연히 서버 사용 비용을 줄일 수 있게 되는 것이죠.

사용량 기반 과금 및 청구

서버리스는 사용한 자원에 대해서만 비용을 지불하면 됩니다. 자원을 한 번 구매하면 사용하든지 사용하지 않든지 비용을 지불해야 하는 방법보다는 확실히 합리적이라 볼 수 있습니다.

서버리스 데이터베이스 제공 서비스들

그럼 이런 서버리스 데이터베이스를 제공하는 업체들은 어떤 곳이 있을까요?

우선 관계형 데이터베이스 관련 서비스들에 대해서 공유해 드리겠습니다.

Amazon Aurora Serverless

https://aws.amazon.com/ko/rds/aurora/serverless/

이 서비스에 대한 아마존의 설명은 다음과 같습니다.

“Amazon Aurora Serverless는 Amazon Aurora의 온디맨드 자동 크기 조정 구성 버전입니다. 애플리케이션 요구 사항을 기반으로 자동으로 시작 및 종료되어 용량을 확장 또는 축소합니다. 데이터베이스 인스턴스를 관리하지 않고도 클라우드에서 데이터베이스를 실행할 수 있습니다. 또한 기존 또는 새 데이터베이스 클러스터에서 프로비저닝된 인스턴스와 함께 Aurora Serverless v2 인스턴스를 사용할 수 있습니다.”

CockroachDB Serverless

https://www.cockroachlabs.com/serverless/

코크로치DB 서버리스(CockroachDB Serverless)는 포스트그레SQL(PostgreSQL) 호환 코크로치 랩스 클라우드에서 제공되는 서비스입니다.

PlanetScale DB Serverless

https://planetscale.com/

MySQL에 호환되는 서버리스 데이터베이스 플랫폼입니다.

그리고 다음과 같은 NoSQL 데이터베이스 관련 서비스들도 있습니다.

Amazon DynamoDB

https://aws.amazon.com/ko/pm/dynamodb/

아마존에서 제공하는 NoSQL 데이터베이스 서비스입니다.

Google FireStore

https://firebase.google.com/docs/firestore?hl=ko

구글 클라우드 인프라를 기반으로 하는 유연하고 확장 가능한 NoSQL 클라우드 데이터베이스입니다.

그리고 위에 소개해 드린 서비스들 외에도 찾아 보시면 다양한 서비스들이 있습니다.

 

오늘은 서버리스 데이터베이스에 대해서 공유해 드렸습니다.

지금 쓰고 계신 분들도 있으시겠지만, 혹시 서버리스 데이터베이스에 대해 관심이 있으신 분들은 위에 공유해 드린 서비스들을 한 번 둘러 보심이 어떨까 하는 생각도 듭니다.

 

* Author: OpsNow Editor(donghun.cho@bespinglobal.com)

클라우드나 SaaS와 관련하여 다른 궁금한 점이 있으시면 언제든지 저희에게 문의해 주세요.

저희에게는 클라우드에 대한 다양한 정보와 경험, 그리고 도구가 있습니다.

 OpsNow에 문의하기