Any continuous integration and deployment pipeline should be automated, easy to manage, and discoverable, and that’s exactly what we get using AWS. We get a level of simplicity and transparency we simply couldn’t have in our previous on-premises environment.Sam KeenDirector of Product Architecture
Sam Keen Director of Product Architecture

Several years ago, lululemon decided to offer more digital services and push out new applications and features faster. However, the company had a limited ability to quickly develop new applications because of its collocated IT environment. “We didn’t have the ability to move as quickly as we needed to,” says Sam Keen, director of product architecture, who was recently hired to design and implement the environment for new products.

As an example, it typically took lululemon developers several days to stand up development environments for testing new features. “It was too costly and not fast enough,” says Keen. “Even small-scale experiments took too much time.”

lululemon also wanted to streamline development processes to support its new continuous integration and delivery focus. “For our continuous integration and delivery pipeline, we needed to simplify management and automate as many development processes as possible,” says Keen.

lululemon chose Amazon Web Services (AWS) as the platform for its development, test, and production environments. “AWS is a proven cloud provider, and I had great experiences with AWS at previous companies I worked for. Its breadth of services is unprecedented,” Keen says. “Also, the large and ever-increasing catalog of basic AWS services enables us to spend more time on our specific product code bases, rather than spending time implementing and maintaining a custom queueing solution.”

lululemon uses a variety of AWS services to engineer a fully automated, continuous integration and delivery system. The company uses AWS CloudFormation templates to define its complete development environment. “Everything we deploy, whether in development or production, is driven by CloudFormation,” says Keen. The company's infrastructure uses immutable components that do not need additional configuration once deployed. lululemon deploys immutable artifacts distributed via Amazon Simple Storage Service (Amazon S3). These are deployed to servers using AWS CodePipeline, a continuous-delivery service that enables fast, reliable application updates. From this stage, the artifacts are deployed to AWS Elastic Beanstalk, a service for deploying and scaling web applications and services.

lululemon also takes advantage of the Amazon Cognito service to create unique identities for users and authenticate them using internal user pools.

In addition to its development environment, the company plans to run a customer-facing mobile app on the AWS Cloud, using Amazon Elastic Compute Cloud (Amazon EC2) instances. The app includes customized content specific to the communities where lululemon stores are based.

Relying on AWS services to automate and simplify its dev and test environments, lululemon can decrease its development time. “Instead of taking two days to build a new production account, we can do it in minutes using AWS CloudFormation templates and AWS CodePipeline,” says Keen. “That means we can launch small-scale projects that cost very little and take very little time to set up. With that agility, we can experiment and get to the best solutions, rather than having to settle for what we have resources for. Using AWS, we can push out new features and applications much faster than we could previously.”

With a simplified development approach containing few manual steps, lululemon has also enhanced the manageability of its environment. “Because all infrastructure is defined by AWS CloudFormation, we have a single source of truth. An infrastructure change only needs to occur in one place, and we can see the potential impact of that change,” says Keen. “Also, because the CloudFormation templates are in source control, we gain that aspect of change control. The value that AWS CloudFormation brings to our developers is huge.”

lululemon also has improved its development system transparency. “We get a very simple visualization of the pipeline using AWS,” says Keen. “Any continuous integration and deployment pipeline should be automated, easy to manage, and discoverable, and that’s exactly what we get using AWS. We get a level of simplicity and transparency we simply couldn’t have using our previous on-premises environment.”

By basing the services supporting its mobile app on AWS, the company is building digital tools to enable lululemon to better engage local communities. “As a result, lululemon employees can more easily build dynamic content that best aligns with consumers’ interests. Based on the success we’ve seen so far, we plan to create and run additional new applications on AWS. Moving to AWS was a great decision for our business.”