《SPQR》導讀:羅馬人的歷史不僅是征服擴張與權力爭奪,更是「社區建立」的故事

《SPQR》導讀:羅馬人的歷史不僅是征服擴張與權力爭奪,更是「社區建立」的故事
Photo Credit: Shutterstock / 達志影像

我們想讓你知道的是

「公民計畫」是本書的主題,論述羅馬社區如何形成,而這故事超越王政、共和及帝國等不同政治型態。畢爾德的SPQR不是一本以羅馬為中心、政治史敘述為架構的羅馬史,而是所有羅馬人與那些成為羅馬人的故事。

文:翁嘉聲(成功大學歷史學系教授)

【導讀】「成為羅馬人」(Becoming Roman)的千年公民計畫

瑪莉.畢爾德(Mary Beard)的SPQR涵蓋羅馬從西元前七五三年建城,直到西元二一二年卡拉卡拉諭令羅馬帝國境內所有自由人皆為公民為止,這將近千年的歷史。整書論述有史詩的規模及主題,也以史詩技法從故事中間切入(in media res),回溯過去,眺望未來。

這切入點為西元前六三年卡提林陰謀。何以?從羅馬共和政治發展來說,西元前一三三年見證羅馬擴張到達顛峰,但同年發生的格拉古斯改革卻也透露出羅馬公民為擴張所做的犧牲已經超過容忍的極限。接著西元前一一二─一○一年的北非朱谷達之戰及北義大利蠻族戰爭,充分暴露傳統共和菁英的失能及腐化;西元前九一─八八年爆發「同盟戰爭」,義大利數百年盟友不願再忍受羅馬壓榨而集體叛變。

西元前八八─六三年龐圖斯王國號召希臘人全面起義,代表行省子民反抗羅馬暴政;六三年卡提林陰謀叛變則是羅馬的內爆,是激烈政治競爭失敗下的貴族無法忍受帝國最終受益者集中在越來越小撮的一群人。這羅馬共和淪亡的故事是由外到內的連環大爆炸。卡提林叛變的重要性在於首度透露出無往不利的羅馬共和已經窮途末路;獨裁與帝國是羅馬人唯一的出路。

此時羅馬人也開始對自己的過去發生興趣,研究出如羅馬建城於西元前七五三年或共和始於推翻傲慢的塔克文等等。這些對過去的重建一再迴響著當代的政治關切,如蘇拉或凱薩等獨裁者的出現,使當代人也以類似觀點來理解過去的王政(西元前七五三─五○九年),強調王(rex)如何威脅政治自由(libertas),必須被推翻。這些王建立功業及體制,從宗教、軍事制度到至今尚存的大排水溝,而其中特別有成就者都面臨絕對權力會使人絕對腐化的誘惑。

所以羅慕勒斯兄弟相殘,以及因為野心過大而被元老暗殺分屍,然後被宣布封神登天,宛如預示後來原是親戚的凱撒與龐培的決裂以及內戰,凱薩被共和人士暗殺後封神等等。最後,這西元前六三年主人翁之一的西塞羅留下上千封書信、無數法庭及政論演說,讓我們能深入當時羅馬人的政治操作;加上薩祿斯特專題論文及阿皮安的內戰史等,讓這六三年的故事可以說好、說足、說深。西元前六三年是羅馬史的關鍵時刻。

但是從西元前六三年回顧到之前王政及共和這兩時期,都以「性侵」開場:羅馬人搶婚薩賓族婦女,開始羅馬城歷史;塔克文兒子強暴貴族仕女盧奎西雅引發推翻王政,開啟共和。世界史哪裡可以看到歷史是由性侵開始?但這其中意義呢?我想羅馬人的歷史不僅是一連串征服擴張及權力爭奪,更是羅馬社區建立(community building-up)的故事:婚姻(或其破壞)與社區建立息息相關。就畢爾德來說,這些性侵開始了從西元前七五三年到西元二一二年的羅馬社區故事,這她稱為「公民計畫」。這計畫點出羅馬何以從盤據七個小山丘的城鎮開始,最後發展成橫跨歐亞非的大帝國。

「公民計畫」是本書的主題,論述羅馬社區如何形成,而這故事超越王政、共和及帝國等不同政治型態。這解釋畢爾德對這些政體的個別特徵沒多大興趣。她要敘述公民計畫這偉大故事,需要謬思神(Muse)賜與她靈感及力量,而她的謬斯神是由四、五十年來潛心古典世界文獻及考古發掘,輔以最新發現(如分析格陵蘭冰冠、北英格蘭文德蘭達出土敘利亞墓碑,或奧斯提亞集合式住宅衛生系統排泄物中的微生物組成等)構成的。這史詩敘述羅馬如何成長,特別是從西元前四百年起到前二七二年統一義大利後,更有如颶風逐漸加速擴大,推往海外,歷經不到百年(二六四─一六八年)便統一地中海。

其中秘訣是羅馬人從一開始在擴張過程中便讓戰敗者分享羅馬公民權,讓戰敗者加入羅馬,投資自己人力物力並分享戰果;羅馬甚至吸收戰敗者中的頂尖人士加入領導階層。這累積的資源又成為羅馬下一步擴張的資本,動能不斷加強。但羅馬人為何願意分享?部分原因是羅馬是寡頭政權,權力由人數有限的強大貴族把持。所謂共和(Res Publica)是這群少數人的共和;「自由」(libertas)是這少數人爭權奪利的自由;一般平民只享有法律保障及分享戰利品。

羅馬貴族願意開放公民權給其他人,因為這分享不會動搖他們真正的統治,但會擴大資源庫。這創造出古代世界少有的「雙重公民權」:一個人可同時享有羅馬的以及自己社區的公民權。羅馬這種開放社區,歡迎外人加入,提供建立大帝國的基礎,與同時代的雅典形成極大反差:民主政治使得每位雅典公民都能直接行使最高主權;將公民權開放外人,勢必沖淡既得利益。

這種排外的立場造成希臘城邦都有亞里士多德評論斯巴達時的「公民稀少」(oliganthropia)問題,無法累積足夠資源(特別是寶貴的人力)與崛起的馬其頓王國等爭雄,而逐漸衰落。另方面,被征服族群或社區加入羅馬擴張、分享戰果的共同歷史經驗,逐漸認同羅馬,最後一起成為生命共同體。這共有的歷史經驗是「羅馬化」(Romanization)的基礎,也鞏固羅馬人的統治。

古羅馬或許可以比喻成經營理念獨特的百年企業。它擁有無敵軍團的獨家技術,以戰爭征服掠奪為主業;它過去績效顯著,對未來提供成長願景;它在過程中,除征服併購競爭對手外,也歡迎其他競爭者主動加入,成為這歐亞非跨國大集團的一部份,以接受羅馬領導來換取生存及繁榮。這休戚與共的「公民計畫」強度及韌性可由羅馬在第二次迦太基戰爭(西元前二一八─二○二年)初,雖連續受挫於漢尼拔,損失無比慘重,但絕多數盟友始終不離不棄,最後反敗為勝。


猜你喜歡


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

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


猜你喜歡