當我們提到「自由主義」的時候,到底是在說哪一種?

當我們提到「自由主義」的時候,到底是在說哪一種?
Photo Credit: Carlo Allegri / REUTERS / 達志影像

我們想讓你知道的是

哲學家討論的「自由主義」與社會政治學者討論的「自由主義」很多時候都不盡相同,兩者的內容有時甚至沒有多少交疊。

「我們必須粉碎精神中一切依靠自由主義而得以存在的東西」
--法國政治學家查理·莫拉斯(Charles Maurras)

前言

「自由主義」是個容易惹起爭端與誤會的理論名詞。在學術界,它產生了一個有趣的衝突現象︰大多數英美哲學家視自由主義為政治哲學的顯學,但在非哲學界別,尤其是社會學與政治學裡,自由主義即使不是惡名昭彰,也是充滿毛病、棄如敝屣的意識形態。

正是這緣故,我甚少在他人面前自稱「自由主義者」。第一,它太容易招致鋪天蓋地的非難。第二,更關鍵的是,其實我幾乎可以全盤接受這些批評,卻不認為它們能撃中自由主義的要害。因為這些批評者提到的「自由主義」與我理解的「自由主義」通常是兩碼子事。

事實上,我認為哲學家討論的「自由主義」與社會學及政治學者討論的「自由主義」很多時候都不盡相同,兩者的內容有時甚至沒有多少交疊。這亦是我想在這篇文章盡力闡明的主旨︰希望人們注意到兩者的區別,避免把它們簡單地混淆在一起討論或批判。

哲學課的自由主義

假如你修讀了一門(非古典)政治哲學的課程,你也許會從哲學家霍布斯開始讀起,循序瞭解洛克、盧梭、密爾、康德到羅爾斯等大哲學家的自由主義思想。如果老師偏好由理論入手,你通常會先學習功利主義,接著瞭解平等自由主義、自由至上主義、公民理論、馬克思主義、女性主義等當代重要的政哲理論。

在這門課程裡,你也許會像不少當代哲學家一樣偏好平等自由主義,認為它尊重個人自由之餘,又重視傳統自由主義長期忽略的經濟平等問題。另一方面,當你讀到批評自由主義的不同理論(譬如社群主義與女性主義),也可能會同意它們的批評或多或少撃中你心目中對自由主義的一些疑惑與質疑。

無論你最終是否同意自由主義,至少你與其他哲學人對自由主義的理解並無多大差別。你們都會同意當代自由主義的核心精神是「平等地對待與尊重每個人」,只是不同自由主義哲學家對這個核心精神有各自不同的詮釋。

社會學/政治學課的自由主義

不過,假如你修讀的是一門社會學或政治學,便會對自由主義有極為不同的理解。你也許同樣會讀到霍布斯、洛克、密爾與康德,但你更會讀到哲學家甚少提到的格老秀斯、孟德斯鳩、歹代爾(Emmerich de Vattel)、蒙田(Michel de Montaigne)、亞當斯密(Adam Smith)、T.H.格林(Thomas Hill Green)等社會政治學者視為自由主義的重要人物。

除此之外,你還會讀到一個稱為「新自由主義」的政治理論,認識到知名的新自由主義者,譬如哲學家海耶克、經濟學家米塞斯(Ludwig Heinrich Edler von Mises)、佛利民(Milton Friedman)、美國前總統列根,以及英國前首相戴卓爾夫人。如果你讀到國際關係理論,也會認識到新自由主義學者,諸如Helen V. Milner、Charles Lipson、Robert O.Keohane、Stephen D.Krasner等等。(包宗和, 2011)

這是個有趣的實驗。假如你問哲學人,誰是格老秀斯與歹代爾、海耶克與佛利民的思想學說又是什麼,他們很可能啞口無言。若然你問社會學人或政治學人,羅爾斯與德沃金(Ronald Dworkin)的主張是什麼,他們也會目瞪口呆。不過,當「自由主義」這個詞語出現,這班人卻能滔滔不絕就「自由主義」的對錯好壞爭辯到底。事實上,他們很可能是雞同鴨講,兩者討論的「自由主義」根本沒有交疊。

政治社會學的自由主義

在社會政治學中,自由主義主要分為三種理論(Michael G. Roskin 2014)︰古典自由主義、現代自由主義,以及新自由主義(現代保守主義)。

古典自由主義通常預設原子式個人主義,主張社會是由眾多「原子」個體構成,並且,每個個體都是獨一無二、理性與自利。基於這種人性的假設,古典自由主義在社會制度上的基本信條:「管得最少的政府是最好的政府。」在經濟上,自由市場擁有一雙「看不見的無形之手」作自我修正,不需要政府干涉。在非經濟上,政府也不應該干涉宗教信仰、言論與出版自由等。

現代自由主義同樣接受古典自由主義對人性的預設,也認同政府不應該干擾人們的私人生活;但是,它卻反對自由市場可以自我約束。這類自由主義者通常認為市場是不完備的,它會導致壟斷與貧困。在經濟不平等的情況下,貧窮者也會失去自由選擇的機會。所以,這類自由主義主張:為了維護人們的自由免於受到若干限制(i.e.保障消極自由),政府應該對市場進行適當的干預。現代自由主義與社會民主主義的關係非常密切,後者通常被認為在(捍衛資本主義的)古典自由主義與馬克思主義中間尋找第三條的修正道路。

新自由主義是近代重要的政治理論。新自由主義繼承了古典自由主義大部分內容,他們比古典自由主義更信奉市場的威力,主張國家應該放棄對經濟事務的任何干預,具體政策包括削減公共開支、產業私有化、放寬企業管制、放棄任何貿易保護措施等等。另一方面,新自由主義有時比較像政治經濟學理論多於是意識形態(i.e.包含理想與改革的理論思想),它主要把國際的政治制度與經濟結構作為經驗的研究對象,分析國際的政治經濟現象。

在社會政治學裡,不同學者都會基於不同理由反對上述任何一者的自由主義。有些批評建基於把「自由主義」與「理想主義」連結一起,批評自由主義不切實際;有些批評認為自由主義信奉道德普遍(客觀)主義,但道德只是特定時空或社會文化的歷史產物;有些批評自由主義只擁護資產階級的自由與平等,是無產階級的敵人;有些批評認為自由主義是父權產物,無視女性的權益;有些批評認為自由主義擁護自由市場是萬能、誓死捍衛私有產權與生產資料私有化;有些批評認為自由主義擁護福利主義國家,但福利主義只會是自相矛盾、最終崩塌的制度……

反自由主義是一種傳統


猜你喜歡


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

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


猜你喜歡