iT邦幫忙

2023 iThome 鐵人賽

DAY 16
1

多租戶技術 (Multi-Tenancy Technology)

https://ithelp.ithome.com.tw/upload/images/20231001/20162545g8NUMd5wYA.png
(Powered By Microsoft Designer)

今天來談談什麼是多租戶技術(Multi-Tenancy Technology),也許其實你早就用過這個技術了,但你把它視為理所當然。
Multi-Tenancy 不僅在雲端服務中得到廣泛應用,還在各種軟體應用中發揮著關鍵作用,尤其是軟體即服務(SaaS)領域。

什麼是多租戶技術 (Multi-Tenancy Technology)?

多租戶技術是一種軟體架構,允許單一軟體同時服務多個租戶或客戶,而這些租戶之間的資料和操作是完全獨立的。
租戶或客戶可以是不同的組織、公司或個人用戶,他們共享同一個應用程式,但資料和系統配置是分開的,不互相干擾。

我們以大學的宿舍來當範例:

  • 無多租戶技術:一間大通鋪,不管你是誰都可以進來睡覺,且沒有規定床位,想睡哪就睡哪,只要有權限可以使用這個宿舍就可以隨便睡。
  • 多租戶技術:一棟大樓裡有很多間房間,刷學生證進出,每次睡的房間由宿舍長分配。

大通鋪聽起來好像還好,但要想想,如果你晚上起床去尿尿都會影響到隔壁床位的人,整個大通鋪都沒有隔間,超級沒有隱私。
而如果宿舍不是大通鋪,有隔間且每個人都有自己的房間,那就不用擔心自己的隱私了。其實就是會員系統的雛型想法,系統會依照你是誰來決定給你哪些資源,宿舍會依照你的學生證號碼來給你對應的房間號碼。
這樣大家就很清楚了,只要是有會員系統功能的軟體應用程式,就使用了多租戶技術。

多租戶技術最主要的目的就是實現多個客戶之間的隔離性、安全性和功能獨立性,同時降低管理和維護成本。這對於軟體提供商和公司來說都非常有價值,因為它可以實現多個客戶共享相同的基礎設施和程式碼,從而節省資源並提高效率。

為何可以節省資源?

試想一下,如果今天有一間公司要使用你寫的軟體,你的軟體架構可能會是長這樣:

https://ithelp.ithome.com.tw/upload/images/20231001/20162545zy3OotLeQc.png

簡單的前後端伺服器加上資料庫,完全沒問題。
但是,如果今天是兩間公司、三間公司甚至一百間公司要使用你寫的軟體呢?

https://ithelp.ithome.com.tw/upload/images/20231001/20162545l7VpCQcysk.png

你可能會這樣做,我就開三個一模一樣的前後端資料庫伺服器,多一家公司我就開一個伺服器,來十個我就開十個,沒有問題。但是這樣數量一多,你就會非常的難以管理你的客戶。
這樣說應該還沒有特別的感覺,如果以宿舍來說,如果每個新生來,我們就蓋一間大通鋪給他睡,十個新生就蓋十間大通鋪,這樣絕對百分之百是資源浪費。
若是客戶有做系統客製化,抑或是想要做個人維護設定,都會讓你非常棘手。因為你要在一百多個列表中找到他們的特定伺服器,再進去改這些客戶們的需求,這樣的作業一多,你就會加班,事情沒有做完的一天。

如果使用了多租戶技術來做公司間的區分,就不會有這個煩惱了。一棟大樓有各間公司各自的辦公室,各自做各自想要的事情,完全沒問題。

多租戶的應用領域

多租戶技術廣泛應用於各個領域,包括:

  1. 雲端服務提供商: 雲端平台如 AWS、Azure 和 Google Cloud 使用多租戶技術來支援不同組織和企業的虛擬機器、儲存和應用程式。
  2. 軟體即服務(SaaS): SaaS 應用程式如 Salesforce、Microsoft 365 和 Zoom 使用多租戶模型來提供軟體服務,讓多個客戶共享相同的應用程式。
  3. 企業資源規劃(ERP): ERP 系統允許不同的部門和子公司共享同一個系統,同時保持資料的分離性。
  4. 多租戶資料庫: 資料庫提供商如 Amazon RDS 和 Google Cloud SQL 提供多租戶資料庫,以實現多個客戶的資料隔離。

結論

多租戶技術是一種軟體架構,允許單一軟體同時服務多個租戶或客戶,而這些租戶之間的資料和操作是完全獨立的,只要是有會員系統功能的軟體應用程式,就使用了多租戶技術。
多租戶技術最主要的目的就是實現多個客戶之間的隔離性、安全性和功能獨立性,同時降低管理和維護成本。

我們明後天再一起來談談 ERP 系統內的多租戶技術實例,明天見。


Reference :

Wikipedia - Multitenancy
Cloudflare - What is Multitenancy
IBM - What is multi-tenant (or multitenancy)?


上一篇
Day 15 : 多系統整合 Part4 - 擷取、轉換、載入 (ETL)
下一篇
Day 17 : ERP 的歷史與 Multitenancy 的應用實例 - 以 SAP 為例
系列文
從 IT 的視角觀看公司內部的系統管理及設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言