簡體   English   中英

Azure Service Fabric是否與Docker做同樣的事情?

[英]Does Azure Service Fabric do the same thing as Docker?

我的想法是人們使用Docker來確保本地環境與生產相同,並且他們可以停止考慮他們的應用程序在物理上運行的位置,並且平衡機制應該只在那個時刻在最佳位置分配應用程序。

我100%基於網絡,我將與我們的數據庫一起遷移到雲,無法移動的內容將無縫橋接,因此企業的東西和雲將成為一個子網。

所以我想知道,也許Service Fabric已經做了與Docker一樣的事情,加上它提供了地址轉換服務(fabric://對於結構空間中的進程有點像DNS)加上(對一些人很重要)鼓勵按需工作人員分配 - 巨大的可擴展性特權。

  1. Service Fabric能否成功取代Docker?
  2. 是否獲得了觀眾和接受度? 因為否則即使最偉大的發明也會失敗。

由於Docker(該公司)試圖在所有雲中進行索賠,這令人困惑。

  • Docker Engine(大多數人稱之為“Docker”)是一種容器化技術。 它可以給你
    • 過程隔離
    • 網絡隔離
    • 一致的應用環境
  • Docker Hub是一個圖像注冊表。 它存儲Docker鏡像,因此您可以將其作為部署的一部分下載。
  • Docker CloudDocker的編排系統。 它可以給你
    • 上下擴展您的應用程序
    • 將您的應用程序相互連接
    • CI測試,與Docker Hub集成(這不是業務流程的一部分,只是它做的另一件事)

Service Fabric是一個編排系統。 它可以協調Docker容器,但如果您專門為Fabric構建,它也可以與您的服務更緊密地集成。 (Docker完全不知道容器內部運行的是什么。)

所以Service Fabric 大部分都與Docker Cloud相當,盡管它並不完全匹配。 還有一些其他基於Docker的業務流程解決方案(Kubernetes可能是最大的),還有其他基於雲的微服務解決方案(Heroku可能是最知名的)。

Service Fabric的主要缺點是它是一種Microsoft技術,因此與使用Docker時相比,您將更加依賴Azure。 另一個是Docker有更廣泛的選擇來構建你的堆棧:我上面列出的所有三個Docker事物都至少有一個開源替代品(這也是Docker的一大缺點 ,因為沒有人在制定一個單一的最佳實踐為你的文件)。

如果你喜歡微軟,並且如果將cobbling系統放在一起對你來說並不重要,那么Service Fabric應該是Docker生態系統的一個很好的替代品。 (你仍然可以在其下運行Docker容器。)

Service Fabric和Docker容器化之間的主要相似之處:

  1. Dockers和SF都能夠在兩個平台(Linux和Windows)上從您的微服務實現中創建不可變圖像。
  2. Dockers和SF都能夠在VM群集中編排容器化應用程序。 這些虛擬機可以在任何地方 - 公共雲,私有雲或您自己的數據中心。 請注意,它們都與雲平台無關,這意味着它們對任何雲服務都沒有強烈的親和力。 因此,只要您不在微服務中使用任何特定於雲的功能,這應該沒問題。
  3. Dockers和SF都能夠展示協調平台的基本功能:服務發現,服務級負載平衡,服務之間的網絡級隔離,故障轉移處理和復制控制等。

Service Fabric和Docker容器化之間的主要區別:

  1. Docker容器本質上是一個部署/打包構造。 也就是說,作為服務實現的一部分,docker並沒有規定您在容器中包裝的內容。 它既不提供任何編程結構來實現您的服務類型 然而,Service Fabric以基本類型/接口的形式提供編程結構,您的服務實現可以從聲明的某種服務開始 - 有狀態服務,無狀態服務,虛擬actor。
  2. 在Docker世界中,一切都是容器,即最小部署/編排單元是容器。 因此,它不承認或支持單個過程。 然而,在SF中,我們有一項規定,即您的無狀態/有狀態服務所產生的微服務可以作為一個過程進行編排和管理。 但是,SF也像Docker一樣支持容器編排。 此外,最新版本的SF允許在容器中打包您的有狀態/無狀態服務。

考慮到上述事實,請注意SF對任何雲提供商都沒有任何強烈的親和力。 只要您能夠使用所需平台創建VM,它就可以在任何公共雲(Azure,AWS或GCP)上同等運行。

它完全沒有可比性。 通過服務結構,您可以獲得運行狀況監控,與結構的代碼集成,日志記錄,監控,負載平衡和其他智能功能。 您的應用程序甚至可以執行關機代碼 Service Fabric不僅適用於Microsoft技術,甚至docker也可以駐留在SF內部,因此是rkt或Unix OS。 安全和網絡功能(與Web應用程序一致)是另一個優勢。 可靠的系列簡直太棒了。 對於采用它的公司而言,保證改善應用程序構建和性能的路線圖(歷史證明如此)。

這個問題非常有利於“最偉大的發明”Docker。 這種比較對Docker營銷有利,但沒有人會替換Docker的SF。 Docker只是一個微小的操作系統副本(與服務,應用程序或智能無關)。 Docker甚至與應用程序開發無關,這不是意圖。 只是人們開始發現需要隔離和分享。 這就是Docker的全部意義所在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM