저는 카우치베이스에서 개발자 옹호자로서의 시간을 즐기고 있습니다. 블로그 게시물을 작성하고, 동영상을 만들고, 커뮤니티와 교류하고, 여러 컨퍼런스와 밋업에 참석할 수 있습니다. 제 상사인 Arun Gupta는 동료 개발자 옹호자들과 마찬가지로 저를 매우 지지해 주었습니다.
아룬과 함께 일하는 것이 어떤 느낌인지 알려드리자면, 언젠가 해보고 싶었던 기발한 아이디어가 있었어요. 아룬에게 말했더니 "그래, 해봐!"라고 하더군요.
문제
카우치베이스 서버 는 단일 노드가 아닌 하드웨어 클러스터에서 실행되도록 설계되었습니다. 클러스터는 Couch의 약어의 첫 글자입니다! 많은 엔지니어들이 가상 머신이나 도커 컨테이너 등의 클러스터를 스핀업하여 개발합니다. 물론 효과적이고 효율적이지만, Couchbase를 처음 설명할 때는 가시적인 무언가를 보여드리면 더 재미있을 것 같았습니다. 시각적이고, 본능적이고, 심지어 상호작용이 가능한 무언가 말이죠.
문제는 실제 클러스터를 보여드리려면 여러 대의 물리적 컴퓨터, 라우터, 전원 케이블 등이 필요하다는 것입니다. 사무실에 실험실을 설치할 수는 있겠지만 이동 중에 쉽게 가져갈 수는 없습니다.
솔루션
마운틴뷰에서 팀원들과 회의를 하던 중, 다음과 같이 사용하는 또 다른 프로젝트에 대해 들었습니다. 카우치베이스 라이트 및 카우치베이스 동기화 게이트웨이. It 여러 개의 라즈베리 파이를 사용했습니다. 함께 작동하여 데이터의 흐름과 동기화가 어떻게 작동하는지 시각적으로 보여줄 수 있습니다.
제가 처음 생각해낸 아이디어는 아니지만, 회의실에 있던 누군가가 Couchbase Server로 같은 작업을 할 수 있다면 좋을 것 같다고 생각했습니다. 유일한 문제는 Couchbase Server의 ARM 버전이 없다는 것입니다.
하지만 아이디어는 계속 떠올랐어요. 저는 라즈베리 파이와 같은 메이커 보드 중 x64 CPU를 탑재하고 최소 2GB의 RAM을 갖춘 제품이 있는지 조사해 보았습니다. 몇 가지가 있었지만 꽤 비쌌습니다. 계속 찾아보다가 결국 '컴퓨트 스틱'을 발견했습니다. 컴퓨팅 스틱은 더 큰 크롬캐스트와 비슷하지만 x64 아키텍처에서 Windows 또는 Linux를 실행한다는 점이 다릅니다. 일부는 2GB RAM이 내장되어 있습니다. USB, HDMI, WiFi가 있습니다. 일부는 $100 미만입니다. 이제 바퀴가 돌아가기 시작했습니다. 몇 개만 가지고 여행할 수 있을 것 같았습니다.
프로젝트
저는 계속 연구하고 생각했습니다. 머릿속에 그림이 떠올랐고, (영화에서 영감을 얻은) 손으로 그린 일러스트레이션에 대한 데이비드 닐의 블로그 게시물) 화이트보드에 (형편없이) 그렸습니다.

컴퓨터 스틱 3개와 라우터 하나만 들고 다닐 수도 있겠지만, 모든 것을 하나의 여행 가방에 넣고 다닐 수 있다면 훨씬 더 쉬워질 것입니다.
이 가방을 세션이나 부스로 가져가서 열고 전체 클러스터를 사용할 수 있습니다. 클러스터의 노드가 다운되면 어떤 일이 일어나는지 보여줄 수 있습니다. 자원 봉사자를 초대해 자신이 선택한 노드의 플러그를 뽑고 어떤 일이 일어나는지 보여줄 수 있습니다. 그런 다음 해당 노드가 다시 온라인 상태가 되면 어떻게 되는지(또는 노드가 영원히 오프라인 상태인 경우 어떻게 해야 하는지) 보여줄 수 있습니다.
또한 대화를 시작하기에 좋은 아이템이기도 합니다. 멋지게 생긴 괴짜 물건이죠. 일단 작동을 시작하면 조명과 스티커로 꾸미면 더 재미있을 것 같아요.
제가 트윗을 올렸을 때 (저는 엠그로브 트위터), 게르드 아슈만 트위터에 라는 비슷한 것이 만들어졌다는 것을 "상자 속의 클라우드". 제 아이디어가 이미 실현 가능하다는 것이 입증되었기 때문에 정말 기뻤습니다.
결론
이제 막 이 작업을 시작했습니다. 몇 가지 컴퓨팅 스틱을 사용해 Couchbase Server를 실행할 수 있는지 알아보고 있습니다. 이 프로젝트는 진행하면서 블로그에 포스팅할 계획이니 계속 지켜봐 주세요!
이 프로젝트에 대한 팁이나 제안 사항이 있으면 알려주세요, 트위터로 문의하기를 참조하거나 이메일(matthew.groves AT couchbase DOT com)로 문의하세요.