Cualquier canalización de integración e implementación continuas debería estar automatizada y ser fácil de administrar y detectar. Eso es exactamente lo que nos ofrece AWS. Logramos un nivel de simplicidad y transparencia que no podíamos alcanzar en nuestro entorno local anterior.
Sam Keen Director of Product Architecture

lululemon athletica puede poner en funcionamiento entornos de desarrollo en cuestión de minutos, en vez de días, automatizarlos y activar la integración e implementación continuas mediante AWS. La compañía de origen canadiense vende prendas de vestir inspiradas en el yoga y otras vestimentas en más de 350 lugares de todo el mundo. La compañía ejecuta entornos de desarrollo y pruebas, así como también una aplicación móvil de lanzamiento inminente, en la nube de AWS.

Varios años atrás, lululemon decidió ofrecer más servicios digitales y crear aplicaciones y servicios nuevos con mayor agilidad. Sin embargo, la capacidad de la compañía para desarrollar nuevas aplicaciones con rapidez era limitada debido a la coubicación de su entorno de TI. "No teníamos la capacidad para avanzar con la velocidad que necesitábamos", explica Sam Keen, director de arquitectura de productos, quien fue recientemente contratado para diseñar e implementar el entorno para los productos nuevos.

A modo de ejemplo, el plazo normal de los desarrolladores de lululemon para poner en funcionamiento entornos de desarrollo destinados a probar características nuevas era de varios días. "Era demasiado costoso y lento", dice Keen. "Incluso las pruebas de poca escala llevaban demasiado tiempo".

lululemon también quería optimizar procesos de desarrollo a fin de respaldar su nuevo enfoque de integración y entrega continuas. "Para nuestra canalización de integración y entrega continuas, necesitábamos simplificar la administración y automatizar la mayor cantidad posible de procesos de desarrollo", expresa Keen.

lululemon eligió Amazon Web Services (AWS) como la plataforma para sus entornos de desarrollo, pruebas y producción. "AWS es un proveedor de la nube sólido. Ya había tenido excelentes experiencias en otras compañías en las que había trabajado. La variedad de servicios no tiene precedentes", dice Keen. "Además, el amplio y cada vez más completo catálogo de servicios básicos de AWS nos permite pasar más tiempo trabajando en el código base específico de nuestros productos, en vez de hacerlo en la implementación y el mantenimiento de una solución de cola personalizada".

lululemon utiliza varios servicios de AWS para diseñar un sistema de integración y entrega continuas totalmente automatizado. La compañía usa plantillas de AWS CloudFormation para definir su entorno de desarrollo completo. "Todo lo que implementamos, ya sea en desarrollo o producción, está basado en CloudFormation", explica Keen. La infraestructura de la compañía usa componentes inmutables que no necesitan configuración adicional una vez que se implementan. lululemon implementa artefactos inmutables que se distribuyen a través de Amazon Simple Storage Service (Amazon S3). Estos se implementan en servidores mediante AWS CodePipeline, un servicio de entrega continua que permite realizar actualizaciones de aplicaciones ágiles y fiables. A partir de esta etapa, los artefactos se implementan en AWS Elastic Beanstalk, un servicio para implementar y ajustar la escala de aplicaciones y servicios web.

lululemon también aprovecha el servicio Amazon Cognito a los fines de crear identidades únicas para los usuarios y autenticarlas a través de grupos de usuarios internos.

Además de su entorno de desarrollo, la compañía planea ejecutar una aplicación móvil accesible para los clientes en la nube de AWS a través del uso de instancias de Amazon Elastic Compute Cloud (Amazon EC2). La aplicación incluye contenido personalizado específico para las comunidades en las que se encuentran las tiendas de lululemon.

El uso de los servicios de AWS para automatizar y simplificar entornos de desarrollo y pruebas permitió a lululemon disminuir los plazos de las tareas de desarrollo. "En vez de demorar dos días para crear una cuenta de producción nueva, ahora podemos hacerlo en cuestión de minutos gracias a las plantillas de AWS CloudFormation y AWS CodePipeline", dice Keen. "Eso significa que podemos lanzar proyectos de poca escala que cuestan muy poco y cuyo tiempo de configuración es mínimo. Ese nivel de agilidad nos permite hacer pruebas y llegar a las mejores soluciones, en vez de tener que conformarnos con los recursos que tenemos. Con AWS, podemos poner características y aplicaciones nuevas en funcionamiento con una velocidad mucho mayor a la anterior".

Gracias a una estrategia de desarrollo simplificada que incluye pocos pasos manuales, lululemon también logró optimizar la manejabilidad de su entorno. "Como toda la infraestructura se define a través de AWS CloudFormation, solo tenemos una fuente de la verdad. Un cambio de infraestructura solo debe ocurrir en un lugar para que podamos ver su impacto potencial", dice Keen. "Además, como las plantillas de CloudFormation están bajo el control del código fuente, adquirimos dicho aspecto del control de cambios. Los beneficios de AWS CloudFormation para nuestros desarrolladores es enorme".

lululemon también ha mejorado la transparencia de su sistema de desarrollo. "Obtenemos una visualización muy simple de la canalización mediante el uso de AWS", comenta Keen. "Cualquier canalización de integración e implementación continuas debería estar automatizada y ser fácil de administrar y detectar. Eso es exactamente lo que nos ofrece AWS. Logramos un nivel de simplicidad y transparencia que no podíamos alcanzar en nuestro entorno local anterior".

La compañía está logrando crear herramientas digitales que permiten a lululemon interactuar mejor con las comunidades locales gracias a que basa en AWS los servicios que respaldan su aplicación móvil. "Como resultado, los empleados de lululemon ahora pueden crear con mayor facilidad contenido dinámico que se adapte a los intereses de los consumidores. En función de lo que hemos logrado hasta el momento, planeamos crear y ejecutar aplicaciones nuevas en AWS. Migrar a AWS fue una excelente decisión para nuestro negocio".