9분
h1

이 문서에서는 Adobe Developer App Builder를 통해 Adobe Commerce의 확장성을 재고하고, 사용자 정의 PHP 코드의 상당 부분을 확장성이 뛰어난 아키텍처로 대체함으로써 확장성, 안정성, 유지 관리성을 개선하고, 실제 프로덕션 환경에서 장기적인 성장을 지원하는 방법을 설명합니다.

소개

수년간 PHP 확장성은 Adobe Commerce 사용자 정의의 핵심 기반이었습니다. 하지만 클라우드 네이티브 아키텍처가 성숙해짐에 따라 더 나은 대안들도 등장하고 있습니다. 최근 유럽의 주요 모빌리티 및 금융 서비스 제공업체를 위한 구현 사례에서 기존 Adobe Commerce 모듈 개발 방식의 상당 부분을 Adobe의 클라우드 네이티브 확장 플랫폼인 App Builder로 대체했습니다. 이를 위해 런타임 액션(서버리스 함수), 이벤트 및 API를 활용하여 확장성과 유지 관리성이 뛰어난 솔루션을 제공했습니다. 이 문서에서는 이러한 결정의 배경, 아키텍처 구조 및 얻은 교훈을 자세히 살펴봅니다.

개요

Adobe Commerce에서 API 우선 접근 방식을 점진적으로 도입하려면 핵심 Adobe Commerce 플랫폼 외부에서 클라우드 네이티브 앱으로 실행할 때 가장 유익한 기능이 무엇인지 평가하고 해당 기능을 먼저 마이그레이션해야 합니다.

이 프로세스를 통해 다음과 같은 명확한 결과가 도출되었습니다.

이러한 균형을 통해 기본 로직과 결제 관련 로직은 Commerce에 가깝게 유지하면서, 통합, 유효성 검사, 백그라운드 처리 및 오케스트레이션은 확장성, 격리성 및 배포 유연성이 뛰어난 App Builder로 옮길 수 있었습니다.

결과로 생성되는 아키텍처(아래 다이어그램 참조, App Builder 확장 기능만 표시)는 이러한 하이브리드 접근 방식을 반영합니다. Adobe Commerce는 여전히 트랜잭션 코어 역할을 하고, App Builder는 통합 및 자동화의 기반 역할을 합니다. 이 전략은 이벤트 기반 흐름과 API Mesh(Adobe의 API 오케스트레이션 서비스)를 통해 ID(SSO), PIM, ERP, 타사 서비스 및 사용자 정의 비즈니스 로직을 연결합니다.

기본 대체

아키텍처 둘러보기: 하이브리드 모델 작동 방식

솔루션의 핵심에는 카탈로그, 가격, 장바구니, 결제 및 주문 처리와 같은 Adobe Commerce가 있습니다. Commerce 런타임 내에서 불필요한 사용자 정의를 피하고 트랜잭션 코어를 깔끔하고 안정적으로 유지했습니다.

핵심 기능과 관련된 모든 것, 즉 신원 확인, 데이터 유효성 검사, 가용성 로직, 백그라운드 처리 및 타사 통합은 App Builder와 Adobe API Mesh를 통해 처리됩니다.

쇼핑 경험은 새로운 Commerce Storefront(Edge Delivery Services 기반)를 기반으로 구축됩니다.

1. 진입 레이어: CDN, Commerce Storefront 및 ID 확인

일반 웹 사이트 방문자의 모든 트래픽은 먼저 CDN + Edge Delivery Service를 거치게 되며, 이를 통해 요청이 백엔드 시스템에 도달하기 전에 최적의 성능, 보안 및 글로벌 전송이 보장됩니다.

인증은 Keycloak SSO를 통해 처리되며, 다음을 통해 통합됩니다.

이 접근 방식의 주요 이점

기본 대체

2. 오케스트레이션 레이어: Adobe API Mesh

통합 아키텍처의 핵심에는 플랫폼에 관련된 모든 비즈니스 시스템 간의 중앙 오케스트레이션 및 통신 허브 역할을 하는 Adobe API Mesh가 있습니다.

EDS 프론트엔드 또는 Adobe Commerce가 각 시스템과 직접적인 지점 간 통합을 구축하는 대신, 모든 통신이 API Mesh를 통해 라우팅됩니다.

Adobe API Mesh 사용의 주요 이점

3. Storefront 및 SSO 계층에서 사용하는 App Builder 서비스

이러한 서비스는 Adobe Commerce가 아닌 Commerce 상점 및 SSO 계층에서 직접 사용하므로, 중요한 비즈니스 로직이 Commerce 런타임과 독립적으로 작동하게 합니다.

고객 데이터 수신기(SSO → App Builder)

이 서비스는 상점 또는 Commerce 성능에 영향을 주지 않고 SSO 계층에서 고객 데이터를 수신하고 동기화합니다. App Builder을 사용하면 안전한 데이터 처리, 비동기 확장성을 확보할 수 있으며, Adobe Commerce에 대한 배포 의존성을 갖지 않습니다.

고객별 제품 가용성(Storefront → App Builder → PIM)

요청이 Commerce에 도달하기 전에 고객 컨텍스트 및 PIM 데이터를 기반으로 제품 가용성이 실시간으로 산출됩니다. App Builder를 통해 해당 로직을 독립적으로 확장할 수 있으며 과도한 외부 연동 부하로부터 Commerce을 보호합니다.

기본 대체

회사 데이터 유효성 검사(Dun & Bradstreet)(Storefront → App Builder → 서드파티)

유효성 검사는 App Builder + API Mesh를 통해 상점에서 직접 트리거되고 제3자 서비스를 사용하여 검증되므로 외부 서비스의 지연 및 오류를 Adobe Commerce로부터 완전히 격리할 수 있습니다.

기본 대체

외부 ID 리디렉션 엔진(Storefront → App Builder)

외부 시스템의 인바운드 트래픽은 상점에 들어가기 전에 App Builder을 통해 처리 및 매핑되므로, 안전한 트래픽 표준화, 유연한 리디렉션 규칙 및 Commerce 코어에 대한 위험 요소를 차단할 수 있습니다.

4. Commerce Storefront Prerendering: UX를 저해하지 않는 SEO

AEM Commerce Storefront는 JavaScript를 주로 사용하여 브라우저에 제품 데이터를 로드하는 최신 프론트엔드 기반 애플리케이션입니다. 이는 탁월한 사용자 경험을 제공하지만, 전형적인 SPA 과제를 야기합니다.

검색 엔진 크롤러 및 브라우저가 없는 시스템은 JavaScript을 안정적으로 실행하지 않으므로, 거의 비어 있는 HTML을 받는 경우가 많습니다.

이 문제를 해결하기 위해 App Builder 기반의 Adobe 공식 솔루션인 AEM Commerce Prerendering을 구현했습니다.

아키텍처의 프리렌더링 작동 방식

App Builder 프리렌더 애플리케이션:

그런 다음 Commerce Storefront는 해당 스토리지를 오버레이 소스로 사용하도록 구성됩니다. 다음 중 하나의 경우:

JavaScript를 실행하지 않고 실제 제품 데이터가 포함된 완전한 HTML 응답을 즉시 수신합니다.

이와 동시에:

App Builder가 핵심 기반 기술인 이유

App Builder은 전체 프리렌더링 프로세스를 위한 중앙 제어 평면 역할을 합니다. 이를 통해 다음을 정의할 수 있습니다.

이 모든 사항은 메인 상점 또는 Adobe Commerce의 다운타임 없이 App Builder의 간단한 구성 변경을 통해 조정할 수 있습니다.

또한 Adobe는 App Builder 애플리케이션 프리렌더링용 스타터 키트를 제공하므로, 매우 짧은 시간 내에 솔루션을 운영 환경에 적용할 수 있으며 즉각적인 SEO를 개선 효과를 얻을 수 있습니다.

해당 접근법의 주요 이점

5. 주문 및 ERP 동기화: 비동기 방식 설계

체크아웃 및 주문 처리는 데이터 무결성과 트랜잭션 일관성을 유지하면서 Adobe Commerce 내에서 전적으로 처리됩니다. 주문이 생성되면 App Builder에 구축된 전용 예약 주문 익스포터가 내보내기 프로세스를 수행합니다.

이 익스포터는 상점 및 Commerce 요청 라이프사이클 외부에서 주문을 ERP에 비동기적으로 동기화합니다.

해당 접근법의 주요 이점

기본 대체

App Builder로 완전히 이동하지 않는 이유는 무엇입니까?

가장 초기의 중요한 아키텍처 결정 중 하나는 App Builder를 PHP 모듈의 완전한 대체제로 취급하지 않으면서, '늘 해오던 방식'이라는 이유로 모든 것을 PHP로만 처리하려 하지 않은 것입니다.

대신, 모든 요구 사항은 다음과 같이 간단한 필터를 거쳤습니다.

이 로직을 App Builder로 이동하면 복원력과 확장성이 향상됩니까?
업그레이드와 관련된 유지 관리 비용이 줄어듭니까?

PHP에 남아 있는 항목(30%)

PHP 사용자 지정은 해당 항목이 가장 적합한 위치에서만 수행되도록 유지했습니다.

이 영역들은 직접적인 데이터베이스 액세스, Commerce 내부와의 긴밀한 연결 및 요청 수명주기 제어가 반드시 필요한 위치입니다.

App Builder로 이동한 항목(70%)

다른 모든 기능은 이전되었습니다.

이 영역들은 역사적으로 PHP 모듈의 취약점이 보이는 분야입니다.

개선 사항 이점

비즈니스 및 통합 로직의 약 70%를 App Builder로 전환함으로써 플랫폼의 구축, 배포 및 운영 방식을 근본적으로 변경했습니다. 그 영향은 아키텍처 품질 향상뿐만 아니라 게재 속도, 시스템 안정성, 장기적 비용 관리 측면에서도 가시적인 성과로 나타났습니다.

독립 배포

대부분의 통합 및 비즈니스 워크플로를 App Builder에서 처리하므로, 이제 대부분의 변경 사항을 위해 더 이상 Adobe Commerce 전체를 재배포할 필요가 없습니다. 통합 업데이트, 유효성 검사 및 백그라운드 프로세스를 독립적으로 배포할 수 있으므로, 다음 작업을 크게 줄일 수 있습니다.

이것만으로도 일상적인 운영에서 가장 큰 생산성 향상을 끌어낸 가장 큰 요인이 되었습니다.

핵심 영역에서 확장성 강화

기존에는 다음 작업에서 트래픽이 급증했습니다.

이는 Commerce 성능에 직접적인 영향을 줍니다.

이제 이러한 워크로드는 App Builder에서 독립적으로 확장됩니다. 그 결과는 다음과 같습니다.

완벽한 장애 격리

가장 중요한 개선 사항 중 하나는 장애 억제입니다. 제3자 시스템에서 지연, 성능 저하 또는 중단이 발생하는 경우.

이를 통해 이전에 부분적 또는 전체 상점 다운타임을 야기했던 일련의 사고 시나리오를 효과적으로 제거했습니다.

코드 소유권 정립 및 권한 명확화

이제 플랫폼은 명확한 아키텍처 경계를 가지고 있습니다.

이 분리는,

미래를 대비하는 설계

이 하이브리드 아키텍처는 Adobe의 장기적인 SaaS, API 우선 및 구성 가능한 커머스 전략과 완벽하게 부합합니다. 대부분의 커스텀 로직을 외부화하여,

당사는 당면한 요구 사항만 해결한 것이 아니라, Adobe Commerce의 발전하는 모습에 맞춰 구조적으로 준비된 플랫폼을 구축했습니다.