《貝佐斯新傳》:貝佐斯多年來對於食品遞送到府採取消極態度,直到強勁的競爭對手浮現

《貝佐斯新傳》:貝佐斯多年來對於食品遞送到府採取消極態度,直到強勁的競爭對手浮現
Photo Credit: Reuters / 達志影像

我們想讓你知道的是

亞馬遜的其他服務事業能夠立即把觸角延伸至全國、甚至全球,但生鮮部門不同,它的潛力受限於車隊的遞送地域範圍。生鮮團隊也必須解決一堆棘手問題,像是如何處理過期食物。

文:布萊德.史東(Brad Stone)

亞馬遜生鮮超市:搶地盤的商機

貝佐斯把有前景的商機分成兩類,一類是「搶地盤」,當時機成熟時,敵人群起圈地,所以亞馬遜必須快速行動,不然就輸了。其他機會則屬於另一類,公司可以等待,耐心地實驗。

亞馬遜市集、Kindle、Alexa,這些都是搶地盤型的商機,貝佐斯催促員工趕緊行動,有他們多處的戰鬥傷疤可以為證。但多年來,對於食品遞送到府這塊領域,他採取比較消極的態度,直到他看到強勁的競爭對手浮現,於是驟然改變心意。亞馬遜的策略改變將對龐大的雜貨市場產生重大影響,也將永久改變顧客、競爭者以及監理機關對這個電子商務巨擘的觀點。

對雜貨業務思量最久、主張做法更積極的亞馬遜主管,是消費品業務資深副總赫林頓。在辦公室裡,赫林頓經常穿著格子襯衫加上一件巴塔哥尼亞(Patagonia)牌子的背心,在會議上,他說話的聲音輕到員工往往得傾身向前才能聽得到。職涯早年,他在第一代雜貨遞送線上公司Webvan工作,在1990年代的網路公司榮景時期,這家公司曾在私募與公開融資市場上集資近十億美元,最後在2001年申請破產。

網際網路歷史學家把Webvan視為矽谷自負地急於創造人們不想要的未來的一個終極象徵,但擁有普林斯頓大學及哈佛商學院企管碩士學位、當年在Webvan負責產品開發與行銷的赫林頓卻說,真實故事其實更為複雜。Webvan的執行長路易斯・博德斯(Louis Borders,博德斯連鎖書店的共同創辦人)和經營團隊錯在建立了營運成本太高的倉庫網絡,導致該公司的每一筆訂單都虧錢。

在他們還沒來得及修正錯誤之前,甚至還沒來得及在已經建立營運設施的許多城市開張業務之前,華爾街就已經在2000年代初期的不景氣中停止對不賺錢的新創公司提供融資。其實,Webvan的營收及顧客數都在成長,但它無法快速地回收投資,最終陷入財務困境,宣告破產。「我離開時說:『理論上,這個商業模式是可行的』。」赫林頓說:「我們做了一些錯誤的抉擇,做了一些無效率的事,但顧客喜愛這項服務。」

赫林頓在2005年進入亞馬遜,負責消費品(相當快就會用完的商品,例如洗衣精、食物)業務。他組建一支團隊,他們利用晚上開會,商討一項不在白天工作職責範圍內的雄心計畫。這項任務是研擬為亞馬遜推出全國雜貨服務的計畫。赫林頓想解決食品遞送到府的問題,化解Webvan破產的苦果。

一年多後的2006年年底,在亞馬遜昔日位於太平洋醫療中心大樓(Pacific Medical Center)的總部辦公室,貝佐斯審閱他們的計畫書,裡頭寫著前置投資需求為六千萬美元,貝佐斯否決了這計畫,赫林頓回憶道,「他給的回饋意見是:『喜愛這個願景,討厭這些數字。』」但他獲得了七百萬美元,在西雅圖進行有限服務的試驗,當時的財務長湯姆・斯庫塔(Tom Sukutak)要他盡量別讓公司其他單位因為這項試驗而分心。

亞馬遜生鮮超市Amazon Fresh在2007年8月推出,赫林頓的團隊在西雅圖東邊的柏衛市租下喜互惠超市以前的配送中心,由於當地房地產市場崩潰,導致配送中心閒置,荒涼景況「就像恐怖電影般嚇人」,亞馬遜生鮮的首任總經理伊安・克拉森(Ian Clarkson)說。這個新服務業務的每個層面都必須與亞馬遜的其他業務不同:倉庫房間裡擺放著大到能裝人的大型冰箱;每個網頁展示多項產品,而非只有一項產品,並且提供顧客選擇一天中的某段時間遞送。貝佐斯經常檢視這個生鮮部門的進展,有次注意到遞送成本膨脹,建議提供黎明前遞送,就像垃圾車那樣,利用交通稀疏的清晨時段。

西雅圖的顧客喜歡早晨起床後看到擺放在門前的生鮮貨物,但生鮮部門遭遇的其他挑戰就困難多了。亞馬遜的其他服務事業能夠立即把觸角延伸至全國、甚至全球,但生鮮部門不同,它的潛力受限於車隊的遞送地域範圍。生鮮團隊也必須解決一堆棘手問題,像是如何處理過期食物;如何管理複雜的香蕉熟化過程;當顧客抱怨晚餐有什麼東西不好,該如何回應。儘管如此,六年期間,他們有了緩慢、但穩定的進展,漸漸轉虧為盈。

那段期間,赫林頓經常向S團隊倡議把亞馬遜生鮮推廣到其他城市,但當時的亞馬遜還比較小,在中國的擴展(難逃失敗下場)、智慧型手機Fire Phone等爭地盤型的商機被擺在優先,貝佐斯認為,消費者接受食品遞送到府服務將是個緩慢漸進的過程。被迫維持於當地營運的赫林頓對長久的延遲感到很沮喪。

2012年4月,貝佐斯在西雅圖東北方約半小時車程的伍丁維爾鎮(Woodinville)垂柳休閒飯店(Willows Lodge)進行S團隊的年度會議,他要求每位主管準備一、兩頁有關亞馬遜新事業機會的備忘錄。赫林頓在一年前加入這個領導團隊,他準備的備忘錄直率到引起S團隊的共鳴且多年難忘,就連備忘錄的標題也很具煽動力:「亞馬遜的未來是CRaP。」

在公司的術語中,「CRaP」是「can’t realize a profit(無法賺錢)」的首字母縮寫,但有幾個意思。CRaP包括梯子與白板之類的產品,無法裝箱或有效率地出貨給顧客。但是,赫林頓在他的備忘錄中談的大多是超市販售的笨重、廉價貨品,例如:瓶裝水、健怡可樂或一大袋蘋果。在Webvan慘敗後,當時的多數線上零售商視這類產品為經濟流沙,為了降低這類產品造成的負面財務影響,該公司制定一種「加購」方案:顧客必須同時購買更多品項,例如:書籍、電子產品等等,才能在同一張訂單訂購CRaP品項。


猜你喜歡


挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

我們想讓你知道的是

企業如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署,減輕人力負擔,提升專案服務運作效率?

所謂現代化智慧 IT,所有工程師最希望的境界,莫過於只要輕鬆點幾下設定,系統就會自動跑起來,管理者再也不用隨時待命在機台旁邊,從此工作悠哉又快樂!儘管這樣情境還沒到來,但隨著敏捷式開發的流行,除了 DevOps 人員,有越來越多開發者將 CI/CD 概念融入到工作流程當中,例如從 build code、執行 unit test、到部署應用程式。

透過 AWS 增加雲端技能 在組織發揮影響力

上述種種反覆步驟自動化執行,也就能提昇服務品質、主動通知開發人員以減輕人力負擔,讓專案服務能持續運作。

其中,GitLab 是執行 CI/CD 常用的工具之一,也是開發者使用程式碼儲存庫的地方。為了讓 GitLab Runner 在雲端快速實踐 CI/CD,《AWS 開發者系列》透過影片分享,如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署。

以下節錄工作坊影音內容,幫助開發者快速理解如何運用 Amazon EKS 的高可用性且安全的叢集,將修補、部署節點、更新等關鍵任務,全部做到自動化設定。同時影片也會示範 Amazon EKS 搭配 GitLab 如何展開自動部署,幫助工程團隊實踐 CI/CD 價值。

Amazon EKS 對容器管理輕鬆簡單、維運省時省力

容器化服務越來越興盛,當容器(Container)越來越多,在複雜的微服務(Microservice)系統環境之下,運維團隊的管理成本可能相對會增加不少,為了有效調度容器部署, 導入Kubernetes 無疑是近年企業熱門的話題之一。

建構 Kubernetes Cluster 流主要可區分兩大塊,一是安排容器調度的Control Plane、另一則是容器運行時需要用到的 Worker Node。

Control Plane 裡面涵蓋有儲存狀態的 ETCD、CoController manager 、Scheduler 的調度管理、甚至是操作時進行互動的 APIServer,若是自己創建 的 Kubernetes Cluster ,需要自己安裝這些元件,後續仍需要對 Control Plane 進行相關管理、維護、升級工作。為了減少上述 Components 的繁複維護,在透過 AWS EKS 代管的 Kubernete Control Plane 部可以獲得以下三大好處。

Amazon EKS 一鍵式部署,展現三大優勢

第一,Amazon EKS代管的 Control Plane實踐了跨AZ的高可用部署,使用者不需要擔心單一節點故障的風險。

第二,Amazon EKS 支持至少四個 Kubernetes版本,持續跟進每季 CNCF 的發佈,同時 EKS 也完全符合上游 CNCF 規範。

第三,部署 Amazon EKS 之後,可直接使用 AWS 平台上現成的服務工具,在安全性管理、網路設定方面,可以做到無縫整合。

最後 AWS 台灣解決方案架構師也提到,若想在容器環境進行 CI/CD 及應用程式的管理,可以進一步透過 IaC 整合部署 Amazon EKS 叢集,透過使用 Console、把 EKS 變成 Cloudformation 的模板、使用 AWS 所開發出來的 eksctl.io、或指令是採用 AWS CDK 可以讓開發者用自身熟悉的語言,在 AWS 平台整合 CI/CD 工具進行維運及部署 EKS。

打造第一個在 AWS 上的應用程式

了解 Amazon EKS 整合 GitLab ,獲得三面向價值

對開發者而言,想把 Amazon EKS 整合到 CI/CD 工具之一的 GitLab 平台上,可以看到那些實際的優勢?

在 DevOps 開發者示範工作坊當中,GitLab 資深解決方案架構師指出,GitLab 使用到 Kubernetes 技術,主要有三種搭配方法,包含 GitLab Server、GitLab Runner、以及創建 Deployment Environment。

本次示範教學會主要聚焦在 GitLab Runner 如何採取 Auto-scaled 方式進行 Build、Test、Package Apps;以及在 Deployment Environment 運用 Kubernetes 技術,做到 Auto Deploy、Review App。

正因為 Amazon EKS 能夠在 DevOps 過程提供所需要的彈性計算資源,幫助開發者在 GitLab 平台上面獲得以下三個層次的優勢:

  • 在 GitLab 內建的部署工作流程當中,自動生成整套 CI/CD 最佳實踐腳本。
  • Review App 過程,從 Merge Request 中可直接訪問應用程式 /App 的 UI 介面,並且根據 Git branch 名稱、專案名稱,自動生成 Review App 的 URL,以及在 Merge 前的最後防線進行 Approval 檢查。
  • 加速 CI/CD 流水線,GitLab Runner 運行時候還可藉由 Amazon EKS Cluster 進行 Auto-scaled 的支援。

Amazon EKS 整合 GitLab ,需要兩大流程

影片最後,GitLab 資深解決方案架構師示範如何把 Amazon EKS 整合至 GitLab 執行 Auto Deploy,主要可分為兩大區塊流程,第一部分聚焦在 Amazon EKS cluster 的設置,第二部分則執行 Auto Deploy 設置。

第一塊可拆分為四個階段,首先教學怎麼創建 EC2 節點的 EKS cluster,第二階段示範把 EKS Cluster 連接到開發者的 GitLab Instance、Group 或 Project,下一步則使用 Cluster Management Project Template 創建一個 Cluster Management Project,以及最後一階段透過 Cluster Management Project 自帶的 Helm Chart,安裝在 Cluster 所需要的內建 App。

第二塊執行 Auto Deploy 設置,針對需要部署的 App 創建一個 GitLab Project,接著再把 gitlab-ci.yml 添加到 Project,並從 Web IDE 選擇及導入 Auto Deploy 的 CI 模版,讓 GitLab 自動生成最佳實踐的整套流水線。

幫助開發者更了解 Amazon EKS 整合 GitLab 的 QA 系列

Q:使用 Amazon EKS 之後,如何更有效率或優化資源去配置 Worker Node 的機器數量,以及如何有效空管開發維運的成本?

A:Kubernetes 除了本身有 HPA(Horizontal Pod Autoscaling)可根據使用程度自動調整資源流量,另外也能延伸使用 AWS Auto Scaling 方案,針對可擴展資源去設定自動擴展管理。另外在成本管控,雖然 Amazon EKS 會收取額外管理費用,但可透過 AWS 平台的 Calculato r計算每個 EKS 的價格,你會發現自動化部署及管理的費用,相對工程師人力的成本更加便宜。

Q:越來越多客戶考慮把現有 Application 變成容器部署,大多是爲了加快部署的效率,那麼變成容器模式之後,對 CI/CD 的工作流程有什麽影響嗎?

A:運用容器技術最直接的效果,可以讓應用程式的環境更一致化,例如 testing 環節、stage production,讓容器避開一些差異問題。至於 CD 部分要 delivery 一些 usage 不太一樣的時候,容器會幫忙做配置,所以 CI/CD 對容器的效益是相輔相成的。

Q: 客戶在開發流程漸漸會把 Infrastructure 變成代碼或文檔,是不是可以把程式碼跟現有的應用程式的 CI/CD 流水線整合在一起,達到一套完整的 CI/CD 部署流程?

A:觀察目前市場作法,主要分成兩個階段去做整體部署。如果規模比較小的團隊,會把 Infrastructure 代碼跟 App 代碼分開,在管理上會比較靈活;如果企業規模比較大,會有另外一個 Infrastructure 團隊來控制部署事情,這種情况之下,APP 的項目會生成一個 APP package,主要做到 delivery 這個階段爲止。而 Infrastructure 的項目會指定把需要版本的文檔,部署到他們的 Kubernetes Cluster。

填寫表單 找到適合的快速上雲服務與工具!


猜你喜歡