任何持續整合和持續部署管道都應該要自動化、易於管理和可探索,而 AWS 提供給我們的正是符合這些條件的管道。我們獲得的簡易性和透明度,是之前在現場部署環境所不可及的。
Sam Keen 產品架構總裁

使用 AWS,lululemon athletica 可在幾分鐘內設置開發環境、自動化環境,以及進行持續整合和持續部署,無須花費幾天的時間。這間加拿大公司銷售瑜珈服裝和其他服飾,全球有超過 350 家分店。該公司在 AWS 雲端執行開發和測試環境,以及即將推出的行動應用程式。

lululemon 幾年前決定提供更多數位服務,並更快速地推出新的應用程式和功能。然而,因為該公司採用共置 IT 環境,所以快速開發新應用程式的能力有限。最近受聘設計和實作新產品環境的產品架構總裁 Sam Keen 表示:「我們沒有能力依需求快速進行開發」。

舉例來說,lululemon 開發人員通常需要數天的時間,才能設置測試新功能的開發環境。Keen 表示:「費用太高且不夠快速,即使是小規模的試驗也要很長的時間。」

Lululemon 也想要簡化開發程序,以支援新的持續整合和交付重點。Keen 說:「針對持續整合和交付管道,我們要盡可能簡化更多開發程序的管理和自動化。」

lululemon 選擇 Amazon Web Services (AWS) 作為其開發、測試和生產環境的平台。Keen 表示:「AWS 是倍受肯定的雲端供應商,而且我在之前任職的公司就和 AWS 有過非常棒的合作經驗。他們提供的服務廣度是前所未見的。此外,大量且持續增加的基本 AWS 服務型錄可讓我們將更多時間花在特定的產品程式碼基底,無須花費時間實作和維護自訂佇列解決方案。」

lululemon 使用各種 AWS 服務,設計一個全自動的持續整合與持續交付系統。該公司使用 AWS CloudFormation 範本定義完整的開發環境。Keen 說:「無論是開發或生產,我們每項部署都透過 CloudFormation 驅動。」該公司的基礎設施使用不可改變的元件,部署之後便無須進行其他設定。lululemon 部署透過 Amazon Simple Storage Service (Amazon S3) 分發的不可改變成品。這些都使用持續交付服務 AWS CodePipeline 部署到伺服器,以支援快速、可靠的應用程式更新。從這個階段開始就會將成品部署到 AWS Elastic Beanstalk,這個服務可部署和擴展 Web 應用程式及服務。

lululemon 還利用 Amazon Cognito 服務建立使用者的唯一身分,並使用內部使用者集區進行驗證。

除了開發環境,該公司還計劃在 AWS 雲端使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,執行面向客戶的行動應用程式。該應用程式可針對 lululemon 商店所在位置提供自訂的社群專屬內容。

lululemon 仰賴 AWS 服務來自動化和簡化開發及測試環境,進而縮短開發時間。Keen 表示:「建立新的生產帳戶不再需要兩天的時間,使用 AWS CloudFormation 範本和 AWS CodePipeline 可在幾分鐘內完成。這表示我們可以用非常少的成本推出小規模的專案,而且在非常短的時間內完成設定。這樣的靈活性可讓我們試驗並找出最佳的解決方案,而不會受限於現有的資源。使用 AWS,我們能夠比以往更快速地推出新功能和應用程式。」

採用僅含幾個手動步驟的簡化開發方法,lululemon 還增強了環境的管理能力。Keen 說:「由於所有基礎設施都由 AWS CloudFormation 定義,我們擁有單一資訊來源。基礎設施變更只需要在單一位置進行,之後我們就能看到該變更帶來的潛在影響。此外,由於 CloudFormation 範本屬於來源控制,因此我們可獲得這方面的變更控制。AWS CloudFormation 為開發人員提供極大的價值。」

lululemon 還提高了開發系統透明度。Keen 表示:「AWS 為我們提供非常簡易的管道視覺化資料,任何持續整合和持續部署管道都應該要自動化、易於管理和可探索,而 AWS 提供給我們的正是符合這些條件的管道。我們獲得的簡易性和透明度,是之前在現場部署環境所不可及的。」

以 AWS 為基礎建立支援行動應用程式的服務,lululemon 建立了可與當地社群進行更多互動的數位工具。「lululemon 員工也因此可以更輕鬆地建立消費者感興趣的動態內容。根據目前獲得的成功經驗,我們計劃在 AWS 建立和執行其他新的應用程式。移轉到 AWS 對我們的公司而言是一個非常棒的決定。」