Shopify 대 Magento: 개발자의 관점

게시 됨: 2019-04-23

Shopify와 Magento 중에서 결정을 내리려고 할 때 Shopify는 호스팅 솔루션인 반면 Magento는 오픈 소스 소프트웨어라는 말을 자주 듣게 됩니다. 이것은 종종 Shopify와 Magento의 주요 차이점으로 인용됩니다. 호스팅 솔루션을 사용하면 온라인 상점을 설치하고 호스팅할 필요가 없지만 오픈 소스 소프트웨어를 사용하면 더 높은 수준의 사용자 정의가 가능합니다.

그러나 이것이 실제로 개발자에게 의미하는 바는 무엇이며 그 선택이 판매자와 고객에게 어떤 영향을 미칩니 까?

정보 보안

Magento 세계에서 모든 온라인 상점은 Magento 소프트웨어의 자체 독립 설치입니다. Magento를 실행하는 매장은 약 200,000개이며 모두 다양한 버전, 모듈, 패치 및 사용자 정의를 실행하고 있습니다.

Magento는 오픈 소스 소프트웨어입니다. 즉, 모든 버전과 패치의 코드를 누구나 온라인에서 볼 수 있도록 공개적으로 사용할 수 있습니다. 이는 민감한 고객 및 지불 데이터를 처리하는 200,000개 이상의 Magento 매장이 있다는 사실과 결합하여 Magento를 소프트웨어의 보안 취약성을 찾아 악용하려는 악의적인 행위자에게 매우 매력적인 표적으로 만듭니다.

Magento 팀에서 보안 패치를 릴리스하면 모든 Magento 스토어를 개별적으로 업데이트해야 하며 이를 보장하는 것은 각 판매자의 책임입니다. 이 프로세스는 종종 Magento 스토어의 구현이 크게 다를 수 있다는 사실 때문에 복잡합니다. 하나의 스토어에 성공적으로 적용되는 업데이트는 타사 모듈, 테마 또는 로컬 사용자 정의의 차이로 인해 다른 스토어에 적용될 때 쉽게 문제를 일으킬 수 있습니다.

판매자와 개발자의 경우 Magento의 SUPEE-6788 보안 업데이트의 경우와 같이 예상치 못한 대규모 워크로드가 발생할 수 있습니다. 이 업데이트는 Magento의 여러 취약점을 패치했지만 수백 개의 인기 있는 커뮤니티 모듈과의 이전 버전과의 호환성도 깨뜨렸습니다. 보안 패치를 적용하는 것 외에도 영향을 받는 모든 커뮤니티 모듈은 호환성을 위해 업데이트해야 합니다. 이로 인해 개발자는 공급업체가 커뮤니티 모듈의 업데이트된 버전을 출시할 때까지 기다리거나 해당 모듈 자체를 수동으로 업데이트해야 하는 어려운 선택을 할 수 있었습니다. 공급 업체를 기다리면 Magento 매장이 취약한 상태로 유지됩니다. 해당 모듈을 수동으로 업데이트하면 모듈 코드가 공급업체 버전과 동기화되지 않아 향후 업그레이드가 복잡해질 수 있습니다.

그리고 모든 보안 취약점이 동일하게 생성되는 것은 아닙니다. 예를 들어 일반적으로 "shoplift bug"라고 하는 SUPEE-5344는 공격자가 상점에 대한 관리자 액세스 권한과 데이터베이스에 대한 전체 액세스 권한을 얻을 수 있는 Magento 취약점입니다. Magento 스토어를 정기적으로 패치하지 않음으로써 감수하는 위험은 매우 높으며 때로는 복잡하고 비용이 많이 드는 보안 패치 적용 프로세스로 인해 오늘날 많은 Magento 스토어가 패치되지 않고 취약한 상태로 남아 있습니다.

Shopify Plus 플랫폼에서 개발로 전환한 이후로 보안 취약성에 대해 Shopify 스토어를 패치하는 데 시간을 할애할 필요가 없었습니다. 이는 오픈 소스 소프트웨어보다 호스팅된 솔루션을 선택할 때 얻을 수 있는 가장 큰 이점 중 하나입니다. 플랫폼과 모든 민감한 데이터는 수십억 달러 규모의 상장 기업인 Shopify에서 호스팅하고 보호합니다.

Shopify는 플랫폼을 최신 상태로 유지하고 데이터를 안전하게 유지하여 개발자가 판매자가 비즈니스 목표를 달성하는 데 도움이 되는 프로젝트에 더 많은 시간을 집중할 수 있도록 합니다.

호스팅, 웹 트래픽, 데이터베이스 및 확장

마이그레이션_스케일링

A/B 테스트에서 Amazon은 페이지 로드 속도가 500밀리초 지연되면 매출이 5% 감소한다는 사실을 발견했습니다. Google은 마찬가지로 500밀리초의 지연으로 인해 검색 트래픽과 광고 수익이 20% 감소하고 사용자 만족도가 감소한다는 사실을 발견했습니다.

페이지 로드 속도를 최적화하는 것은 실제로 매우 중요합니다.

이것은 Shopify와 같은 호스팅된 전자 상거래 솔루션이 실제로 빛을 발하는 또 다른 영역입니다. 귀하의 온라인 상점 및 모든 관련 미디어는 Shopify에서 호스팅하며 비즈니스 모델은 Shopify가 전환율을 최대화하기 위해 페이지를 빠르게 로드해야 하는 Amazon과 동일한 압력을 느끼고 있음을 의미합니다. 귀하의 온라인 상점은 항상 이용 가능하고 매우 빠르며 판매자나 개발자에게 전혀 문제가 되지 않습니다.

Magento 개발자로 일하면서 페이지 로드 속도와 데이터베이스 로드는 항상 염두에 두고 있습니다.

Magento는 수천 개의 파일과 수백만 줄의 코드로 구성된 매우 큰 코드베이스입니다. 시스템, 모듈 및 레이아웃 구성을 파싱하는 데 계산 비용이 많이 드는 큰 XML 파일로 파일 시스템에 저장합니다. 데이터 저장소의 엔터티-속성-값 모델을 구현하여 관련 데이터를 데이터베이스의 여러 다른 테이블에 분산시키고 제품 데이터 검색과 같은 단순한 작업에도 복잡하고 비용이 많이 드는 데이터베이스 쿼리를 필요로 합니다. 이 모든 것이 Magento를 호스팅하고 확장하기 가장 어려운 플랫폼 중 하나로 만들고 사이트 트래픽이 증가함에 따라 이러한 문제에 대한 솔루션이 점점 더 복잡해집니다.

프로덕션에서 더 빠르게 실행하기 위해 Magento는 시스템 구성, 레이아웃 XML, 블록 HTML 출력 및 전체 페이지 생성을 위한 캐시를 포함하여 애플리케이션 수준에서 많은 캐싱 계층을 구현합니다. 즉, 개발자는 (신중한 고려와 테스트를 통해) 모든 로컬 사용자 지정 및 커뮤니티 모듈이 이러한 모든 캐시를 적절하게 활용하는지 확인해야 합니다. 단일 캐시 무효화라도 페이지 로드 속도에 큰 영향을 미칠 수 있기 때문입니다.

판매자의 경우 이는 전체 개발 및 호스팅 비용이 증가하고 대부분의 경우 페이지 로드 시간이 눈에 띄게 느려지는 것으로 해석됩니다.

개발, 기술 및 자원

migration_frameworks

개발 측면에서 Magento와 Shopify의 주요 차이점은 Magento는 모놀리식 전자상거래 프레임워크인 반면 Shopify는 다양한 외부 서비스와 상호 작용하는 호스팅 플랫폼이라는 것입니다.

Magento용으로 개발할 때 모든 개발 활동은 해당 프레임워크 내에서 이루어집니다. 기능을 확장하고 수정하기 위해 해당 프레임워크 내에서 코드를 추가하고 수정합니다. 모든 코드는 미리 정의된 기술 집합을 활용하고 사용 방법을 엄격하게 규제하는 Magento 코어에서 확장됩니다.

Magento 개발자는 MySQL 데이터베이스 위에 Zend 라이브러리에서 상속하는 객체 지향 PHP를 작성하고 프런트엔드에는 Prototype과 때때로 jQuery를 사용합니다. 이는 매우 복잡하고 고도로 지정된 프레임워크이며 생산성을 높이려면 많은 전문 교육이 필요할 수 있습니다. 이로 인해 고용 및 온보딩에 비용과 어려움이 추가됩니다.

Shopify용으로 개발할 때 Liquid 템플릿 엔진, Shopify 스크립트, 웹후크, JavaScript SDK의 조합을 사용하고 외부에서 Shopify 플랫폼과 상호 작용하는 사용자 지정 애플리케이션 및 서비스를 생성하여 기능을 확장하고 수정합니다.

Shopify는 강력한 REST API를 제공하여 외부 애플리케이션에서 Shopify 플랫폼에 대한 풍부한 액세스를 허용하고 개발자가 더 많은 기술 결정을 내릴 수 있는 자유를 제공합니다. 원하는 프로그래밍 언어 또는 프레임워크를 사용하여 Shopify 플랫폼용으로 개발할 수 있습니다. 개발자와 대행사가 보다 현대적이고 친숙한 기술 중에서 선택할 수 있는 유연성을 제공하면 개발자 효율성 향상 및 훨씬 더 큰 인재 풀에서 고용할 수 있는 능력을 포함하여 많은 이점을 얻을 수 있습니다.

이 모든 것이 판매자에게 의미하는 것

귀사에 적합한 전자상거래 솔루션을 선택하는 것은 단순한 기능 목록과 체크박스 그 이상입니다. 또한 결정이 개발 주기, 고객 데이터 보안, 비즈니스 성장에 맞춰 플랫폼을 확장하는 능력에 어떤 영향을 미칠지 고려하는 것도 중요합니다.

Shopify와 같은 호스팅 솔루션을 사용하면 일반적으로 민감한 데이터가 더 안전해집니다. 상점은 지속적으로 빠른 페이지 로드 시간을 가지며 자동으로 확장되며 웹 트래픽의 갑작스러운 버스트를 흡수할 수 있는 거의 무제한의 용량을 갖게 됩니다. 그리고 중요한 것은 개발자가 현대적이고 친숙한 기술을 사용하여 보다 효율적으로 작업할 수 있도록 하여 개발 비용을 줄이고 더 많은 예산을 매출 증대 및 비즈니스 목표 달성에 사용할 수 있게 한다는 것입니다.