원문은 2017년 12월 7일 ObjectRocket.com/blog에 처음 게재되었습니다.
많은 기업이 특정 업무를 외주에 맞길지, 아니면 자체적으로 수행할지 결정하는 데 고민을 거듭합니다. 데이터베이스 운영 역시 마찬가지입니다. 특히 기술 기반 스타트업이라면 인력을 직접 고용하는 비용과 외부 업체에 맡기는 비용 사이에서 판단하기가 더욱 어렵습니다.
하지만 데이터베이스는 제대로 관리하지 않으면 금세 복잡한 문제로 번질 수 있는 영역입니다. 그래서 이번 글에서는 DBaaS(Database-as-a-Service)가 우리 회사에 적합한 선택인지 판단하는 데 도움이 되도록 장단점을 살펴보겠습니다.
데이터베이스는 왜 필요한가?
데이터베이스는 색인화된 정보를 저장하는 컴퓨터 시스템입니다. 빅데이터 시대에는 저장해야 할 정보가 방대하며, 무엇보다 그 정보를 안정적으로 조회하고 비즈니스 의사결정에 활용할 수 있어야 합니다. 데이터베이스는 일상적인 업무 과정에서 수집한 데이터를 저장·정리·가공·조회할 수 있게 해줌으로써 이를 가능하게 만듭니다.
데이터베이스는 크게 SQL과 NoSQL 두 가지 유형으로 나뉩니다. SQL(Structured Query Language)은 데이터베이스를 구축하는 데 사용되는 프로그래밍 언어로, 작업 성격에 따라 필수적일 수 있습니다. 특정 상황에서 요구되는 유연성은 다소 떨어지지만, 견고하고 신뢰성 높은 데이터베이스를 만들 수 있다는 강점이 있습니다.
반면 MongoDB® 같은 NoSQL 데이터베이스는 훨씬 유연하여 실시간으로 구조를 변경할 수 있고, 상황에 맞는 쿼리와 정보 조회가 가능합니다. 모든 용도에 적합하지는 않지만, 이러한 적응력 덕분에 독특한 소스 데이터베이스 관리와 효과적인 데이터 조작이 가능한 경우가 많습니다.
DBaaS란 무엇인가?
DBaaS 업체는 기업이 자체적으로 시스템을 구축하는 대신, 업체가 제공하는 인프라 위에서 데이터베이스를 운영할 수 있도록 장비·소프트웨어·인프라를 공급합니다.
예를 들어 기업이 데이터베이스를 자체 구축하려면 모든 하드웨어를 구매·조립하고, 소프트웨어를 구입·설치하고, 전기 요금까지 부담하면서, SQL 또는 NoSQL 중 하나를 선택해 데이터베이스 시스템을 직접 만들어야 합니다. 여기에는 상당한 개발자 인력이 소요되며, SQL 개발자가 없다면 큰 걸림돌이 될 수 있습니다.
DBaaS의 장점
DBaaS를 이용하면 다음과 같은 부담이 사라집니다.
- 장비나 소프트웨어 라이선스를 직접 구매할 필요가 없습니다
- 전담 데이터베이스 개발자를 따로 둘 필요가 없습니다
- 데이터베이스 시스템을 직접 구축할 필요가 없습니다
- 시스템 유지보수를 위한 대규모 IT 인력을 채용할 필요가 없습니다
- 서버 가동에 따른 높은 전기 요금을 걱정할 필요가 없습니다
- 가동률(Uptime) 보장이 없을까 봐 걱정할 필요가 없습니다
- 경험 많은 DBaaS 팀이 있어 각종 버그와 문제 처리를 걱정할 필요가 없습니다
- 정전이나 자연재해에 대한 대비를 걱정할 필요가 없습니다
- 노후 장비 사용을 걱정할 필요가 없습니다 — DBaaS는 대부분의 중소기업보다 성능이 뛰어난 최상급 서버와 하드웨어를 사용합니다
자체 데이터베이스를 운영할 인력을 확보하기 어려운 기업이 왜 아웃소싱을 선택하는지 짐작할 수 있을 것입니다. 물론 이것이 자체 구축 데이터베이스에 가치가 없다는 의미는 아닙니다.
DBaaS의 단점
자체 구축 대비 DBaaS의 가장 큰 단점은 '통제권' 문제입니다. 데이터베이스가 실행되는 서버에 직접 접근할 수 없기 때문에, 서버의 물리적 보안이나 민감한 데이터를 보호하는 사이버 보안에 직접 개입할 수 없습니다. 또한 어떤 이유로든 DBaaS 시스템이 중단되면 데이터베이스에 접근할 수 없게 됩니다. 마지막으로 규모에 따른 비용 문제도 있습니다. 일정 규모 이상으로 성장한 기업은 오히려 자체 데이터베이스를 구축해 직접 운영하는 편이 더 경제적이 됩니다(구글®이 대표적인 예입니다).
다만 이러한 우려는 주로 DBaaS에 필적할 만한 전문성을 갖추고, 자체 서버 센터를 운영할 만큼 규모가 큰 기업에 해당합니다. 중소 규모 기업 입장에서는 여전히 자체 데이터베이스 운영이 비용 면에서 감당하기 어려울 가능성이 높습니다.
DBaaS, 언제 도입해야 할까?
데이터베이스 아웃소싱을 고민할 때 핵심적으로 던져야 할 질문은 이것입니다. "DBaaS 업체가 우리보다 더 잘 제공할 수 있는가?" 실리콘밸리의 거대 기업처럼 개발자와 IT 관리자가 넘쳐난다면, 당연히 자사에 꼭 맞는 데이터베이스를 직접 구축하고 서버 창고를 가득 채워 운영하는 것이 맞습니다.
하지만 대부분의 기업은 아직 그 정도 규모가 아닙니다. 자체 데이터베이스 팀을 꾸릴 여력이 있는 대기업조차, 이미 인프라를 갖춘 전문가에게 운영과 유지보수를 맡기는 편이 비용 면에서 더 효율적인 경우가 종종 있습니다. 집 리모델링 때 배관공이나 전기 기술자를 고용하듯, 이미 적절한 도구를 갖춘 분야 전문가에게 맡기면 비즈니스가 최상의 효율로 운영되도록 도울 수 있습니다.
Rackspace DBA 서비스 등 다양한 DBaaS 솔루션을 비교 검토해 보고, 우리 회사의 규모와 요구 사항에 맞는 최적의 선택을 내리시길 바랍니다.