令人驚呼的創新── Mac Pro 的製造過程解析

身為一個產品設計師,在蘋果發表會中我最喜歡的部分就是必會見到的「 How it's made 」影片,而這次的 Mac Pro 也沒讓我失望。蘋果最為迷人的,不是他們用了一些天才的外星技術來開發產品,讓蘋果獨一無二的,是他們展現工藝的手法。
評論
評論

本文作者為工業設計師暨 Luma Labs 的共同創辦人 Greg Koenig ,編譯原文發表於 個人部落格 ,以工程角度分析 Mac Pro 的製作過程影片。

Apple 的 Mac Pro 是如何製造的

身為一個產品設計師,在蘋果發表會中我最喜歡的部分就是必會見到的「How it's made」影片,而這次的 Mac Pro 也沒讓我失望。

蘋果最為迷人的,不是他們用了一些天才的外星技術來開發產品──因為即使換做在波特蘭奧瑞岡這裡,當地的許多工廠都已經開始運用蘋果在影片中展現的科技。讓蘋果獨一無二的,是他們展現工藝的手法,他們的影片有著非凡的精確度和簡潔的規格,更用了通常只用於航空或醫療器材行業的拍攝技術。

Mac Pro 的背後故事── 深沖壓技術( deep draw stamping )

當我的叔叔 Phil 說蘋果正在使用新技術來開發 Mac Pro ,他此番言論的重點主要擺在這個圓柱形的機器是如何形成的。在這裡,蘋果使用的是一項稱為液壓深沖壓( hydraulic deep draw stamping)的技術。

大多數的「金屬沖壓」都是透過一個或兩個模具,以產生最終形狀。而 Mac Pro 面臨的挑戰則是要生產大量的塑性變形(plastic deformation ),卻又不造成其拆解,也不能讓完美的圓柱表面變形。為了達成這目標,Mac Pro 的外殼是透過一系列的模具,一步步將鋁拉伸,直至接近 Mac Pro 的最終形狀。

金屬沖壓能夠非常有效地產生一個「淨成形」( net shape)。蘋果可以用一大塊鋁,在車床上製造同樣的零件,但能夠切除的金屬量有限。而使用金屬沖壓則只要短短幾個步驟,就能有效打造非常接近 Mac Pro 最終形狀的金屬。完畢後在車床上的 Mac Pro 外殼,轉向進行表面整理、壓力測試、拋光,送回加工中心製造輸入輸出口、開機鍵、凹槽以及進行陽極氧化。

這裡我們可以看到 Mac Pro 外殼的最初鑄塊,我懷疑這步驟是外包給其他製造商的(注意員工制服和背景,不是典型的「蘋果『白』巧克力冒險工廠」(Apple White Willy Wonka Magical Factory)的樣子。)

這是第一次金屬沖壓的結果,注意此時的 Mac Pro 和成品的長度差異。

進入深沖壓( deep draw) 步驟,為減少模具磨損和防止金屬過度變形,於過程中添加了潤滑劑。

深沖壓對於淨成形來說相當有效,但不是很完美。在這張圖,蘋果使用了 CNC 加工中心(之前的傳言是 Mazak Integrex )去刻劃出 Mac Pro 的外在形狀,在這一步驟也會進行高精密度的鍛造,以及消除深沖壓過程中所產生較為粗糙的表面光滑度。

蘋果追求完美才會受人喜愛,想當然這種加工完成的表面沒有達到他們的標準。在這部分的影片,兩個客製的終端執行機械手臂 Kuka 在拋光輪周圍旋轉 Mac Pro 的外殼,使其表面達到與鏡子相近的光潔度。要製造一個光滑的物體,要注意的是第一次的拋光過程(內部),但我沒有看清楚:在 Mac Pro 的外殼被放到上面之前,拋光輪是怎麼讓其更加光滑。

這畫面中類似的技術也被用於生產高級刀具,目的是要創造輪廓和鋒利刀片的邊緣。

將剛拋光完的外殼表面上了一層保護膜,為了在之後的銑削(旋轉多刃刀具切割)操作中,防止劃傷。

再回到 Mac Pro 的外殼,此畫面(如傳言說的)是一台 Mazak INTEGREX 的數據機床加工中心,用來切割出「

輸入輸出槽」。這可能和製作蘋果商標的是同一台機器(也可能是同一個操作),如果蘋果商標是在前一步驟製作的話,在拋光過程中或許可以看到商標。

有趣點:請注意看銑刀,還有被 Mac Pro 光滑表面反射出的背景,我猜想有些部分基於保密被剪掉了,才額外增加了這個加工片段,

在這裡我們可以看到一堆已磨過待陽極處理的外殼,在傳統的陽極處理過程中,於酸蝕刻( acid etching )這步驟需要徹底清洗零件。但擁有這樣光潔度高的表面,加上他們花了這麼多時間在生產上,我賭蘋果只會進行少量的酸蝕操作,或是很和緩的蝕刻化合物來保持鏡面般的品質。

電鍍不像披層外衣,而是像一連串的變形。電流在酸浴中貫穿鋁,

使氧分子和鋁結合產生薄又均勻的一層氧化鋁。因為表面層是多孔的,所以在加工完成前,各色染料都可添加在鋁上。

機架本身的材料通常是鈦,你可以看到在圖片上方的機架是如何在兩端往返。

小零件

很顯然蘋果希望把重點放在 Mac Pro 的獨特造型,許多有趣的製造細節都可以在其他小地方發現,但這個過程蘋果並沒有和我們展示太多。例如,我會很想知道 Mac Pro 的風扇是怎麼製造的,其有著複雜的線條和有限的通道,使得他的「渦輪機製造」成了黃金標準(你只要 google 任何 CAM 或 CNC 機器公司,點擊他們第一個影片,就可以看到他們是多自豪他們的軟體設備或是渦輪機製造過程)。

我們能看到的是三角狀的核心物體,也就 Mac Pro 的冷卻塔(cooling tower ),而它經過了一套工整、自動化的噴砂處理。

這是一間 Guyson 自動化表面噴砂處理室,用來完成 Mac Pro 內部的三角形冷卻塔。Guyson 室就如同大多數的蘋果生產線,完全的量身打造。他們應該是要翻轉內部零件,去為前後面噴砂。

操作的是一隻 FANUC 機器手臂。這有很大的差異,因為蘋果在中國工廠中的機器幾乎都是人類操作,雖然美國的勞動力成本比下了價值 9 萬美元 FANUC 機器手臂。

這張圖我們可以看到 Gyson 機器中送風系統的運作,使用空氣壓力給玻璃表面噴砂。我懷疑其中有一個驅動器來翻轉三角冷卻塔,然後接著再進行噴砂處理。這個三角冷卻塔如同大多數的散熱器一樣,擁有加工過的鋁外表、多孔以及許多線條。

恩,我也在想這組影像是怎麼拍攝的...

我沒特別愛好「電路板製作」,但是這看起來是台漂亮的標準取放機(Pick-and-Place machine )。每次我看到它運作時,我都會被它的速度給震懾。

手工配裝的 Mac Pro ,使用的零件傳遞系統很少見。我之前從來沒有看過,但我和裝配工程師呼籲:這會是個新趨勢;他們利用本會浪費掉的空間,使其更不易沾染灰塵(這點最有趣),一旦機器人技術迎頭趕上,這將更有利於自動化裝配流程。

雷射的部分是使用光纖雷射( fiber laser ),這款大量生產設計的雷射有著比常見的機架雷射(Gantry Laser)還要快的驅動速度。

也難怪蘋果副總 Phil Schiller 會說:「Can't innovate anymore, my ass.」 。


開發者享受 CI/CD 價值!運用 Amazon EKS 整合 GitLab 創建自動化部署

企業如何在 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 部可以獲得以下三大好處。

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

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。

了解 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。

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