오픈 소스 경로
이 문서는 Actionbase가 오픈 소스화되기 전의 개발 역사를 다룹니다. 향후 개발은 공개 저장소에서 추적됩니다.
MVP 단계
섹션 제목: “MVP 단계”MVP 단계는 프로젝트 착수부터 오픈 소스 출시까지의 전체 기간을 의미합니다. 이 기간 동안 Actionbase는 다양한 서비스에 적용되며 실제 사용을 통해 진화했습니다.
1단계: 기반 구축 (2023년)
섹션 제목: “1단계: 기반 구축 (2023년)”Q: How do we validate technical feasibility and establish a foundation?
이 기간에는 이후 단계의 안정적인 개발을 지원할 수 있는 기술적 기반을 마련하는 데 집중했습니다.
주요 마일스톤:
- 프로젝트 착수 및 초기 기획
- 핵심 설계 및 구현
사용한 AI: GPT-4
2단계: 서비스 통합 (2024년 초)
섹션 제목: “2단계: 서비스 통합 (2024년 초)”Q: How do we validate through real-world service deployment?
기존 시스템을 유지하면서 이중 쓰기(dual writes)를 적용하고, 충분한 검증 후 읽기 기능을 점진적으로 마이그레이션하여 시스템을 안전하게 프로덕션에 통합했습니다.
주요 활동:
- 첫 프로덕션 서비스 쓰기/읽기 마이그레이션: 카카오톡 선물 위시
사용한 AI: GPT-4
3단계: 안정화 (2024년 말)
섹션 제목: “3단계: 안정화 (2024년 말)”Q: How do we stabilize the system and expand tenants?
멀티 테넌트 아키텍처를 기반으로, 이 단계에서는 서비스 격리와 독립적인 배포를 지원하기 위해 독립적인 테넌트 구성을 도입했습니다.
주요 개선 사항:
- 시스템 안정화 및 테넌트 확장
- 독립적인 테넌트 구성을 지원하여 서비스를 격리합니다
- 운영 자동화 및 모니터링 기능이 향상되었습니다
- 커머스 도메인 전반에 적용되었습니다 (예: 카카오톡 선물하기 최근 조회)
AI로 Claude 3.5 Sonnet을 사용했습니다
4단계: 지속 가능한 운영 구축 (2025년 초)
섹션 제목: “4단계: 지속 가능한 운영 구축 (2025년 초)”Q: How do we improve operational efficiency and address technical debt?
이 단계에서 Actionbase는 다양한 서비스에 계속 적용되면서 운영 기반을 개선했습니다. 주요 활동으로는 운영 오버헤드 감소, 개발자 도구 개선, 누적된 기술 부채 해결이 포함되었습니다
주요 활동:
- 여러 도메인에 적용되었습니다 (예: 카카오톡 친구)
AI로 GPT-4o, Claude 3.5 Sonnet을 사용했습니다
5단계: 오픈 소스 준비 (2025년)
섹션 제목: “5단계: 오픈 소스 준비 (2025년)”Q: How do we prepare for open-source release while expanding adoption?
4단계의 기반을 바탕으로 이 단계에서는 Actionbase를 오픈 소스로 공개할 수 있도록 준비했습니다. 리팩터링 과정을 통해 오픈 소스화 결정이 내려졌으며, 기존 코드는 남아 있지만 리팩터링은 더 유지 관리 가능한 코드베이스를 향해 계속 진행되고 있습니다. 이 기간 동안 Actionbase는 카카오의 서비스에 폭넓게 적용되었습니다
주요 변경 사항:
- 기존 시스템과의 API 호환성 유지
- API 구조 재설계
- 저장소 분리 및 정리
- 내부 영역과 오픈 소스 영역 분리
AI로 GPT-4o, Claude 3.5 Sonnet, Cursor를 사용했습니다
오픈 소스 공개 (2026년 1월)
섹션 제목: “오픈 소스 공개 (2026년 1월)”이 MVP 기간 이후 Actionbase는 2026년 1월에 오픈 소스화되었습니다
공개된 코드베이스는 카카오 내부에서 개발, 운영, 개선된 것과 동일합니다. 보안상 민감하거나 조직 특화 정보는 최소한의 수정으로 제거되었으며, 일부 내부 기능은 검토 후 점진적으로 공개될 예정입니다
왜 우리는 Actionbase를 오픈 소스화했는가
섹션 제목: “왜 우리는 Actionbase를 오픈 소스화했는가”동일한 인터랙션 기능—좋아요, 최근 조회, 팔로우—가 여러 팀에서 각기 다른 스택, 스키마, 장애 양상으로 매번 다시 구축되고 있었다. 트래픽이 증가하면 각 시스템도 유사한 확장 한계에 부딪혔다.
Actionbase는 같은 문제를 열 가지 방식으로 다시 푸는 일을 멈추고, 대규모로 한 번에 해결하기 위해 등장했다.
실제 여정을 공유하다
이 코드베이스는 공개를 염두에 두고 설계되지 않았다. 실제 트래픽, 변화하는 요구사항, 운영 중 발생한 이슈들을 거치며 성장했다. 우리는 이를 다듬지 않은 채, 실제로 살아남은 코드 그대로 공개하기로 했다.
만든 이를 넘어서다
내부 시스템은 원래 담당자가 떠나면 사라지는 경우가 많다. 오픈 소스화는 시스템이 단일 팀이나 회사를 넘어, 실제로 사용하는 사람들에 의해 진화할 수 있는 기회를 만든다.
더 큰 무언가의 일부가 되다
회사 내부에서는 내부 서비스가 그저 호출하는 또 다른 API에 불과하다. 새로운 시스템을 설계하는 개발자들은 잘 알려진 기술을 사용하는 것이 자신의 성장에 더 가치 있다고 느껴, 이를 핵심 컴포넌트로 채택하는 일이 드물다.
우리도 이를 이해한다. Actionbase를 오픈 소스화함으로써, 우리가 상상하지 못한 아키텍처의 일부가 되기를 바란다.
감사의 말씀
섹션 제목: “감사의 말씀”이 작업은 카카오는 물론, 시스템을 구축하고 운영한 리더들과 엔지니어들의 지원으로 이루어졌다.
특별히 카카의 HBase 엔지니어들에게 감사를 전한다. Actionbase의 신뢰성은 HBase가 제공하는 안정성 덕분에 더욱 견고해졌다.
이 공개는 시스템에 기여한 모든 분들과 개발을 지원한 팀들의 노력을 반영한다. 오픈 소스 커뮤니티와 함께 이 프로젝트를 계속 이어나가길 기대한다.
(이 문서는 Kanana-2로 번역되었습니다. 번역 기여를 환영합니다!)