現在每個社群網站、線上遊戲,都在把世界朝30年前他想像出來的模樣推去

現在每個社群網站、線上遊戲,都在把世界朝30年前他想像出來的模樣推去
Photo Credit: Bodie Strain @ Flickr CC By 2.0

我們想讓你知道的是

他以超前時代數十載的眼光寫出《神經喚術士》,成為整個賽博龐克次文化最重要的源頭,而其中提出的賽博空間(Cyberspace)概念甚至間接影響了科學家對虛擬實境(Virtual Reality, VR)技術的想像。

編譯:黃彥霖

作家們常被視為是對未來社會如何發展有獨到觀察的人。有些眼光太過前衛的創作者或許會陷入無人瞭解的孤獨困境,但只要他們在對的時間遇到對的同伴,就會顛覆整個社會,甚至改變未來。

1981年,在美國丹佛的科幻大會上,27歲的科幻故事寫手斯特林(Bruce Sterling)在朋友雪萊(John Shirley)的介紹下參加了一場某30歲出頭男子的短篇小說朗讀會。包括他在內,聽眾只有四個人。那是個關於兩名電腦駭客如何對抗犯罪集團首腦,最後卻失去他們最愛的女孩的故事。斯特林和另一位朋友夏諾(Lewis Shiner)對這篇小說震驚不已,其中的創造力以及對於網路、人性之間糾纏關係的觀察,令他們覺得應該放下自己的故事,全力走向這篇故事所指出的新方向。

那個新方向後來被稱為賽博龐克(Cyberpunk),那篇短篇小說名叫〈擊垮克羅姆〉(Burning Chrome,暫譯)。而它的作者,那位指出未來路徑的人,是墊定後世三十年賽博龐克風格,影響科幻小說、電影,甚至科技發明甚劇的科幻作家威廉吉布森(William Gibson)。

超越時代的大神

台灣讀者或許對於吉布森的名字並不熟悉,但他正是科幻經典《攻殼機動隊》(Ghost in the Shell)及《駭客任務》共同的靈感來源。吉布森的小說以晦澀、不易閱讀著名,充滿許多自創字詞,使得翻譯他的作品成為一項艱難的工程。雖然目前台灣只出版了他的《神經喚術士》(Neuromancer)及《阿伊朵》(Idoru)兩部小說,但卻是每個對近代科幻有興趣的讀者都該認識的殿堂級人物。

賽博龐克與我們比較熟悉的《基地》(Foundation)、《沙丘魔堡》(Dune)等太空歌劇(Space opera)類型不同之處,在於它的故事多半發生在現在或未來的地球。故事會在以龐克為基底的反烏托邦氣息中,描述人工智慧和超大型企業(megacorporation)對人類生活可能造成的影響。或者,你也可以想像在《大眠》(The Big Sleep)的冷硬氣氛裡融合了《銀翼殺手》(Do Androids Dream of Electric Sheep?)的科學/哲學討論,那就是吉布森的迷人風格。

吉布森和後來結為好友的斯特林等人共塑了八零年代賽博龐克運動的核心,1984年,他以超前時代數十載的眼光寫出《神經喚術士》,成為整個賽博龐克次文化最重要的源頭,而其中提出的賽博空間(Cyberspace)概念甚至間接影響了科學家對虛擬實境(Virtual Reality, VR)技術的想像。

《衛報》曾經這樣形容吉布森的影響力:「現在的每個社群網路、線上遊戲、網路醜聞,其實都將我們一步步帶向吉布森30年前就想像出的那個世界。」

訪問大神

最近,吉布森接受《Business Insider》資深編輯羅索夫(Matt Rosoff)訪問,以他2014年的新作品《末稍》(The Peripheral,暫譯)為例,分享了對於科幻小說、科技發展以及自身創作經驗的看法。

《末稍》對吉布森的意義在於,在用了數本小說去討論當下世界的狀況之後,他開始質疑這些故事只是在宣洩他自己對於這幾年科技狂飆的反應。吉布森想要改正這一點,他希望挖掘的是世界的真正現況,看穿其中怪異、腐朽之處,而《末稍》就是挖掘的成果。雖然《末稍》設定在距今二十年以後的未來,吉布森想說的,仍是我們當下的故事。

「科幻小說從來不是真的關於未來。」吉布森說。「隨著時間前進,大部分的科幻小說還是只能放在它被寫就的那個時代脈絡下去閱讀。」

順著這個話題,羅索夫提出了大部分讀者都會有的疑問:當下的故事?科幻作家不是書寫未來的先知嗎?

「有些人或許是這樣的,」吉布森說。「比如H.G.威爾斯。他看到了即將發生的事,且知道它們會如何發生,然後他再用小說去描繪那樣的世界。但我不是這樣。」當要創造一個世界時,最先出現在吉布森腦中的會是角色,而非世界的未來。角色會告訴他,他們生活在一個什麼樣的環境中,然後他再去擴展,最終與我們的世界連接。

吉布森自覺《末稍》比他前幾年的作品更接近這種創作狀態,但這不代表他就完全瞭解筆下的「未來」世界代表了什麼意思,他甚至可能得「用這輩子剩下的時間去搞懂它」。從這種角度來說,與其稱吉布森為先知,他應該自認更接近是一種觀察世界並書寫的「媒介」,他追求的是創作上的滿足,而非預言。如果說預言是神蹟,那麼《神經喚術士》則是觀察入裡,近乎魔法的科學。

cyberpunk city
Photo Credit: ▓▒░ TORLEY ░▒▓ @ Flickr CC By SA 2.0

絕對入世,絕非隱士

吉布森與先知的隱士形象最明顯的差別,還有他對推特的熱愛。

身為作家,推特是吉布森攫取世界切片的方式。過去我們認知報章雜誌是所有新鮮事的來源,但這在網路時代來臨後就被改變了,每則推特雖然只有140字,但沒有什麼能提供比它更多的新聞和材料。吉布森說,推特唯一的缺點是材料太多,多到也許有一天他必須做點什麼去限制它,那才真的可怕。

就像同為加拿大人的瑪格麗特愛特伍(Margaret Atwood),吉布森看待科技的方式總帶有一絲更靈活、更前衛的味道。他並不擔心新科技的到來,他認為世界就像一個龐大複雜的有機體,當發明家把一樣新的東西丟進去的時,其實連他們自己都無法預測會帶來什麼變化。回到〈擊垮克羅姆〉,其中一句台詞「道路會找到它自己的用途」(the street finds its own uses for things),已成為三十多年來科技人士形容這種不確定的發展性最常用的警語。


猜你喜歡


挖掘雲端開放架構優勢!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。

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


猜你喜歡