《社群.王朝》:明代中國究竟算不算是「國家」?

《社群.王朝》:明代中國究竟算不算是「國家」?
Photo Credit: Wikimedia Commons Public Domain

我們想讓你知道的是

一個政權要夠格被稱得上是一個「國家」,僅僅具備一個有專門執行公權力機構的權力架構、一定數量的官僚體制程序,是不足夠的;同理,國家更不只是在「蠻族」入侵時能以武力反擊的一塊特定疆域而已。

文:卜正民(Timothy Brook)

結論:明史研究中的國家

從史料文獻中可以看出,明代開國皇帝朱元璋在十四世紀後期推行的行政體系確實十分卓越——它強而有力、綱舉目張、而且雄心勃勃,意圖掌握百姓的一切社會生活。從本書裡所討論的若干事例來看,無論是人口戶籍登記、丈量田土、圖書出版、設置藏書樓、打壓宗教,還是無論貧富,以同樣一套禮儀規範約束民眾,國家看來無所不在,而且與百姓的生活方式息息相關。由於受到身處的時代與所在地點的影響,我們往往會認定上面所提到的事業都是國家的業務。然而,在二十世紀冷戰時期發展起來的西方明史研究,學者在提到朝廷的權力及其政治制度時,卻迴避使用「國家」(state)這個字眼,選擇改用其他詞彙,諸如「政府」(government)或是「王朝」(dynasty)等作為替代。

依照我的看法,一個政權要夠格被稱得上是一個「國家」,僅僅具備一個有專門執行公權力機構的權力架構、一定數量的官僚體制程序,是不足夠的;同理,國家更不只是在「蠻族」入侵時能以武力反擊的一塊特定疆域而已。

林懋認為,因為欠缺「能夠同時適用於統治者與被統治者的穩固法律典範」,所以明代始終無法有效掌控朝廷之中「經常出現的權勢競爭」,也難以遏止地方層級「此起彼落的群體衝突」。然而即使如此,林懋還是在這篇論文的收尾處,做出一個不具結論性質的總結:「在這樣的政治體制之下,其權力運作是否能被稱為『國家』,仍然是一個有待後續討論的議題。」

但是「後續討論」始終沒有出現。1985年前在論文中盡量迴避使用「國家」一詞的歷史學者們,之後仍舊這樣做;而那些1985年以後才開始寫作的歷史學者,包括我在內,卻也讓「國家」一詞繼續安靜的在後台等候。當然,明代中國是否具備「國家」地位,取決於我們怎麼看待「國家」一詞的涵義。我們是否該仰賴那些為西方學界所熟悉、從十七世紀以來得自於歐洲國家的標準,並且運用它們來評判中國的史事?或者,我們是否需要修改原來的假設,不去依賴特定的歐洲經驗,努力求得一個對「國家」更為廣泛的理解呢?難道僅是因為使我們想起歐洲諸國的經驗,還是使我們藉此拓寬自身對於理解「如何才是國家」的眼界,明代中國就算得上是一個「國家」了嗎?

在這類定義的問題背後,還存在著更為艱鉅的比較歷史方法論命題。正如法國歷史哲學家保羅.利科(Paul Ricoeur)所說,如果歷史學者要從「術語的分類到差異的解釋」逐次著手考察,那麼我們分析的基準,究竟應該置於差異,還是分類術語(「國家」)之上呢?換句話說,究竟是近世(early modern)歐洲國家的政治運作,與明代施政之中的政治組織運作,二者性質相似,因而提高了將二者拿來相提並論的分析價值?還是這兩者之間的差異性太大,以至於我們將其歸類到不同的類別範疇當中,在分析上能夠得到更好的影響效果?

歐洲的政治與社會思想傳統普遍重視差異與區分,認為差異性值得探討尋求。區分政治體制的習慣根源於希臘人對世界的想像,他們認為世界可以分為希臘和突厥(Turk)兩種人,以希臘人的用語而言,就等於是歐洲人與亞洲人的區別。專制政治是這類區分通常使用的詞彙。舉例來說,亞里斯多德(Aristotle)在其著作《政治學》(The Politics)中強調,「亞洲人較歐洲人更具奴性,是以他們能經受專制統治,而不起來反抗。」而希波克拉底(Hippocrates)也以同樣的邏輯指出,亞洲人「不能獨立自主,因而受到專制君主的統治。」此後,使用「專制政治」一詞的趨勢暫告消退,只有在十四世紀時,當中世紀的哲學學者重新重視亞里斯多德著作的價值時,才又短暫的復興起來。在十六、十七世紀時的歐洲,「專制君主」(despot)一詞幾乎成為鄂圖曼(Ottoman)皇帝的繼承人及其直系臣屬的專有名詞。只有來到十七世紀,「專制君主」一詞才開始獲得概念化的實質內涵。

例如霍布斯(Thomas Hobbes)就提出「專制統治」(despotical dominion)與「君權統治」(sovereign dominion)二者間的區別:前者靠武力征服,後者則由君王治理。約翰.洛克(John Locke)也相似的將「專制權力」和「政治權力」區分開來,他認為所謂「專制權力」,就是「一個人可以對他人施展的絕對、任意的權力,只要專制者高興,在任何時候都可以取人性命。」不過,昔日的觀點仍舊保留了下來,有如賽謬爾.詹森(Samuel Johnson)在其1755年《詹森字典》(Dictionary)裡,為「專制君主」一詞下了一個普遍性質的定義:「具有無限制權威的統治者」,隨即又註明「這個詞彙除了用以指稱達契亞(Dacia,羅馬尼亞古名)與塞爾維亞(Serbia)的君主以外,現已不常使用。」另一方面,英國人錢伯斯(Ephraim Chambers)於1728年的《百科全書》(Cyclopaedia)則單獨為「專制主義」設置條目,從而將這一概念推進至更為普及的層面,並且遵循洛克的觀點,將「專制主義」定義為「專制統治」。


猜你喜歡


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

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


猜你喜歡