AWS의 완전 관리형 서비스는 개발자를 위해 많은 일을 해주어 순수 개발 업무에 집중할 수 있었습니다. 결과적으로 신규 서비스를 AWS 기반으로 구축하여 개발 기간이 평균 40% 가량 단축되었고, 데이터베이스 관리도 온프레미스에서는 준비하고 구축하는데 한 달이 걸리던 작업을 AWS에서는 10분이면 구성할 수 있어 편리함과 개발 생산성을 모두 얻었습니다.
김형섭 CTO, 플레이오토

플레이오토는 2005년 창업한 쇼핑몰통합관리 솔루션 전문 기업입니다. G마켓, 티몬, 아마존 등 국내 및 해외 쇼핑몰에서 상품을 거래하는 온라인 사업자를 위한 통합관리 솔루션을 개발하는 전문 기업입니다. 플레이오토는 온라인 셀러들이 여러 온라인 쇼핑몰에 일일이 로그인해야 하는 번거로움 없이 상품등록/주문대응/재고관리를 한 곳에서 관리할 수 있는 이커머스 통합 관리 솔루션을 제공합니다. 2005년 출시 이후 약 4천여 개 중대형 온라인 셀러들이 플레이오토 EMP를 사용하고 있습니다. 플레이오토는 새로운 관리 솔루션인 ‘Playauto 2.0’을 Amazon Web Services 기반 SaaS(Software-as-a-Service)형 서비스로 구축하였습니다.

플레이오토는 기존의 고객뿐만 아니라 새로운 잠재 고객들을 대응하기 위한 Playauto 신규 버전 개발에 앞서 기존 250 여대의 서버를 운용 하고 있던 온프레미스 IDC 환경의 인프라 구축 및 운영을 다시 점검하게 되었습니다. 플레이오토의 새로운 서비스는 기존 고객을 지원하는 동시에 기업의 성장을 뒷받침할 IT 인프라 확장에 대한 확실한 대안이 필요했습니다. 당시 플레이오토의 개발자들이 클라우드 인프라 활용에 익숙하진 않았습니다. 하지만 기존의 온프레미스 환경을 확장 또는 클라우드 인프라를 이용한 서비스 제공을 검토해 본 결과 ‘Playauto 2.0’은 향후 사업 성장에 유연하게 대응할 수 있는 클라우드 기반의 서비스 형태로 설계 하는 것이 합리적이라고 판단했습니다.

클라우드 인프라 기반 개발을 고민하던 시점에서 플레이오토는 정보통신산업진흥원(NIPA)에서 주관하는 ‘글로벌 SaaS 인큐베이팅 프로젝트(GSIP)’ 지원 사업에 선정되었습니다. 플레이오토는 글로벌 클라우드 서비스 기업과 이에 기반한 SaaS 서비스 개발을 희망하는 개발사와의 파트너십을 지원하는 프로그램인 GSIP를 통해 AWS Partner Network(APN)의 테크놀로지 파트너사로 합류하였습니다. 플레이오토의 김형섭 CTO는 “서버 250대 규모 인프라를 앞으로 계속 늘려야 했다면 이를 안정적으로 운영하기 위해 더 많은 관리 인력이 필요했습니다. 반면 AWS의 완전 관리형 서비스는 개발자를 위해 많은 일을 해주어 순수 개발 업무에 집중할 수 있었습니다.”라고 설명했습니다. 이재성 수석 엔지니어는 “개발자 입장에서 AWS는 시스템 엔지니어들이 알아야 하는 기본 지식이 없어도 인프라를 사용하고 장애 대응에 신속하게 대응하기 훨씬 편했습니다.”라고 말했습니다.
현재 ‘Playauto 2.0’은 AWS 기반 SaaS 형태로 서비스를 제공하고 있습니다. Amazon RDS의 Amazon Aurora, Redis용 Amazon ElastiCache, Amazon DynamoDB 등으로 인프라를 구축하였으며, Amazon API GatewayAWS Lambda로 웹 애플리케이션의 마이크로서비스 대응과 주문 수집을 위한 프로세싱 과정의 백엔드를 Serverless로 구축하였습니다. ‘Playauto 2.0’ 버전에 완전관리형 메시지 대기열 서비스인 Amazon Simple Queue Service(SQS)를 사용하여 마이크로서비스 아키텍처로 세분화된 시스템을 메시징 서비스로 서로 연결하여 시스템 안정성을 강화하였습니다. 그리고 SQS 대기열을 기반한 Auto Scaling 정책을 수립하여 확장성 및 비용 효율성을 높였습니다. 또한 AWS Elastic Beanstalk을 통해 ‘Playauto 2.0’ 외에도 전사 서비스의 DevOps 활동을 위한 핵심 서비스로 활용하여 개발자의 생산성을 높이고 있습니다.

다음은 플레이오토의 아키텍처 다이어그램입니다.

playauto-diagram

플레이오토는 AWS의 완전관리형서비스를 이용해 적은 비용과 시간으로도 ‘Playauto 2.0’ 서비스를 개발 및 구축 할 수 있었습니다. “플레이오토가 기존 온프레미스 환경에서 사용하던 구버전을 참고해서 새로운 서비스를 개발할 때 코드를 생성하고 서버에 올린 후 배포하고, Auto Scaling 기능을 추가하는 작업까지 모두 한 번에 해결해주는 Elastic Beanstalk의 장점을 톡톡히 봤습니다.”라고 김형섭 CTO가 설명했습니다. 플레이오토는 기존 솔루션에서 RabbitMQ를 따로 만들어서 사용하는데, 이런 메시지 큐는 고객이 실시간으로 메시지를 교환하기 때문에 이중화를 비롯해서 페일오버(failover) 장치 등을 모두 구축하는데 9대의 서버가 필요하지만 AWS의 SQS나 Elasticache의 Redis 등을 사용하여 고가용성을 충족시키면서도 장애 없이 운용할 수 있는 간편함과 편의성 그리고 비용 절감 효과도 기대할 수 있었습니다. 기존에는 인프라 추가 구축 작업과 관리 인력 부족 등으로 할 수 없었던 서비스도 AWS 서비스를 통해 가능해졌습니다. 결과적으로 고객들이 원하는 새로운 서비스 개발에 더욱 집중할 수 있게 되었습니다.
플레이오토는 APN 파트너로써 사내 개발자들의 역량 강화를 위한 AWS 의 다양한 정규 트레이닝 프로그램 지원과, 새로운 서비스 개발 과정에서 AWS가 제공하는 다양한 서비스를 평가해 볼 수 있도록 샌드박스 크레딧을 지원 받고, SaaS 전문가로부터 지속적인 기술 자문을 받았습니다. 김형섭 CTO는 “특히 파트너 솔루션즈 아키텍트를 통해 Well-Architected Framework에 기반한 SaaS 서비스 아키텍쳐 리뷰와 서비스를 더욱 잘 만들기 위한 기술 자문이 제공되어 큰 도움이 되었습니다. 결과적으로 신규 서비스를 AWS 기반으로 구축하여 개발 기간이 평균 40% 가량 단축되었고, 데이터베이스 관리도 온프레미스에서는 준비하고 구축하는데 한 달이 걸리던 작업을 AWS에서는 10분이면 구성할 수 있어 편리함과 개발 생산성을 모두 얻었습니다.”라고 설명했습니다.

김형섭 CTO는 “앞으로 AWS 테크놀로지 파트너로서 지속적으로 AWS와 협업하여 새로운 SaaS서비스를 개발하고, AWS Marketplace를 활용해 글로벌 사업을 전개하는 등 향후 다양한 영역에서 플레이오토와 AWS가 상호 시너지를 낼 수 있는 좋은 비즈니스 파트너로 성장하기를 기대하고 있습니다.”라고 말했습니다.