《哥倫布大交換》三十周年新版作者序:自大陸冰河融化以來人類的全本演義

《哥倫布大交換》三十周年新版作者序:自大陸冰河融化以來人類的全本演義
Photo Credit: sasint @Pixabay CC0

我們想讓你知道的是

本書內容,即是自大陸冰河融化以來,我們這個物種的全本演義。這整個故事是在述說:各個生態系統與其相關社會,在升高的海平面阻隔之下,各自發展的分異演化;以及當它們乍然相逢,對彼此造成的激烈影響。而且這些影響如此浩大,甚至無法用我們慣常的智識分類:考古學、歷史學、植物學、醫藥學、人口學等等,單獨圈限涵蓋。

文:克羅斯比(Alfred W. Crosby)

作品一旦問世,我從來都不再看自己寫的書,因為出版就如零下凍結,所有不精確、不正確、不到位處,都立時變為固定,成了永遠不去、難以碰觸的痛。但是這一回,為了寫這篇新序,我把《哥倫布大交換》從架上拿下來,還真的重新看了一遍。缺失?毛病?噢是的,我會跟大家詳細、坦白地討論幾項。可是,它仍然是本好書;這方面我也會談上一些。

首先,是道歉。三十年前,我用「man」(男人)這個字意指現代智人所有成員。當時大多數人也都如此用法;但這事那時候蠢,現在也同樣笨。而且,我竟然還用「種族」(race)這個字眼,好像自己真知道它是什麼意思。我又說,馬雅人是所有原住民族中,最「敏感」的一族;卻完全沒意識到這種口氣有多麼高高在上、教人領情的味道。難道,我是在暗示大征服者科爾蒂斯,當時可能曾邀馬雅人來喝上幾杯雞尾酒,但鐵定沒請過阿茲特克族嗎?(此版本沒有相關段落)

如此這般,還有許多。我請各位讀者自己斟酌,從我的書頁之中,挑選出昨日壓扁的塑膠黃花。

當然,我也犯了一些明明白白的錯誤,有些還真的錯得挺不錯呢。比方先前從未感染過天花的人口,一旦流行爆發,「並非」一律都會導致高達百分之三十的死亡率;只有最嚴重的疫疾如此。而安地列斯群島的居民,也未在十六世紀中期之際即已全數滅絕;只有「大」安地列斯群島如此,小安地列斯群島則有加勒比族繼續堅持不去。小麥的老祖宗,也不似玉米的老祖宗那般,產效遠遜於人為培育改良的徒子徒孫。野生小麥雖然難以收割,但同樣豐饒多產。西南亞民族之所以能夠領先其餘人類,率先在農事、城市化上有所表現,或許這正是其中一項原因。

我最大的錯誤,則是當時大家普遍都很無知的一項;我還真喜歡這個錯呢。我在第六章宣稱,而且是出於權威姿態:五億年之間,沒有發生過任何極端、永遠、影響及於全球的重大自然改變事件。但自《哥倫布大交換》出版之後,地質學家、古生物學家已經積累證據顯示,大約在六千五百萬年前左右,曾有過一顆小行星之類的東西撞擊地球,一舉滅絕了恐龍,為哺乳類開路清場,同時也使我成了個大大笑柄。

表現最欠佳、最無法抵擋過去三十年風雨的一章(雖然也未被完全替代作廢),則是第四章關於梅毒的重新評估。當年我寫這章的時候,有關此病的地理原鄉還是個大謎,其實今天也仍然未解——不管報上怎麼宣稱,而且至少每五年就表示有最新發現。一四九二年之前,梅毒即已在新世界存在嗎?在那裡,變形、留疤的骨骸還真不少,似乎顯示它老兄確曾光顧。可是這個「它」,是指性病型梅毒嗎,還是非性病梅毒中的一種?或者無論這種那型,它們根本都只是同一個傢伙的不同表現?

「它」,一四九二年之前也已在舊世界出現了嗎?舊世界裡,也有一些哥倫布年代之前的骸骨,類似那些被冠上梅毒病狀的新世界夥伴,可是為數極少。當然,數字雖小,並不能證明它們的倒楣原主就「沒有」梅毒;可是如果他們真有梅毒,這病的性質也一定異於十六世紀歐洲爆發的性病疱症,起碼傳染力較低。否則,若不是這個情況,那麼一四九二年之前的舊世界眾人,就一定幾達百分之一百的守身如玉,或完全地單一交配。如此人事,真屬難能可貴值得讚佩,也因此不太可能。

就我所知,及至目前為止,以實際證據顯示確有梅毒螺旋體在其組織內存在的最老一具古屍,是那不勒斯貴族女子亞拉岡的瑪麗亞。她死於一五六八年,離哥倫布出航年代已經很久,因此她的組織所能透露給我們的訊息,也不過就是在她生時,歐洲正流行此病;而此事我們本來就已經確知。可惜密螺旋體留下的痕跡,隨時間會慢慢褪去,所以即使有哥倫布之前的任何遺骨可用,上面的印記恐怕也淡微到不行,很難藉目前科技進行調查。

我們不知道性病型梅毒到底始於何處。它可能來自此處、彼處,也可能既來自此處、也來自於彼處;而且原本溫和的眾螺旋體株,在一四九二年會合,跨越了大西洋,致命性於是出現三級跳。又或許,此疫毒性在一五○○年左右的突然劇增,與哥倫布完全扯不上關係,根本就只是巧合而已。這種說法也不無可能。

反正,我當初不該這麼尊崇梅毒,竟給它獨家一整章的地位,簡直就當成了阿茲塔克皇帝蒙特祖瑪的復仇記。誠然,梅毒在舊世界首次登場亮相,氣勢實在壯觀;而且,一如所有性愛之事,也令人神魂震懾。但總不至於像十四紀世紀那場黑死病,或十六世紀天花疫情,一舉創造、改變了時勢、歷史吧。我之所以把它奉為要角,是因為看到這麼多疾病跨海西去,卻不見任何東來回敬,老覺得哪裡不太對勁。我就像過去好幾代地理學家一般,他們在庫克船長證明其實不然之前,一直堅信在極遠、極遠的南方,必定對稱著某塊大陸,一個稱做澳大利斯的未知之地,巨大到可以平衡歐亞、非、美三大陸所有加起來的面積。第四章,便是本人針對流行疫疾,所做的某種地理對稱式平衡嘗試。結果,那些地理學家錯了,我也錯了。新舊世界之間的疾病交換,幾乎根本不成對稱。而過去五百年間,也鮮有其他任何因素,對歷史有過如此重大的影響力。

所以,對於這個法國佬的痘病,我當初應該只是略微致意。反之,卻該以一整章的篇幅,而非僅區區數頁而已,研究後哥倫布時代的大規模奴工栽植場;尤其是東南亞蔗糖與美洲菸草農園現象。歐洲人嗜甜之習(或許「糖癮」一詞更為恰當),竟成動機誘因,促使數百萬非洲人被強運過大西洋為奴。而菸草殺人之數,比梅毒更眾,才真是蒙特祖瑪的大復仇呢。


猜你喜歡


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

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


猜你喜歡