
솔직히 말해서, 좀 지쳤습니다.
새벽 2시에 터진 카프카(Kafka) 클러스터 장애를 수습하고 나니, 책상 위에 굴러다니는 레고 미니피겨 하나가 눈에 들어오더군요.
어릴 때 레고는 단순했습니다. 그냥 끼우면 끝이었죠.
그런데 요즘 실리콘밸리 하드웨어 스타트업들이 하는 짓을 레고도 시작했습니다.
바로 'SMART Play™ System'이라는 물건입니다.
처음 이 문서를 봤을 때, 제 직업병이 도졌습니다.
"모든 기존 레고 세트와 호환된다고? 레거시(Legacy) 시스템을 어떻게 다 커버하려고?"
개발자라면 아실 겁니다. 하위 호환성(Backward Compatibility)을 유지하면서 새로운 기술 스택을 얹는 게 얼마나 지옥 같은 일인지.
그런데 레고가 그 짓을 했다고 주장합니다.
핵심은 'SMART Brick'이라는 중앙 처리 유닛입니다.
이 작은 플라스틱 덩어리 안에 모션 센서, 컬러 센서, 그리고 조명/사운드 모듈을 때려 박았습니다.
마치 마이크로서비스 아키텍처(MSA)에서 각 서비스가 독립적으로 동작하듯 설계된 것 같더군요.
흥미로운 건 'SMART Tag'와 'SMART Minifigure'의 역할입니다.
SMART Tag는 일종의 설정 파일(Config map) 역할을 합니다. 이 태그를 끼우면 스마트 브릭이 '어떻게' 동작할지 정의됩니다.
SMART Minifigure는 고유의 ID(Identity)를 가집니다. 브릭에 꽂으면 캐릭터별 성격(Personality)이 활성화되죠.
즉, 하드웨어(브릭) + 설정(태그) + 사용자 인증(미니피겨) 구조를 장난감에 구현한 셈입니다.

제가 주목한 기술적 포인트는 '컬러 센서'입니다.
이 센서가 "주변을 인식한다"고 명시되어 있는데, 이게 바로 레거시 지원의 핵심입니다.
기존에 당신이 가지고 있던 10년 전 스타워즈 세트의 회색 브릭을 인식해서, 그에 맞는 반응을 보인다는 거죠.
마치 우리가 구형 온프레미스(On-premise) 서버의 로그를 긁어와서 모던한 대시보드에 뿌려주는 것과 비슷한 원리일 겁니다.
물론, 회의적입니다.
센서의 민감도(Sensitivity)는 어느 정도일까요? 먼지가 쌓인 브릭도 인식할까요? 배터리 수명은?
무엇보다 '반응 속도(Latency)'가 관건일 겁니다. 아이들이 브릭을 비틀거나 탭했을 때, 0.1초라도 딜레이가 생기면 그건 '스마트'한 게 아니라 '고장 난' 장난감이 되니까요.
제가 넷플릭스에서 0.01초의 레이턴시를 줄이기 위해 갈아 넣는 시간만큼, 이들도 최적화에 목숨을 걸었을지 궁금해지네요.
사전 예약 카운트다운이 시작됐습니다.
하드웨어 엔지니어들의 영혼을 갈아 넣어 만든 이 시스템이, 과연 아이들의 무자비한 카오스 테스트(Chaos Engineering)를 견딜 수 있을까요?
새벽 3시의 페이저듀티(PagerDuty) 호출 없이, 이 시스템이 안정적으로 돌아간다면 인정하겠습니다.
하지만 만약 업데이트하다가 벽돌(Brick, 진짜 벽돌)이 된다면?
그땐 레고 고객센터 엔지니어들이 불쌍해질 것 같네요.
결국 기술은 사람을 편하게 하거나, 즐겁게 하기 위해 존재합니다.
이 복잡한 기술 스택이 우리 집 아이의 단순한 웃음을 만들어낼 수 있다면, 그 복잡함은 가치가 있겠죠.
오늘 퇴근길엔 레고 매장에나 들러볼까 합니다. 물론, 시스템 로그나 확인하러 가는 건 아닙니다.
그냥, '죽지 않고 노는 법'을 좀 배워보려고요.


