場景 2:傑森在沙灘上穿著古希臘盔甲,手裡拿著劍與骷髏戰士和空中的鳥身女妖戰鬥。旁白:在遠古時代,傑森曾率領英勇的阿爾戈英雄對抗天神與怪物...場景 3:傑森在辦公室裡為了工作而感到相當焦慮。他的膚色偏白,頭髮短短的,戴著眼鏡,留著長長的鬍子,身穿航海風毛衣,頭戴希臘水手帽,打扮得就像是太平洋西北地區的文青。旁白:在現代,傑森在 IT 產業工作,每天對抗更難應付的敵人。

場景 4:傑森和技術人員位於資料中心,為了管理伺服器機架而忙得焦頭爛額。旁白:傑森所屬公司的線上大型多人對戰遊戲大受歡迎,卻在擴大營運規模時遇到艱鉅的挑戰。技術人員:(啜泣) 長官,「貝絲」好像陣亡了!傑森:(緊繃) 那就別再拖拖拉拉的,快去訂購更多伺服器。還有,拜託別再幫伺服器取名字了,這樣很詭異。

場景 5:傑森滿面愁容,用手撐住自己的頭,四周是多張小型圖畫,圖中的人們正在抱怨,反映出傑森面臨的問題。傑森:天啊,誰知道提供這些服務會這麼困難?問題 1:很抱歉在凌晨 3 點打電話給你,不過… 問題 2:我們擴充的速度不夠快!問題 3:為什麼我的程式碼還沒推送出去?問題 4:我們的更新週期太慢了!問題 5:老大,遊戲再不更新,玩家就要膩了… 問題 6:搞什麼,又停電了!傑森:為什麼時時刻刻都會有問題?!

場景 6:突如其來的不明人士打斷傑森。雅典娜:我有辦法解決… (接續下一句) 場景 7:穿著古希臘盔甲的陌生人從窗戶爬進來,嚇了傑森一跳。雅典娜:只要使用 Kubernetes,一切都搞定!傑森:什麼?你是誰?

場景 8:雅典娜頭戴羽飾頭盔,身穿古代希臘服裝,手上拿著長矛和七邊形的盾牌,驕傲地站著。她是一位少女,有著深色皮膚和又長又捲的黑髮。雅典娜:(大聲說) 是我,雅典娜啊!象徵智慧、工藝和容器化應用程式的女神。傑森:不是「智慧、工藝和戰爭」才對嗎? 雅典娜:人類的戰爭已經夠多了,你們需要的是容器!(輕聲補上一句) 而且我也要多角化經營。

場景 9:傑森誠懇地解釋。傑森:我們已經在容器中部署應用程式了,但實在沒什麼幫助...應用程式管理作業還是很緩慢、沒有效率,而且漏洞百出。場景 10:雅典娜戳著傑森的胸口,開始說明。雅典娜:把應用程式放入容器中是很好的開始,但你現在必須進行自動化調度管理。此時,Kubernetes 就能派上用場了!

場景 11:雅典娜抓住傑森的手,把他拉著跑。雅典娜:但我們要先回顧一下歷史,跟我來!傑森:不過,如果你是希臘女神的話,為什麼看起來像是在漫畫展玩角色扮演的小孩?雅典娜:別跟我廢話,這樣你懂了嗎?

場景 12:傑森和雅典娜站在山上,眼前是一座村莊,這座村莊受到一隻獨眼巨怪襲擊。在怪物體內,代表不同應用程式功能的工具正在旋轉。面對怪物的來襲,村民驚聲尖叫、倉皇逃竄。傑森:哇,這是哪裡?!雅典娜:歡迎來到很久很久以前的遠古時代。這個時代很流行穿高跟運動鞋,跟《權力遊戲》第二季的年代差不多。在這裡,單體式應用程式主宰地球!村民 1:啊!救命啊!村民 2:好笨拙喔!

場景 13:雅典娜準備應戰,舉起長矛往前衝。雅典娜:單體式應用程式的功能組合很驚人,但是有太多必須相互依賴的元件,讓整合和部署作業的執行過程變得像夢魘一般。場景 14:雅典娜發動攻擊並砍下怪物的手,發出了巨大的揮砍聲。遭砍下的手中有一項正在旋轉的工具,代表一部分的應用程式功能。雅典娜:不過只要把應用程式砍成個別程序,就能馴服這些巨獸。怪物:(發出痛苦的叫聲) 呃啊!

場景 15:六項正在旋轉的工具 (鎚子、鋸子、螺絲起子、扳手、鉗子和鑽子),代表應用程式功能已經拆解成不同部分。雅典娜:你現在可以對這些「微服務」分別進行偵錯、更新和部署作業,而不會讓整項專案停止運作。如果要持續整合及持續推送軟體更新,這個步驟就相當重要。

場景 16:傑森看著鎚子和釘子,這兩項轉個不停的工具受到雅典娜控制,飄浮在她的手上方。傑森:但這些微服務之間還是要相互溝通,對吧?雅典娜:那當然!它們透過簡易型通訊協定組合在一起,雖然連結關係鬆散,但剛好可以彼此合作 (接續下一句) 鎚子:(對釘子說) 你好尖唷!釘子:(對鎚子說) 你是在搭訕我嗎?場景 17:傑森向前傾,仔細研究某項正在旋轉的工具。現在有更多工具飄浮在雅典娜的手上方,這些工具形成由上而下的階層,每一項工具都必須仰賴另外一或多項工具才能運作。不同工具之間有箭頭相連,代表了工具之間的依賴關係。雅典娜:並維持依賴關係網路,讓大型應用程式不致瓦解。

場景 18:一張架構圖,當中包含三個層層堆疊的長方形。底層是 CPU/記憶體,中間是核心,最上層是作業系統。有許多隻手從作業系統層伸出,並抓住上方正在旋轉的工具,讓工具無法順利旋轉。雅典娜:重點是如果只靠單一作業系統執行這些服務,可能會導致資料庫版本和應用程式元件相互衝突 (接續下一句) 場景 19:雅典娜站在透明盒子上方。轉個不停的工具在盒子裡四處飄動,有時還會相撞。雅典娜:即便你將所有服務都放入同一部虛擬機器,應用程式之間還是有可能發生衝突 (接續下一句) 鋸子 (對斧頭說):喂,別鬧了。鉗子 (對扳手說):不要逼我!場景 20:雅典娜受一堆透明盒子壓得跪倒在地,每個盒子裡只有一項正在旋轉的工具。雅典娜:如果你為各項服務分別建立一部虛擬機器,會非常笨重、浪費與昂貴。

場景 21:雅典娜向傑森展示一項正在運作的程序 (以旋轉的字母 A 表示),這項程序所處的正方形中是一片晴空。雅典娜:不過,要是每項程序都能透過某種方式獨立運作,並具備專屬的資料庫和設定呢?簡單來說,就是每項程序在 VM 或裸機等任何機器中運作時所需的一切元素。

場景 22:裡面是晴空的正方形沒入灰暗的大海深處,好奇的魚兒在四周游動。正方形中的字母 A 持續旋轉,不受周圍海水影響,仍然乾燥且明亮。場景 23:裡面是晴空的正方形飄在夜空中,下方是樹木和蝙蝠。正方形中正在旋轉的字母 A 仍處於白天。場景 24:裡面是晴空的正方形飄在颶風來襲的空中,強風驟雨吹打著下方的棕櫚樹。正方形裡的字母 A 在平靜無風的天氣中持續旋轉。

場景 25:只有文字。雅典娜:一項獨立的程序。

場景 26:傑森思索著雅典娜剛剛說的話。雅典娜想著這些概念中的浪漫元素,露出作夢般的神情欣然而笑。傑森:原來如此,是容器啊!不過,微服務真的會讓應用程式容器化嗎?雅典娜:那倒不一定,不過這兩者背後的概念...啊,它們可說是天作之合!場景 27:雅典娜示範如何將一個圓形分成多個楔形。雅典娜:因為當模組性 (接續下一句) 場景 28:雅典娜讓樂高積木飄浮在空中。雅典娜:結合互通性時 (接續下一句)

場景 29:只有文字 雅典娜:你就能開始利用全新境界的 (接續下一句)

場景 30:一項程序 (以旋轉的字母「A」表示) 飛向空中。雅典娜:可攜性 (接續下一句) 場景 31:一隻手用橡皮圖章蓋出多個旋轉的字母「A」。 雅典娜:可複製性 (接續下一句) 場景 32:旋轉的字母「A」往所有方向擴大。雅典娜:還有擴充性 (接續下一句)

場景 33:只有文字 雅典娜:而且無論你身在世界上的哪個角落,隨時都可以享有這些好處!(終於沒有下一句了)

場景 34:傑森和雅典娜在地球的兩端。傑森所在的位置是晚上,雅典娜所在的位置則是白天。他們隔著一段距離向對方大喊,雅典娜用力揮舞長矛。傑森:喂,等等...我們現有的容器已經讓我的團隊忙得不可開交了,要是再增加容器數量,我們怎麼可能有辦法追蹤所有容器的狀況?雅典娜:不必追蹤!你們可以讓系統自動管理所有容器,其中的關鍵就是 (大聲歡呼) Kubernetes!場景 35:一個大型 Kubernetes 標誌,「Kubernetes」的字樣出現在藍色七邊形圖案旁邊。七邊形圖案裡有一個裝有輪輻的白色船舵。雅典娜在「Kubernetes」字樣兩邊小聲地補充。雅典娜:(高興) 這個字是希臘文,意思是「舵手」。 雅典娜:(不情願) 同時也是...跟《星際爭霸戰》有關的梗。

場景 36:傑森正在沉思。傑森:又是這個標誌...等等,你該不會只是在推銷 Google Cloud 吧?場景 37:雅典娜向一臉狐疑的傑森解釋,傑森的雙臂叉在胸前。雅典娜:當然不是,Kubernetes 是開放原始碼系統!有需要的人都可以免費使用。場景 38:雅典娜越來越激動。雅典娜:Kubernetes 的背後有著龐大的開發人員社群,就連 GitHub 也是客戶之一。

場景 39:傑森還是很懷疑。雅典娜已恢復平靜,手拿長矛安靜地站著。傑森:那你等等還會有別的推銷台詞嗎?雅典娜:(一語不發) 場景 40:傑森維持著懷疑的姿勢。雅典娜的視線避開傑森,露出尷尬的表情。雅典娜:(小聲) 可能會… 場景 41:傑森態度軟化,雙臂不再交叉。雅典娜高興地咧嘴而笑,舉起手歡呼。傑森:嗯...好啦,繼續說吧。雅典娜:太好了!

場景 42:雅典娜的右手上方飄著 Kubernetes 標誌,左手則用食指讓轉動的地球保持平衡。雅典娜:Kubernetes 有幾個主要目標:(接續下一句)

場景 43:裝滿容器化程序的玻璃水杯,僅剩的空間由最後一個容器填滿。雅典娜:以有邏輯和有效率的方式分配容器。旁白:翻譯:充分運用容量。場景 44:有船舵圖案的七邊形 Kubernetes 標誌。圖中有箭頭從標誌的七個角向外延伸,代表標誌往所有方向擴大。雅典娜:配合既有作業快速調度資源。旁白:翻譯:視需求進行調整。場景 45:擬人化的太陽和月亮,月亮的臉與太陽的半張臉重疊,顯示這個符號同時代表白天和夜晚。雅典娜:讓程序持續運作並保持良好的健康狀態。旁白:翻譯:服務不中斷。

場景 46:雅典娜放鬆了一些,臉上掛著微笑。雅典娜:最重要的是 (接續下一句) 場景 47:一隻手伸出食指畫出虛線來連接多個圓點。那隻手正在引導事件的流程。雅典娜:讓你能夠控管所有作業內容 (接續下一句) 場景 48:表情符號,圖中是一個人滿足地在床上睡覺並打呼。雅典娜:而不會強迫你管理處理方式的細節。(句子結束) 旁白:翻譯:天啊,終於可以好好享受週末了。

場景 49:雅典娜拿起先前已容器化的程序 (一個在方形天空中旋轉的字母「A」),但應用程式的周圍現在是虛線,代表這是一個 pod。傑森仔細端詳 pod,看起來很有興趣。雅典娜:為了做到這一點,Kubernetes 加上了全新的容器管理作業抽象層:pod。場景 50:代表 pod 的擬人化虛線有巨大的眼睛,看著容器化程序 (一個在方形天空中旋轉的字母「A」)。雅典娜:pod 是 Kubernetes 物件模型中最小的元件,可以「看見」容器 (接續下一句) 場景 51:擬人化的 Kubernetes 標誌 (有著船舵圖案的七邊形) 有一顆巨大的眼睛,正在看著右邊的擬人化 pod。圖中並未顯示容器化程序。雅典娜:但 Kubernetes 只看得見 pod。

場景 52:擬人化的 Kubernetes 標誌監看著一組 pod。大部分的 pod 只含有一項程序。最後一個 Pod 包含兩種不同類型的程序,還釋放出愛心。最靠近這兩項程序卻只包含一項程序的 pod 發表評論。雅典娜:大部分的 pod 僅含一個容器,但緊密結合的程序有時會共用一個 pod。單例 pod:(小聲) 煩死了,你們兩個去開房間啦。場景 53:雅典娜將擺著 pod 的大圓盤拿給傑森,pod 中包含運作中的程序。整體看起來像是服務生送上 pod 餐點,因此圓盤代表伺服器或節點。雅典娜:多組 pod 之後會獲分配到同一部「機器」(實體或虛擬) 中,每一部機器都稱為「節點」。旁白:(小聲) 之前叫做「小嘍囉」。

場景 54:雅典娜用手勢將傑森的注意力帶往遠處由圓盤組成的配置。中央的圓盤戴著帽子,代表它的地位較高,與其他圓盤不同。中央的圓盤上放有圓柱 (代表資料儲存庫) 和寫字夾板 (代表一組指示)。中央節點的周圍是從屬節點,當中只包含 pod。箭頭從中央節點指向其他節點,代表中央節點控制著其他節點。雅典娜:多個節點會組成叢集,每個叢集都是由主節點負責監管。

場景 55:一個捲軸神奇地出現在傑森眼前,讓他相當驚訝。雅典娜用長矛指著捲軸。雅典娜:系統會依據部署設定將這些叢集放在適當的位置。部署設定是由你提供的簡易 .yaml 檔案宣告 (接續下一句) 場景 56:雅典娜站在傑森後面,傑森在捲軸上寫字。雅典娜:你必須指定要由哪一組合適的程序為你處理工作。

場景 57:神奇的部署捲軸飄浮在地球上方,向下方叢集下達指令。叢集由擺著 pod 的圓盤和主節點圓盤組成。叢集上方是充斥容器映像檔的雲朵,這些映像檔是以裝著非旋轉字母的盒子來表示。雲朵代表容器登錄檔,雲朵下方則有虛線箭頭像雨一樣滴落,代表容器映像檔會向下拉到節點處。雅典娜:接著,Kubernetes 會選取機器,然後傳播各個 pod 中的容器,將部署設定中指定的容器映像檔往下拉。

場景 58:雅典娜坐下,雙臂靠在部署捲軸上,向站著的傑森提出問題。雅典娜:那你要選主機板嗎?傑森:我,呃… 雅典娜:(打斷) 對了,你要使用哪個 Linux 發行版本?Ubuntu?CoreOS?還是 Debian?傑森:我還沒真的… 場景 59:問題追問到最後變成像在審問,傑森顯然慌了。雅典娜:(打斷) 聽說猶他州很不錯,要全都放在猶他州嗎?傑森:什麼?不要!由你決定,但是… 雅典娜:(再次打斷) 啊,還有 IP 位址!要用 198.51.100.0 嗎?203.0.113.0?還是 192.0.2… 傑森:(受挫地打斷) 我不在乎!場景 60:雅典娜向前傾,用手指戳著傑森的胸口來強調重點。雅典娜:沒錯。

場景 61:很多組 pod 擺在圓盤型節點上,代表一組叢集。每個叢集由不同的帽子監控,帽子代表該叢集的主節點。雅典娜和傑森站在一旁。雅典娜邊拉著傑森的手臂邊用長矛指向叢集,藉此引導傑森的目光。雅典娜:這就是 Kubernetes 抽象化基礎架構的奧妙。誰在乎你要把程序放在哪一部「機器」啊。現在對你來說都無所謂!

場景 62:一個容器映像檔飄在雲朵中。雲朵的下方是一列 pod,pod 內是運作中的容器化程序。箭頭從雲朵指向下方的 pod,表示那一列 pod 副本是透過容器映像檔建立。雅典娜:就像從特定映像檔建立的所有容器都能互換,道理是一樣的。事實上,這些容器完全相同,都是從同一個無法改變的範本建立。場景 63:雅典娜咧嘴而笑,像是在表演雜耍一樣拋接多個裝滿容器化程序的 pod。傑森在背景畏畏縮縮,擔心遭掉下來的 pod 砸到。雅典娜:有了可以互換的容器備用資源和機器 (接續下一句)

場景 64:雅典娜拋接的 pod 從空中掉到節點上,節點以雅典娜用手舉高的圓盤表示。掉落的盒狀 pod 依照欄和列疊得整整齊齊。雅典娜:Kubernetes 可以將各項備用資源放到適當的位置!場景 65:三輛移動中的卡車排成一列,每輛卡車上都有幾個堆得亂七八糟的盒子。第一輛卡車有 75% 的空間是空的,第二輛有 50% 的空間是空的,最後一輛有 90% 的空間是空的。雅典娜:不想再浪費 CPU 嗎?場景 66:一輛移動中的卡車井井有條地裝滿了盒子,僅剩的空間由最後一個盒子填滿。雅典娜:Kubernetes 會留意是否有效率更高的「分裝」方式。

場景 67:三個相同的節點,分別以擺著一組 pod 的圓盤型節點表示。雅典娜:另外,這麼做也能分散風險,因此沒有任何運作中的程序 (接續下一句) 場景 68:頂端的節點遭到雷擊後開始死去,另外兩個節點則安然無恙。雅典娜:會因為單一錯誤而停止運作 (接續下一句) 場景 69:頂端的節點屍骨無存,只留下一縷輕煙。另外兩個節點安然無恙。雅典娜:備用資源還是可以順暢運作,而系統 (接續下一句) 場景 70:擬人化的容器映像檔 (內有旋轉字母的長方形) 長出手腳並衝刺,急著要填補節點中的一組空 pod。主節點 (一頂帽子) 正在看部署捲軸,並驚覺部署設定與現實情況之間存在落差。雅典娜:可以迅速將部署項目復原至理想狀態。(句子結束)

場景 71:Kubernetes 以打坐的人來表示,頭是七邊形的 Kubernetes 標誌,正受到啟發。雅典娜:Kubernetes 可以自我修復。場景 72:Kubernetes 看起來像是有巨大眼睛的七邊形 Kubernetes 標誌,正在研究部署捲軸。雅典娜:系統會瘋狂地將部署設定中描述的理想狀態 (接續下一句) 場景 73:Kubernetes 看起來是有巨大眼睛的七邊形 Kubernetes 標誌,正在研究含有一個主節點和多個工作站節點的叢集。工作站節點中有 pod。雅典娜:與 pod 和叢集在現實世界作業中的實際狀態進行比較。

場景 74:雅典娜站在傑森旁邊,向他展示部署捲軸。雅典娜:絕不寬待,絕不接受任何理由。場景 75:圖中有兩個含有 pod 和運作中容器化程序的節點。在其中一個節點中,某項容器化程序已停止運作,變成骷髏頭和兩根交叉的骨頭。雅典娜:如果偵測到任何違規或不一致的狀況,殺無赦。程序會由系統終止 (接續下一句) 場景 76:容器映像檔從雲朵落下,藉此填補空的 pod。雅典娜:然後立即重生。

場景 77:傑森和雅典娜站在雲朵下方,雲朵中有一個標有「A」字樣的容器映像檔。一隻手從畫面外伸進來,將新的容器映像檔「A+」插入雲朵。傑森:那更新作業呢?雅典娜:道理是一樣的。場景 78:內含「A+」容器映像檔的雲朵位在時鐘的中心點,時鐘邊緣本來是數字的部分在圖中變成字母。隨著指針轉動,「A」逐一變成了「A+」,代表應用程式版本經過滾動式更新。雅典娜:系統會從登錄檔提取新的容器映像檔,並從映像檔部署新的容器 (接續下一句) 場景 79:指針已轉完一圈,所有的「A」都已變成「A+」。雅典娜:這通常是以滾動式更新的方式進行,讓轉換過程流暢又穩定。

場景 80:雅典娜和傑森站在一堆節點旁邊。每個節點上有三個運作中的應用程式,分別標有「A」、「B」和「C」的字樣。所有「B」應用程式的周圍有一個穿越節點邊界的長方形,這個長方形代表一個標籤。雅典娜:只要使用標籤,就能輕鬆將程序中的所有備用資源當做某個叢集中的單一實體,也就是由一組備用資源組成單一服務。場景 81:Kubernetes 看起來像是有著巨大眼睛的七邊形 Kubernetes 標誌,跟正在管理節點叢集的主節點 (一頂帽子) 說話。雅典娜:Kubernetes 不會擔心個別程序的情況,只在乎真實世界的結果,也就是這些程序提供的匯總服務。我想這跟你有點像吧。Kubernetes:(對主節點) 處理好「B」(就是「B」服務) 主節點:(對 Kubernetes) 我把 B 處理得很好。

場景 82:Kubernetes 飄在地球上空,監控著一組叢集。日月在背景的空中交替出現,代表時間的推移。雅典娜:Kubernetes 努力讓這些服務每分每秒都能維持運作並保持良好的健康狀態。場景 83:雅典娜和傑森抬頭看著陽光,代表光明的未來。雅典娜:老兄,這是 21 世紀!把手伸進口袋時,沒有人會猜想應用程式是否「能夠使用」。要是不能讓應用程式隨時保持運作,你就玩完了。

場景 84:雅典娜將長矛舉向前方,在空中飛行。傑森騎著速度飛快的摩托車,帽子往後飛走,看起來受到驚嚇。摩托車標有「Theseus」(忒修斯) 的字樣,下方是船的圖案 (這是一個小典故,指的是忒修斯之船)。雅典娜:有了 Kubernetes,應用程式就能隨時保持運作,哪怕是到天荒地老也沒問題!傑森:喂,這次轉場也太突然了吧!

場景 85:傑森沒戴安全帽,在摩托車載著他狂飆時感到非常驚恐。雅典娜飛在他身後,愉快地笑著與傑森對話。雅典娜:正如同模組性與不變性讓持續整合變為可能,容器和 Kubernetes 也讓你可以持續推送軟體更新。傑森:你知道我是水手吧?!

場景 86:雅典娜往下飛向狂飆的摩托車,指著從不停轉動的前輪掉出的螺母和螺絲。雅典娜:你看,螺絲鬆掉了!不用停下來!傑森:沒這回事,我可以停車!雅典娜:(打斷) 都修好了!場景 87:傑森仍騎在不停馳騁的摩托車上,但車款已截然不同。雅典娜在他旁邊飛著。雅典娜:想要升級成新的車款嗎?傑森:(嚇瘋) 想,拜託!我們先停在… 雅典娜:(打斷) 變!全新的摩托車!

場景 88:只有文字。旁白:六小時後...

場景 89:傑森回到辦公室,倒在椅子上,身心俱疲。雅典娜站在他的辦公桌旁,笑著舉起長矛歡呼。傑森:好了,比喻夠多了。我相信你!Kubernetes 真的是最好的容器管理方式。雅典娜:太棒了!

場景 90:雅典娜邊笑邊熱情地靠向傑森。雅典娜:Google 自有的世界級基礎架構可以幫助你完整發揮 Kubernetes 的強大功能,並利用 Google Kubernetes Engine 讓一切步上軌道。想要試試看嗎?場景 91:傑森仍倒在椅子上,臉上掛著狐疑和厭世的表情。傑森:推銷台詞就剛剛那樣嗎?雅典娜:(不在圖中) 差不多吧。場景 92:傑森仍然坐在辦公桌後方,將手舉高放在額頭上,感覺鬆了一口氣。雅典娜拿起他的鍵盤。傑森:好吧,還可以。

場景 93:傑森和雅典娜擠在電腦前一起工作。雅典娜正在打字。傑森:這樣好了,我讓我的團隊試試看,讓他們報名一些訓練課程。我們可以試著用十週左右的時間,讓第一批節點開始運作… 雅典娜:或者… (接續下一句)

場景 94:雅典娜指向電腦螢幕,傑森很驚訝。雅典娜:相不相信十分鐘就可以搞定?

場景 95:只有文字。旁白:現在輪到你了。請在下方的終端機模擬器中輸入指令,並瞭解如何透過 Google Kubernetes Engine 建立 Kubernetes 叢集。

場景 96:四周是希臘回紋邊框的終端機視窗。

後續行動

運用 $300 美元的免費抵免額和 20 項以上的一律免費產品,開始在 Google Cloud 中建構內容。

需要入門協助?
與值得信賴的合作夥伴一同邁向成功
繼續瀏覽