brunch

You can make anything
by writing

C.S.Lewis

by 안영회 습작 Nov 26. 2021

헤드리스 커머스와 SW 아키텍처

MSA 기술과 적용 연구 2

국내 헤드리스 커머스 업체, 여기 있소이다 라는 기사에서 헤드리스 커머스라는 말을 처음 들었다.

헤드리스 커머스는 프론트엔드가 유연하게 변화에 대응할 수 있도록 백엔드를 구성하는 것이다. 구매자들은 프론트엔드에 접근한다. 프론트엔드는 디자인이 중요하고 회사 고유의 아이덴티티 이런 것에 적용을 받는다. 이 부분은 변화가 심하다. 백엔드는 이 변화에 부응해야 한다.


헤드리스 커머스란 무엇인가?

사전 정의를 찾아봤다.

Headless commerce is an e-commerce architecture where the front-end (head) is decoupled from the back-end commerce functionality and can thus be updated or edited without interfering with the front-end, similar to a headless content management system (CMS). The term was coined by Dirk Hoerig, co-founder of Commercetools, in 2013.

이커머스 아키텍처로 프론트엔드와 백엔드 커머스 기능의 결합도를 줄이는 방식을 말한다. Head가 프론트엔드를 말했고, 프론트 엔드 없는(less) 아키텍처로 커머스 도메인에 특화된(domain-specific) 표현이다.


위키피디아 페이지 역사(history) 항목의 설명이 유용하게 느껴졌다. 사용자 경험이 뒤쳐지는 문제를 해결하기 위해 백엔드 커머스 기능과 프론트 엔드를 느슨하게 나눌 것이 제안되었다고 이해했다.

Headless commerce was arguably born out of a 2013 Forrester Research report that bemoaned e-commerce vendors falling behind user experience trends and recommended “loosely” coupling the back- and front-ends of e-commerce stores.

여기까지 보다가 경험과 겹치는 생각이 떠올랐다.


위챗 미니프로그램 환경

2016년 중국에 가서 깜짝 놀랐던 위챗 사용자 경험은, 개발자 관점에서도 놀라웠다. 우리 회사가 위챗 기반에도 돌아가는 미니 프로그램(小程序) 형태로 서비스를 개발하기 때문에 체감하는 내용이다. 우리 회사의 CTO님은 플랫폼으로써의 위챗이라고 설명한 바 있는데, 사용자를 위한 플랫폼일 뿐 아니라 개발자를 위한 플랫폼 또한 제공한다. 이때, 표준화한 UI 유형을 공식 계정이나 미니 프로그램 등으로 정의하여 위챗(텐센트)쪽에서 개발자 도구와 API 등을 제공해준다.

출처: popit.kr


이렇게 개발을 하다 보면 텐센트가 대략의 UX를 제공해주고, 사업자는 백엔드와 기능성 화면만 구현하기 때문에 자연스럽게 헤드리스 커머스와 유사해진다. 중국에서 만들어진 환경이기 때문에 굳이 헤드리스 커머스라는 영미식 말을 쓰지 않지만, 도리어 헤드리스 커머스를 몰라도 위챗 기반에서 구현하면 플랫폼 생태계 전체가 헤드리스 커머스 구현할 수 있다.


헤드리스 커머스와 육각 아키텍처(Hexagonal architecture)

지인이 최근 올린 포스트와 과거 아키텍트 경험 때문에 헤드리스 커머스를 보니 Hexagonal architecture도 떠올라 위키피디아 페이지를 찾아보았다.

The hexagonal architecture, or ports and adapters architecture, is an architectural pattern used in software design. It aims at creating loosely coupled application components that can be easily connected to their software environment by means of ports and adapters. This makes components exchangeable at any level and facilitates test automation.

헤드리스 커머스도 육각 아키텍처 패턴을 따를 수 있다. Front가 없다는(headless) 말이 육각 아키텍처 패턴에 따르면 Core인 Application만 구축한다는 의미다. Head는 Adapter의 구현체로 볼 수 있다. 물론, 헤드리스 커머서는 삼각인지, 육각인지에 관심은 없다. 커머스라는 도메인 특화 아키텍처인 탓이다. 패턴은 다양한 도메인에서 쓸 수 있어야 유용하기 때문에 헤드리스 커머스를 육각 아키텍처 패턴으로 구현할 수 있다는 말은 육각 아키텍처 패턴의 유용함을 말하기도 한다.

출처: https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)


아키텍처 패턴과 도메인 특화 아키텍처

기사를 보다가 눈에 띈 내용을 아키텍처 배경 지식과 업계 현황에 맞춰서 유사 개념 간의 관계를 살펴보았다. MSA 기술 이전 사업 참여 이후에 익히고 겪는 내용 중에서 영업 비밀과 무관한 내용을 적극적으로 공유하기 위해서 짬짬이 공유하는 기록을 남기기로 한다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari