지속적인 통합 및 배포 파이프라인은 자동화되어 있어야 하고 관리하기가 쉬울 뿐만 아니라 검색이 가능해야 하며, AWS를 사용하여 얻은 결과와 정확히 일치합니다. 저희는 이전의 온프레미스 환경에서 쉽게 가질 수 없는 수준의 단순성과 투명성을 확보했습니다.
Sam Keen 제품 아키텍처 이사
lululemon-image-2

lululemon athletica는 개발 환경을 며칠이 아닌 몇 분 이내에 조성하고 환경을 자동화할 수 있으며 AWS를 사용하여 지속적으로 통합 및 배포할 수 있습니다. 이 캐나다 회사는 요가에서 영감을 얻은 의복 및 기타 의류를 전 세계 350여 곳에서 판매합니다. 회사는 AWS Cloud에서 개발 및 테스트 환경은 물론, 곧 출시될 예정인 모바일 앱을 실행합니다.

몇 년 전 lululemon은 더 많은 디지털 서비스를 제공하고 새로운 애플리케이션 및 기능들을 더 신속하게 출시하기로 결정했습니다. 그러나 새로운 애플리케이션을 신속하게 개발할 수 있는 회사의 능력은 그와 함께 배치된 IT 환경 때문에 한계가 있었습니다. 신제품을 위한 환경을 설계하고 구현하기 위해 최근에 채용된 제품 아키텍처 담당 이사인 Sam Keen은 이렇게 말합니다. “저희 회사는 필요한 만큼 신속하게 전환할 수 있는 능력이 없었습니다.“

예를 들면, lululemon의 개발자들은 새로운 기능을 테스트하기 위한 개발 환경을 조성하는 데 대체로 며칠이 걸렸습니다. Keen은 이렇게 말합니다. “그것은 너무 많은 비용이 드는 데다 충분히 빠르지도 않았습니다. 소규모 실험조차도 너무 많은 시간이 걸렸으니까요."

또한 lululemon은 새로운 지속적 통합 및 전송 포커스를 지원하기 위해 개발 프로세스를 능률화하고자 했습니다. Keen은 이렇게 말합니다. “지속적인 통합 및 전송 파이프라인을 위해 저희는 관리를 간소화하고 가능한 한 많은 개발 프로세스를 자동화할 필요가 있었습니다.“

lululemon은 개발, 테스트 및 프로덕션 환경을 위한 플랫폼으로 Amazon Web Services(AWS)를 선택했습니다. Keen은 이렇게 말합니다. “AWS는 입증된 클라우드 공급자입니다. 저는 이전에 제가 근무한 여러 회사에서 AWS에 대한 여러 가지 멋진 경험들을 했습니다. AWS의 서비스는 그 전례가 없을 정도로 광범위합니다. 또한 규모가 큰 데다 지금도 계속 더 늘어나고 있는 기본 AWS 서비스 카탈로그를 통해 저희는 사용자 지정 대기열 솔루션을 구현하고 유지하는 데 시간을 소비하는 대신, 특정 제품 코드 기반에 더 많은 시간을 할애할 수 있습니다.”

lululemon은 완전 자동화된 지속적 통합 및 전송 시스템을 설계하기 위해 다양한 AWS 서비스를 사용합니다. 이 회사는 AWS CloudFormation 템플릿을 사용하여 전체 개발 환경을 정의합니다. Keen은 이렇게 말합니다. “저희 회사가 배포하는 모든 것은 개발 또는 프로덕션 여부에 상관없이 CloudFormation을 통해 구동됩니다.“ 회사의 인프라는 배포 후 추가 구성을 할 필요가 없는 변경 불가능한 구성 요소를 사용합니다. lululemon은 Amazon Simple Storage Service(Amazon S3)를 통해 배포되는 변경 불가능한 아티팩트를 배포합니다. 이는 신속하고 안정적인 애플리케이션 업데이트를 가능케 하는 지속적 전송 서비스인 AWS CodePipeline을 사용하여 서버에 배포됩니다. 이 단계에서 아티팩트는 웹 애플리케이션 및 서비스를 배포 및 확장하는 서비스인 AWS Elastic Beanstalk에 배포됩니다.

또한 lululemon은 Amazon Cognito 서비스를 활용하여 사용자에 대한 고유 자격 증명을 생성하고 내부 사용자 풀을 사용하여 이 자격 증명을 인증합니다.

회사는 개발 환경 외에도 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 사용하여 AWS Cloud에서 고객 지향 모바일 앱을 실행할 계획입니다. 이 앱에는 lululemon 스토어의 기반에 해당하는 커뮤니티와 관련된 사용자 지정 콘텐츠가 포함되어 있습니다.

lululemon은 개발 및 테스트 환경을 자동화하고 간소화하기 위해 AWS 서비스를 활용하고 있으며 개발 시간을 단축할 수 있습니다. Keen은 이렇게 말합니다. “이전에는 새로운 프로덕션 계정을 만드는 데 2일이 걸렸지만 이제는 AWS CloudFormation 템플릿과 AWS CodePipeline을 사용하여 불과 몇 분 안에 완료할 수 있습니다. 이는 비용이 거의 들지 않으면서 설치에 소요되는 시간도 거의 들지 않는 소규모 프로젝트를 시작할 수 있음을 의미합니다. 이러한 민첩성을 통해 우리는 현재 보유한 리소스를 사용할 용도에 만족하기보다는 오히려 실험을 통해 최적의 솔루션을 얻을 수 있습니다. AWS를 사용하여 이전보다 훨씬 더 빨리 새로운 기능과 애플리케이션을 출시할 수 있습니다.”

lululemon은 몇 가지 수동적 단계가 포함된 간소화된 개발 접근 방식을 사용하여 환경 관리 효율성도 향상시켰습니다. Keen은 이렇게 말합니다. “모든 인프라는 AWS CloudFormation에 의해 정의되기 때문에 저희는 단 하나의 진정한 소스를 갖고 있습니다. 인프라 변경은 한 곳에서만 이루어져야 하며 그러한 변경의 잠재적 영향을 확인할 수 있습니다. 또한 CloudFormation 템플릿은 소스 제어하에 있기 때문에 당사는 변경 제어의 그러한 측면을 얻게 됩니다. AWS CloudFormation이 개발자들에게 제공하는 가치는 실로 엄청납니다.”

또한 lululemon은 개발 시스템의 투명성을 향상시켰습니다. Keen은 이렇게 말합니다. “저희는 AWS를 사용하여 파이프라인을 매우 간단하게 시각화하고 있습니다. 지속적인 통합 및 배포 파이프라인은 자동화되어 있어야 하고 관리하기가 쉬울 뿐만 아니라 검색이 가능해야 하며, AWS를 사용하여 얻은 결과와 정확히 일치합니다. 저희는 이전의 온프레미스 환경에서 쉽게 가질 수 없는 수준의 단순성과 투명성을 확보했습니다.”

회사는 AWS에서 모바일 앱을 지원하는 서비스를 기초로 하여 lululemon이 지역 사회에 더 효과적으로 참여할 수 있도록 디지털 도구를 구축하고 있습니다. “그 결과, lululemon 직원들은 소비자의 관심과 가장 잘 어울리는 역동적인 콘텐츠를 보다 쉽게 만들 수 있습니다. 저희는 지금까지 확인한 성공 사례를 바탕으로 AWS에서 새로운 애플리케이션을 추가로 만들고 실행할 계획입니다. AWS로 전환하는 것은 저희 회사의 사업을 위한 중대한 결정이었습니다.”