如何聽起來像雲專家
已發表: 2022-03-10您的代碼已編寫,設計看起來很棒。 當客戶詢問“這應該在雲中運行嗎?”時,新項目幾乎可以開始了。
你冒出一身冷汗。 問題很大。 區域和區域、高可用性、負載平衡——云有自己的語言。
別擔心; 你有這個。 本文將教您如何對雲做出明智的決策,並回答客戶的雲問題。
四大問題
在您和您的客戶知道您想要什麼樣的雲之前,您需要討論四個問題:
- 您需要運行的軟件有多複雜?
- 它需要擴展多少?
- 永不下降有多重要?
- 它需要為世界各地的用戶運行多快?
本文為您提供了回答這些問題所需的背景和信息,聽起來就像是雲專家。
讓我們開始。
- 什麼是雲?
- 為什麼您的客戶關心雲
- 雲與託管服務有何不同?
- 為什麼虛擬機如此重要
- 讓我們談談網絡
- 不同類型的雲
- 雲的基本組成部分
- 您的客戶可能會問的問題
什麼是雲?
當我們談論云計算時,我們真正的意思是從別人那裡租用一台計算機的能力。 這裡的所有都是它的。
像亞馬遜和谷歌這樣的公司有很多電腦,他們願意把其中的一部分租給你。 從他們那裡租用計算機具有成本效益,因為您不必建立自己的數據中心或聘請自己的專家團隊來運行它們。
當您租用計算機的一部分時,您需要它看起來像整台計算機,這樣您就可以運行任何您想要的軟件。 這就是為什麼提供商會為您提供虛擬機 (VM) — 讓您看起來像是在自己的獨立計算機上運行的軟件。
為什麼您的客戶關心雲
在您了解有關雲的更多信息之前,重要的是要了解您的客戶關心的原因。 讓我們不要忽視流行語的魅力。 雲現在真的很流行。 您的客戶可能只是問,因為所有酷孩子都在這樣做,但酷孩子這樣做是有原因的。
讓我們從基礎開始。 託管您自己的數據中心將是一件很痛苦的事情。 您必須擔心功耗、保持硬件最新、聘請專家團隊來運行它,以及與您的業務無關的一千個其他問題。 如果停電、發生洪水或屋頂塌陷,會發生什麼? 這些都是不在客廳運行的服務器上託管您的網站的所有原因。
您不僅可以將所有的麻煩轉嫁給其他人,而且讓他們運行數據中心會給您帶來三大優勢:
- 雲是全球性的。
它們存在於世界各地的數據中心,包括靠近您客戶的數據中心。 這意味著速度。 您不希望中國的客戶等待從美國加載數據。 當我訪問 Google.com 時,我在波士頓的數據中心與在芝加哥或洛杉磯的數據中心不同,而這只是在美國。這在很大程度上使 Google 的速度成為可能。 - 雲會變大變小。
如果我購買服務器,我有一台服務器; 即使我的應用程序不需要整台計算機,我仍然需要為該服務器付費。 當我的應用程序真正流行起來時,我需要快速購買更多服務器。 云不是這樣工作的。 租用服務器份額意味著我可以改變我租用的數量:我可以在忙時擴大訂單,在不需要的時候縮小訂單。 - 雲永不落。
永遠不要說永遠……但幾乎永遠不會。 雲提供商談論“五個九”——這意味著 99.999% 的時間都在運行(每年只有 5.26 分鐘的停機時間)。 您可以使用負載平衡和故障轉移等服務將其變得更小。
這些都是雲很酷的原因,但是您可以從簡單的託管服務中獲得其中的一些。 如果您的客戶詢問云,您需要知道其中的區別。
雲與託管服務有何不同?
我在名為 Media Temple 的託管服務上有一個個人網站。 我的網站運行 WordPress,所以它需要一些東西:
- 存放我的文件的目錄
- HTTP 服務器
- 一個數據庫
- PHP
我的目錄在 Linux 上運行,我的 HTTP 服務器是 Apache,我的數據庫是 MySQL,它都運行在 PHP 上; 這就是為什麼他們稱它為LAMP 堆棧(Linux-Apache-MySQL-PHP)。 這聽起來可能有很多片段,但它們是有限的。 例如,我無法安裝新軟件。 如果我想在 PostgreSQL 上運行我的數據庫,我就不走運了。 我無法運行 Python 或 Go 等其他語言; 我不能編寫自己的單獨程序。 我只能得到一組非常有限的、預先配置好的我被允許做的事情。
我的網站也只在一個地方的一台服務器上運行。 那台服務器在哪裡? 我不知道。 我認為它在美國的某個地方,但除此之外我不知道,而且我真的不在乎。 託管服務提供商給了我一個服務器,我輸入一個 URL,我的網站就會出現(大部分時間)。
託管服務提供商保持簡單。 其中一些託管其他堆棧,一些允許更多配置,但它始終是一個集合包。
託管服務和雲之間的根本區別在於虛擬機。 託管服務只是為我提供了現有操作系統的一部分。 虛擬機為我提供了一個完整的操作系統。
為什麼虛擬機如此重要
虛擬機的行為就像一台真實的機器。 它可以運行 Linux 或 Windows,它可以做任何普通計算機可以做的事情。 Apple 不允許您在虛擬機上運行 OS X(儘管一些人已經讓它工作,構建了一個“Hackintosh”)。
當您擁有虛擬機時,您可以完全控制。 你可以在那裡運行任何你想要的東西——數據庫、電子郵件服務器、加密,甚至搜索外星人。 虛擬機允許你做任何你想做的事情。
擁有一個完整的操作系統真的很強大,但在你做任何有用的事情之前,你需要訪問虛擬機。
讓我們談談網絡
如果您無法訪問虛擬機,它們將毫無用處。 您需要網絡,儘管網絡可能會變得有點複雜。
但是這些基礎知識將為您提供入門所需的知識。 讓我們從一個您熟悉的示例開始。 它現在可能正在你的房子裡運行。
我家有康卡斯特。 Comcast 給了我一個電纜調製解調器,其 IP 地址類似於10.0.0.89
。 雖然它只給了我一個 IP,但我有兩台筆記本電腦、一台 iPad 和一部手機; 我的妻子和女兒擁有更多設備。 為了實現這一點,我有一個連接到我的電纜調製解調器的無線路由器。 我的無線路由器為我的每台設備都提供了一個 IP 地址,例如192.168.0.100
、 192.168.0.101
等,但這些地址對我的網絡來說是私有的。
這些私有地址的技術術語是不可路由的。 有一些地址是為私人使用而設置的; 大多數以10.
或192.168
開頭,作為 Internet 路由器的標誌,表明這些地址不允許在野外使用。 我使用這些特殊地址是因為它們是可重複使用的。
每個 IP 地址在給定網絡中必須是唯一的; 否則,路由器將不知道我想連接哪台計算機。 有 4,294,967,296 個可能的 IP 地址。 儘管網絡設計師認為這一切始於 1970 年代,但我們現在已經不多了。 還有一些其他協議,比如 IPv6,將來可能會解決這個問題,但今天我們通過網絡地址轉換 (NAT) 解決了這個問題。 讓我告訴你它是如何工作的。
我家中的設備的地址在我家中是唯一的,但在整個世界中都不是。 當我想上網時,我需要無線路由器為我翻譯它們。 每次我點擊一個鏈接時,我的筆記本電腦都會與我的無線路由器對話以向我發出請求; 反過來,無線路由器代表我與世界對話,但使用它自己的地址。 然後,當我的電纜調製解調器與 Comcast 通信時,它會做同樣的事情,而當 Comcast 將我的請求發送到一般互聯網時,它會在更大範圍內再次做同樣的事情。 每台路由器都在轉換前一個路由器的 IP 地址。 所有這一切意味著許多計算機可以重複使用像192.168.0.101
這樣的 IP 地址,並且一切順利,沒有衝突。
那麼我在真實互聯網上的真實 IP 地址是什麼? 現在我的真實 IP 地址是66.30.118.150
,我的私有 IP 地址是192.168.0.103
。
地址66.30.118.150
是從哪裡來的? 這是 Comcast 擁有的 IP 地址。 這清楚地表明我在美國東北部的馬薩諸塞州劍橋市。 我不需要細節; 我只需要知道這是康卡斯特為我管理的真實公共地址。 康卡斯特可能會為成百上千的其他人使用相同的地址。
所有這些地址轉換都做了其他非常重要的事情。 它為我提供了一個單一的訪問點,可以控制進入我家庭網絡的所有內容。 外面沒有人可以訪問192.168.0.103
; 對他們來說,這是一個不同的地址。 通過控制可以進出的流量,我獲得了很多安全性。 我的無線路由器是我可以控制發生的事情的關鍵點。
大多數雲就像我的家庭網絡一樣工作。 計算機是虛擬的,網絡稱為子網,無線路由器稱為網關,但都是一回事。 他們擁有帶有私有地址的虛擬機和將它們轉換為公共地址的網關。 他們還有一個地址空間,可以像我家的無線路由器一樣使用。 像這樣:
聽起來可能很複雜,但並不難。 雲是我從其他人那裡租用計算機並將它們設置為看起來像我的家庭網絡的一種方式。
要記住的最重要的事情是:
- 專用 IP 僅在您的專用網絡上可用;
- 公共 IP 在 Internet 上可用;
- NAT 允許私有 IP 看起來像公共 IP。
這並不是云網絡所發生的一切,但對於啟動、運行和訪問您的雲來說已經綽綽有餘了。 現在你需要決定你想要什麼樣的雲。
不同類型的雲
雲是一個無定形的術語——人們用它來表示很多不同的東西。 雲實際上分為三種不同的類別。
基礎設施雲
虛擬機和網絡是基礎架構雲的構建塊,也稱為基礎架構即服務 ( IaaS )。 它們提供了您可以完全控制的虛擬化基礎架構。 您決定操作系統以及在其之上運行的所有其他內容。
您可以獲得靈活性和控制權,但您有責任管理和支持您安裝的所有內容。
基礎設施雲要么是靜態的,要么是彈性的。 靜態雲就像我的家庭網絡一樣工作:我有一組虛擬機運行我需要的任何東西。 他們生活在一個私有網絡上,有一個公共網關允許他們訪問互聯網。 靜態云非常適合處理數據、擁有一些額外的計算能力或託管比託管服務提供商所能處理的更複雜的站點。 您還可以將靜態雲複製到世界各地的其他數據中心。
彈性雲就像靜態雲一樣工作,但它們是動態的。 您擁有一組可以根據您的需要增長或縮小的虛擬服務器,而不是一組固定的虛擬服務器。 當您對站點或服務有高需求時,您的雲會擴展,而當您不需要時,您的雲會縮小到正常大小。 所有的擴展和收縮都可以為您節省金錢。 當你不需要它時,你會歸還你不需要的計算能力。
Netflix 使用 IaaS。 Amazon Web Services 提供基礎設施,Netflix 在其上實施其整個系統; 它編寫了自己的軟件,為流式傳輸高清內容提供高度定制化的支持。 Weather Company 是另一個例子——它運行在 IBM Cloud 之上。
平台雲
平台雲,也稱為平台即服務 ( PaaS ),是一種專門的雲,它為您的應用程序提供軟件構建塊,而云提供商為您管理基礎設施和軟件堆棧。
例如,如果您需要一個 Web 應用程序,PaaS 可以為您提供 vanilla WordPress 或 Drupal 供您使用。 如果你需要一個數據庫,你可以選擇 MySQL 或 PostgreSQL。 如果您需要開發工具,您可以選擇 Node、Java 或 PHP。 您無需擔心正在運行什麼操作系統,或者是否需要應用 MySQL 安全補丁——雲提供商會為您處理這些問題。
Heroku 是一個 PaaS 雲。 它提供了下面的軟件,你只需在上面寫你想要的。 它為您提供了一些靈活性,但比 IaaS 雲管理更多。
軟件雲
軟件雲,也稱為軟件即服務 ( SaaS ),是一種非常專業的雲,可為您提供定義明確的在線服務。 託管服務提供商是一種特殊類型的 SaaS 雲。 他們以非常有限的方式工作。
Wix 是 SaaS 的另一個例子。 它為您提供完整的 Web 應用程序託管服務,具有出色的編輯器、對用戶登錄和支付的支持以及多種模板可供選擇。 Wix 只專注於一項工作。 它的功能非常有限,但也更易於使用。
雲的基本組成部分
我們已經討論了不同類型的雲以及您需要它們的原因。 在您真正聽起來像雲專家之前,您需要了解組成雲的不同組件。
虛擬機
虛擬機是一種像硬件一樣運行的軟件,就像一台真實的機器一樣運行,而無需在任何地方使用單獨的服務器。 你可以用虛擬機做任何你想做的事,它會通過鴨子測試——它像真正的服務器一樣走路和嘎嘎作響。 您的軟件永遠不會知道其中的區別。
這種靈活性是有代價的。 您負責維護您的虛擬機。 雲提供商將確保硬件處於最佳狀態,但您必須選擇您的操作系統以及在其上運行的所有其他內容——安全補丁、軟件更新、配置。 這一切都取決於你。
如果你不在彈性雲上,最好記住釋放任何不再需要的虛擬機。 無論 VM 是否在工作,提供商都會向您收費。
子網
我們已經涵蓋了云網絡。 子網是在雲中運行的網絡。
私有 IP 和公共 IP
云網絡將為子網中的虛擬機分配一個不可路由的 IP 地址。 這些被稱為私有 IP,因為它們對我的網絡是私有的。 當虛擬機向 Internet 發送請求時,公共網關將轉換這些請求。 這被雲提供商稱為出口流量。
就像我無法從咖啡店訪問我的家用打印機一樣,在雲中我需要一個公共 IP 來訪問虛擬機。
可以將公共 IP 分配給虛擬機以允許入口流量(來自 Internet 的流量路由到虛擬機)。 這很重要,因為雲供應商會對入口和出口流量收取不同的費用。
SSH 密鑰
SSH 密鑰是一條允許您訪問云的私有信息。 它由兩個文件組成。 有一個如下所示的公鑰:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5b8xmtjUd1taP4svy9FM/WZc/n5gkqKVkhIsqW27hw2WuhfTVNLA6IBBOs9+br+HlqGYwgYB3DSh0Zm/3Bok1uQhinH77FmKsrPGDpvtJv16weIvGiTMVp+Mct8DVKl48KZxvQKa0Hp6MxEc7cQ9WPvzWn9BPLHERSkSNwXSUobqpFBgIPy9UBWr5DsI2Li5HeMgMgTcbuVVdO/8I/rhKoIyTqkhY4CZcyssmWhMvPmk6+9IcOr0O4SyW9TL+CZgDH1mW2dUypT+1j6HgFjr9H8NfJ4EKnWnFkQXo8HZ4oh6lSTaIfDQfnbrjVUO14N7FW9ZgXbL9cJVx5FLw3ny9 [email protected]
還有一個看起來像這樣的私鑰:
-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAuW/MZrY1HdbWj+LL8vRTP1mXP5+YJKilZISLKltu4cNlroX0 1TSwOiAQTrPfm6/h5ahmMIGAdw0odGZv9waJNbkIYpx++xZirKzxg6b7Sb9esHiL xokzFafjHLfA1SpePCmcb0CmtB6ejMRHO3EPVj781p/QTyxxEUpEjcF0lKG6qRQY CD8vVAVq+Q7CNi4uR3jIDIE3G7lVXTv/CP64SqCMk6pIWOAmXMrLJloTLz5pOvvS HDq9DuEslvUy/gmYAx9ZltnVMqU/tY+h4BY6/R/DXyeBCp1pxZEF6PB2eKIepUk2 iHw0H52641VDteDexVvWYF2y/XCVceRS8N58vQIDAQABAoIBAHU7UKW+m2X55Dui zf0SqW5rXUtDwhOq6qTZhoGIvFjOBwKGfXosjRyyGJ0o6jyqvM1L4Q7ZUDXzg5fT CwXIhAYKrFprRXvHcypnS2hHsKW27k3yZ6tkIX+XW+VT5fzdhCXUyKks3jcRBHtJ ux7BI0kLGR02e6MSHYkowp47p1Auukx1saRkFTwvy+znABgqVETvtHBxAiElXndL JfQntaQacgWWDjl2qUj+06IB/Qzd9/Mo1Vtdb8SUZxv/Qc2raSi3LL0N4aSJGLGU pq395ggv9NdhUQf+DN9uGaOC4hYeGdO8gm27yysZ4rTT5iln5wOaCAcMTMrGL4+k GoU/nKECgYEA7AP/Mh9sUi9AX/17a3A/zxNAO1ZrvM+Caj/X/t/pt3HEOhqLz7o5 z3g8/Z+H0CJLZNiP9XbMak2wvOiqRj0y+FihX/ESll6XgIEPTBUcFSirWMe4f9og FltrnelUjHG9MTDW0P4jmmp1E5V8RgnCCv2VjN40ulP5zHPXXdU2FP8CgYEAySNs /qlFL7DTB/A851y6cUzQC5kiKlr/T8aUtOHeBo626jlnHDy/VY9vIJ0ttsYyHCdM OSdqZh5wRwvshr94tpOBQNnDTI4Xv7t2couHl7q2xTOYeWViwGyZaatNYlWWFh/u YSCTd2jn6cvBZOZP3BAiWoF9nzLcsjfpNLdzAkMCgYAx8TaTOKsHSRBqP41aUspt 2zkAVW0+6vpB2Xivalpegyhu0yc6scGB8YOWd6eZl2g00s7DtnvTEtWPY/yEGHcs rjSXxL+WKjYM70J5aw4iPBTmGH0mMNYRZQ8Ev1cw0PCj9B3A48ZM6rITjtJZT79L 7BU1Vd/6fcKiTPEJ3hAvqQKBgBKOQBnmR8m0iGNtGFFHzrNxIKhRQkOiDXewnDtr su3r8Jf/H7INMKGWD+x0U6lO84SBY5jKOBifqkADq5hqxZoiVYREEq5XVX2Mr8q1 cJbg1MewkNpyLgAOhMCo2wS9XJFB9N3lAXW8qdh5waerT6a/nku3Mn2jVZTjb5I7 clK9AoGAZLuvLAJpFOf/mweajULV+oFMGzIArvbk1c+cGySeI5uZwfQ9lv2MOb0N DuFTXZt6QpKV9Nix/8KgBIP2Vac6gSAeF6kIXk2+nV6gXm5tojYrf6gG1jY8ceRD IFSeGlnBhYVrFcQ79fYwJtSQgGde4PtNF1yq9ipluAyLuy1cLUc= -----END RSA PRIVATE KEY-----
您可以一起使用這兩個文件而不是密碼。
SSH 公鑰身份驗證是登錄遠程系統的可靠方式,比標準用戶名和密碼更安全。 (SSH 代表“安全外殼”。)您之前可能已經以 Github 密鑰的形式看到過 SSH 密鑰。
SSH 密鑰依靠公鑰加密和質詢響應身份驗證來防止暴力攻擊和其他威脅。
這些密鑰確保只有您可以訪問您的虛擬機,並且它們非常適用於腳本和其他自動化任務。
數據中心
數據中心是一個裝滿計算機的大型建築。 雲提供商將其中的一部分租給您。
這些計算機是功能強大的服務器,每台服務器都可以同時託管許多虛擬機。 這些服務器消耗大量電力並產生大量熱量,並且它們需要物理上靠得很近,因此網絡速度很快。 因此,數據中心是雲提供商存放運行其云的所有物理硬件的設施。 數據中心需要適當的冷卻、冗餘電源、巨大的網絡帶寬、受控訪問和熟練的員工來保持所有機器的運行。
數據中心可以處理大量負載,但它只在一個地方。 全球雲提供商需要將數據中心分佈在世界各地,以確保世界各地的客戶對其服務器的網絡訪問延遲都可接受。
區域和區域
雲提供商需要組織其數據中心,以確保在停電、洪水、颶風和其他災難期間能夠繼續滿足請求。 供應商將此稱為服務質量,這都是確保云永遠不會中斷的一部分。
區域是具有特定往返網絡延遲(從哪裡到哪裡?)的地理區域。 地區有達拉斯、東京或法蘭克福等名稱。 您可以保證在該區域內獲得您支付的網絡延遲。
一個區域由一個或多個區域組成。 區域是一個區域中的隔離數據中心,具有獨立的電氣、機械和網絡基礎設施,旨在保證其他區域之間不會出現共享單點故障。 這使您能夠通過部署到一個區域中的多個區域來構建高度可用的容錯應用程序。 如果一個區域崩潰,該區域可以繼續運行,但是當所有區域都崩潰時,它真的很糟糕。
數據中心託管一個區域。 多個數據中心聚集在一起以創建一個多區域區域。 區域的名稱類似於 us-south-1、us-south-2 和 us-south-3。 一個小區域可以由一個強大的數據中心提供服務,而人口稠密的區域可能需要多個數據中心來應對網絡和計算需求。
災難恢復、高可用性和容錯
即使是最有成就的 IT 架構師,這些概念也會讓他們汗流浹背。 他們在晚上保持清醒,想知道如何確保云層永不落下。
但是你有這個! 雲(幾乎)永遠不會消失,如果確實如此,很容易確保您被覆蓋。 讓我們一一回顧這些概念:
災難恢復(DR) 是一組政策和程序,詳細說明了重大事件期間和之後的操作。 設計你的系統,讓它優雅地失敗(這意味著你的用戶會明白有些地方出了問題,但你已經解決了它),並且在發生事件後,你知道如何盡快將其恢復。 當整個區域出現故障時,您需要 DR,您的服務受到網絡攻擊,或者它易受攻擊並且您需要將其關閉。
高可用性(HA) 只是一個目標——我們之前談到的“五個九”。 您希望您的應用程序能夠適應故障。 如果你在客廳裡運行服務器,這幾乎是不可能的,但在雲中它是可行的。 您可以依靠雲的容錯基礎架構來實現高可用性的目標——一切都為您處理好了。
容錯基礎架構是一種設計,可確保在出現故障時備份接管。 雲是一個容錯系統。 如果一個區域內的一個區域發生故障,其他區域將確保服務的連續性。 您需要通過使用負載平衡器等組件來利用這種容錯能力。
負載均衡器
高可用性來自於同時運行應用程序的多個實例。 負載均衡器是一種設備,它將流量從您的用戶路由到您的一個運行良好的實例; 它接受請求並將它們發送到下一個健康的服務器。
負載均衡器監控虛擬機的運行狀況,它可以考慮不同的參數。 它可以檢測您的虛擬機或應用程序是否崩潰,還可以檢查網絡延遲、請求標頭中的特定數據等等。
您的客戶可能會問的問題
因此,您的應用程序運行良好,但您的客戶正在考慮採用雲。 你準備好了嗎? 以下是您應該能夠像雲專家一樣回答的常見問題。
我什麼時候需要的不僅僅是託管服務提供商?
您的客戶可能會全速參與將所有服務遷移到雲中。 憑藉更大的靈活性、彈性和地理分佈的存在,雲很容易讓人興奮。
但即使雲計算更快、更靈活、更可靠,它的成本也更高; 它甚至可能需要額外的 IT 支持來保持客戶系統的運行。 雲並不適合所有人。
如果您的客戶系統當前在託管服務提供商上運行,您是否應該遷移到雲?
考慮當前和未來的需求:如果您的客戶正在尋找符合法規的高可用性,那麼請遷移到雲。 如果您的客戶面向全球受眾,請遷移到雲端。 如果預計全年需求會急劇增加,請遷移到雲端。
如果系統將主要由特定地理區域內的本地用戶訪問,或者如果它對您的客戶不是關鍵任務,則不要遷移到雲。
重要提示:如果您的客戶系統在託管服務提供商上運行良好,您應該考慮現有的 SaaS 產品,這些產品可以提供雲的彈性和性能,同時將您的客戶與不必要的 IT 費用隔離開來。 有像 Bluehost 這樣的傳統託管服務提供商提供基於雲的服務,也有提供託管服務的雲服務提供商。
我應該使用什麼類型的雲?
找到合適的雲類型可能會讓人不知所措,因為每個提供商都提供廣泛的服務和選項。 首先要考慮的是客戶端軟件堆棧的複雜性和當前運行的硬件。
如果整個堆棧通過重新編譯的開源庫、定制的 Linux 內核或特殊的存儲優化來高度定制,那麼您應該首先查看 IaaS。 一些提供商將允許您的客戶混合搭配,將 IaaS 用於高度定制的組件,同時選擇 PaaS 用於其他部分。
但是,如果您的客戶的需求主要建立在現成的庫之上,那麼 PaaS 很可能是一個更好的起點; 雲提供商將確保您的客戶的代碼將始終在最新的依賴項之上運行。
一旦確定了正確的雲模型,要求和評估標準對於您的客戶來說將是獨一無二的。 但非功能性需求始終值得關注:您的客戶是否必須遵守特定領域的法規、認證或標準? 他們是否依賴於特定供應商或與特定供應商建立合作關係?
最後,想想雲提供商的遷移支持和供應商鎖定——一旦系統運行,您的客戶遷移到競爭對手有多麼困難。 即使您的客戶不打算搬出,也要考慮退出計劃。
我如何確保我的網站永遠不會宕機?
假設您的客戶在美國醫療保健行業工作。 HIPAA 要求每個組織都有某種災難恢復計劃,其中包括您的網站。 如果站點出現故障,您客戶的業務將會失敗,因此您需要雲的彈性。
雲為您提供了確保您的站點永遠不會出現故障所需的工具。 您將需要同時運行應用程序的多個實例,以及一種控制流量的方法,這樣您的用戶將永遠不會訪問錯誤的實例。
如果您的客戶在 IaaS 雲上部署您的站點,您將需要應用程序的多個實例和一個負載均衡器來控制流量。 如果您的客戶有一個 PaaS 雲,只需確保您有多個實例在運行,因為雲會自動提供路由部分。
如果您的站點使用數據庫,請確保將客戶端的雲配置為支持會話親和性(也稱為粘性會話),這是一種確保所有用戶流量都路由到同一虛擬機的方法。
如何讓我的網站快速為世界上的每個人服務?
如果您的客戶正在走向全球並需要您的應用程序為世界各地的最終用戶提供快速服務,那麼您需要雲的靈活性和地理覆蓋範圍。
即使雲是全球性的,您也需要應用程序的實例在靠近用戶的地方運行。
與您的客戶一起確定哪些雲區域最適合您的用戶群,以及您的客戶在哪里托管支持您的站點的 API——您的實例應該靠近兩者。 您還可以討論設置一個全局代理,根據用戶的位置將流量路由到不同的地理區域。
結論
通過 Internet 向不斷增長的客戶群提供可擴展且有彈性的服務非常複雜; 我們在這裡幾乎沒有觸及表面。 這就是為什麼我們想把細節留給亞馬遜、谷歌和其他雲提供商。 您的工作是就如何使用他們的服務做出正確的決定。
請記住,當您的客戶問您是否應該在雲中運行某些東西時,您需要問四個問題:
- 您需要運行的軟件有多複雜?
- 它需要擴展多少?
- 永不下降有多重要?
- 它需要為世界各地的用戶運行多快?
從這四個簡單的問題開始,你會聽起來像個雲專家。 與您的客戶合作,了解這些問題的答案對他們意味著什麼,考慮到不同類型的雲,您將成為解決他們需求的重要組成部分。