①雲計算常識入門
②雲計算架構搭建
③AWS雲架構實戰數據庫阿森全新專欄《雲計算從入門到上癮》,限時早鳥上線>>>https://blog.51cto.com/cloumn/detail/101編程
筆者從2018年下半年開始研究公有云服務,契機是因爲公司領導想將一部分業務轉向雲端。筆者向身邊不少人請教,發現傳統行業用雲計算的人還不是特別多,不少人對於雲的理解比較片面和極端,一些人把雲計算僅僅是理解爲虛擬機,他們用雲計算就是在阿里雲或騰訊雲上建不少主機;一些人認爲雲計算無比可靠,不須要冗餘和備份;一些人認爲只要用雲,就必定能省錢;還有一些人鼓吹去雲化。正如從不一樣的角度看問題,獲得的答案是不同的。從雲計算使用者、正在上雲的使用者、雲計算銷售、管理者來看,他們眼中的雲計算也是不同的。安全
今天,筆者是作爲傳統的IT工程師,向雲計算轉型的工程師,雲計算的學習者和使用者來看待雲計算,也向各類讀者來聊聊傳統IT工程師眼中的雲計算。服務器
在學習雲計算以前,咱們先來搞清楚雲計算是什麼。雲計算服務,即雲服務。中國雲計算服務網的定義是:指能夠拿來做爲服務提供使用的雲計算產品。包括雲主機、雲空間、雲開發、雲測試和綜合類產品等。官方的定義囉嗦一堆,筆者總結爲「雲計算就是按需的資源服務」。你們看下窗外藍天上的白雲,是一塊一塊的。能夠是圓形的,能夠是方形的,能夠拼成小貓,也能夠拼成小狗,是沒有一個固定的形態的。再舉個例子來講,雲計算就是用現成的,吃現成的。傳統的數據中心能夠理解爲是本身買來電飯鍋,電磁爐,麪粉,蔬菜,調料,而後本身當廚師或請個廚師來作飯,作菜,它是基於你的設備的,你須要存儲空間就要買硬盤,須要計算資源就要買服務器,須要網絡就要買交換機,而後搭建應用,數據庫,部署代碼,纔能有成果(包子或饅頭吃);而云計算就是花錢吃,能夠直接花錢訂外賣(這就是SaaS,全包服務,連門也不用出),能夠去吃自助(至關於PaaS,商家提供平臺,吃什麼本身決定);也能夠去如今遊行的那種DIY吃飯,店家提供炊具,水電,你拿着食材去了本身作(至關於IaaS,商家提供基礎架構,你本身作飯)。能夠說,雲計算就是雲計算服務商把資源進行池化整合,再以服務的形式打包進行售賣,而用戶不須要再建設機房,不須要關心動力,電力,製冷等環境系統,不須要再關心固定資產投入,只須要按本身的需求來購買相應的雲計算資源便可。仍是以吃舉例,你之前10我的吃包子,本身作的話要計算買多大的鍋,買多少麪粉才能作出夠10我的吃的包子,而使用雲計算之後,你直接打電話訂10我的的包子就好了。幾年前筆者對雲計算也是嗤之以鼻,覺得雲計算就是虛機而已,其實也是一個不完整的認識。虛機只是雲計算Iaas中的一種。網絡
瞭解了什麼是雲計算以後,咱們的問題就是那爲何要用雲計算呢,好好的本身的數據中心,本身的服務器不用,幹啥非要上雲呢?如下就是雲計算的優點架構
靈活性和快速的應用:這是雲計算的第一大優點,即靈活快速的部署。咱們本身建設一個IT系統,哪怕只是一個應用,也須要最少一臺服務器,一臺交換機,一個機櫃,哪怕這個應用只須要16G內存,50G硬盤。而相應的,還須要UPS,空調,這看起來太不合適了,而使用雲計算,你上阿里雲或AWS開一臺16G內存,50G硬盤的虛機便可,什麼機房,UPS,空調,機櫃,服務器,存儲都不用管了,這就是靈活性。而對於一些小企業或初創公司來講,哪有錢來建機房,買設備,雲計算這時候就是最佳選擇了。再說快速應用,一個小企業原來業務量只有1000人,只須要一臺服務器,但隨着業務的增長,一個月後業務就須要10臺服務器來處理,這時候若是是使用自建的方案,光采購的時間就得3個月,別說部署應用了,而使用雲計算,只須要10分鐘再買10臺虛機就好了,這就是靈活性。負載均衡
按需使用,按需付費:在企業的發展過程當中,業務量是有增有減的。在傳統的自建機房模式中,咱們採購服務器總會留有一些餘量作備用,而這些資源平時是用不到的。而在雲計算下,則用戶不須要提早準備資源,雲廠商的資源能夠理解爲永無止境,用戶只須要用多少,買多少就能夠。我能夠買1年,1個月,1天,1個小時,甚至1分鐘的資源。例如電商網站在平時只須要100臺虛擬機就夠用,而在作活動的時候須要1000臺,但只須要10天,因而就買1000臺10天就行了,並且只須要付10天的錢,若是是傳統的方案,則要本身買1000臺服務器,而後一年中其餘的時間這些設備都在空閒,並且還在費你的電。用多少,買多少,花多少錢這是雲計算的一大優點。舉一個實際的例子,一個軟件開發公司作項目,項目時間爲半年,他們須要10臺服務器,若是是傳統方案,則要買10臺硬件服務器,一臺交換機,還要租一個機櫃;若是是虛擬化方案,則要買2臺服務器,一臺交換機,租一個機櫃;而使用雲計算,則只須要付費買10臺虛擬機,半年時間便可,顯然,雲計算的成本在這種狀況下是大大低於傳統方案的。而有些同窗會說,我買的硬件服務器之後還能夠再用啊。這一看就是技術工程師思想,老闆只會想這個項目要用到多少錢,而不會考慮說之後還會用;當你投標一個項目的時候,你使用硬件的成本是別人公司使用雲計算成本的兩倍,這時候你連標都中不了,後面啥也沒有了。運維
將固定資產支出轉變爲運營支出:這個優點可能一些同窗一開始不太明白,首先一個企業,或者說站在甲方的角度,一個IT部門是會存在兩種成本支出的。一種是固定資產,即你買了一件東西,它就是你的了。例如買了10臺服務器,1臺存儲,5臺交換機,這些東西就永遠是公司的了,這叫作固定資產,是固定的,固定資源也叫作CAPEX。第二種是運營費用,即你買了1臺服務器,12W,但每一年須要再給供應商1萬元/每一年作爲維保,這個維保費用就叫作運營費用,它是持續在花的,每一年都須要去付。像維保費用,供應商調試費用,帶寬費用,這些在運營時持續須要的費用,一旦不交就中止服務了,這種就是運營支出,也叫OPEX。再簡單理解,CAPEX就是買東西,永遠是本身的,OPEX就是租東西,租一天是一天,用一天花一天。講完這兩點,咱們再返回來看,傳統的自建方案就是CAPEX支出,由於買來的服務器都是本身的;而云計算的支出就是OPEX,一旦你不交錢了,啥也沒了。而在企業的運營過程當中,老闆們更喜歡運營支出,這樣他們可以評估費用的花費,預估預算。例如老闆能夠說OA系統每一年花20萬服務器成本,是用的AWS的雲計算。而若是採購的硬件服務器,第一年採購設備花了60萬,以後每一年10萬維保,則老闆很差評估OA到底每一年花多少錢,本身的運營成本究竟是在增長仍是在減小,這個費用如何計算。再有,可能老闆去一下申請60年也很難申請到。總結一下,雲計算將固定資產轉變爲了運營費用,更加利於企業投入。ide
成本下降:成本下降就是省錢,無論幹啥子事,誰不但願省錢呢。雲計算服務商的一大賣點就是省錢。咱們來談一談雲計算是如何省錢的。在傳統的IT下,咱們有購買固定資產的支出,就是買服務器、存儲、交換機、防火牆、路由器、UPS、機櫃花的錢,有維保的費用,即服務器、存儲、交換機、UPS等等的維保費用,有維護這些設備的工程師的人力成本支出,有購買操做系統License,應用程序License的費用,這些都是IT的成本支出。而在使用雲計算服務之後,固定資產支出都沒有了,變成了按時間付費的運營成本,每一年的維保費用也沒有,統一在雲計算服務費用中了,各類應用程序的License也能夠包含在雲計算服務器一塊兒購買,而既然沒有服務器、存儲、交換機這些硬件了,這些工程師也就不用了,這我的力成本也就省下來了,至關於你的雲計算花的錢包括了機房、電力、製冷、硬件維保、軟件許可,人力運維成本,總的算下帳來是省了好多錢,固然能省多少錢要看怎麼算。反正是能省不少錢。這個道理是沒錯的,尤爲在西方國家人力成本很高,不加班,全部產品都正版,但云計算的費用較低的狀況下(以AWS舉例,美國的比亞洲和中國便宜不少),但實際狀況是在國內,初創或一些小型企業,人力成本在老闆看來不是成本,員工拼命加班,一半產品不是正版的狀況下,從傳統的IT架構遷移到雲環境,並不必定能省到錢。筆者舉例,一個企業有100臺服務器,用的一半是Windows,一半是Linux,其中Windows都不是正版,並且100臺服務器都不買維保,買了一直用到壞,工程師一個當仨個用,每天加班,出了問題就用人扛,服務死了半夜起來重啓,硬盤壞了週末來換,在這種狀況下把現有的環境遷移到雲上,算一下成本是省不了錢的。因此這一點咱們也要認識到,雲計算對於一部分傳統公司,省錢可能並非最大的優點,反而要真正用起來可能會比本身建設要費不少錢。這個主要看如何來考慮成本的問題,以及公司當前的業務方式。學習
可靠性:談到可靠性,這確實是雲計算的一個優點。雲服務商有專業的IT建設團隊,專業的機房,供電,製冷,冗餘設施,能夠作到99.95%甚至更高的可用性。例如AWS有多個區域,每一個區域有多個可用區(至關因而數據中心集羣),服務器、存儲、網絡都提供了冗餘和高可用,這是通常小企業所難以作到的。若是自建的話每一個業務都要兩臺物理服務器,兩臺存儲,兩臺交換機,那成本就實在是過高了,而云服務器經過大規模採購,建設實現了這一點,用戶只須要使用它的優點就行了。但要注意的是,雲服務商也不是萬無一失的,即便他們已經構建了高可用,但也沒有承諾百分之百的可用,所以咱們在設計的時候仍要考慮可用性,也要考慮數據的備份和災難恢復。AWS以前也已經出現過屢次故障,騰訊雲以前一個用戶的數據就是徹底丟失找不回來了(網上可找到相關資料),不要把雲計算當成絕對可靠。
可擴展性:傳統的本地建設當業務增長,擴容的時候是很是費力的,無論是網絡、存儲仍是業務。而在雲環境下會變得更簡單。首先採購週期縮短,傳統架構要採購硬件,就須要幾個月,使用雲後,只須要點幾下;第二操做更加簡單,傳統架構下擴容須要設備上架,連線,有時候還須要停機,而在雲環境下只須要在一個網頁操做就能夠了。再有一個,就是雲廠商的服務每每是遍及全球,例如AWS在全球有22個區域,即在全球有22個城市有AWS的服務,而且全部區域之間都是經過AWS的骨幹網相鏈接,用戶無論在全球哪一個國家開展業務均可以就近把服務開啓在當地,而且能夠經過AWS內部的網絡服務把本身的內網打通,而徹底不用本身建機房,買硬件設備等操做。
咱們瞭解了什麼是雲計算和雲計算的優點以後,可能有人想問,我是搞網絡的,我是搞服務器的,我又不是作雲計算的,我也不打算作雲計算,我學這東西幹什麼。那筆者想說的,無論咱們如今作什麼,咱們都須要學習和了解最新的知識,咱們可能如今不使用它,但一旦使用,咱們就有儲備,而云計算是如今也是將來IT領域的一個趨勢,愈來愈多的公司會把業務或一部分業務放在雲端,而在雲上也有服務器,也有存儲,也有網絡,而懂得這些的人會更有競爭力。不少時候,咱們不是被同行戰勝,而是被跨行業所戰勝,康師傅不是敗給了統一,而是敗給了外賣;柯達不是輸給了膠捲,而是輸給了數碼相機。所以,咱們須要儲備知識,而云計算就是IT工程師必定要儲備的一個知識。
本系統專欄是爲初學者而講,即但願讀者在完成這個專欄的學習後,可以瞭解雲計算是什麼,雲計算的分類,基本概念,提供哪些服務,如何進行設計和基礎的實施。和大牛聊天的時候不至於落伍,和客戶聊天的時候能夠吹牛,也便於之後更加深刻的學習。在課堂的選擇上,筆者選擇了亞馬遜的AWS來進行講解,比較其餘國內的公有云雲服務,AWS開放性更好,提供一年的免費帳號,不少實驗讀者能夠本身註冊進行實驗而不用花錢;在文檔上,AWS的文檔要更加豐富,包括官網的文檔中英文都有,還有一些電子書;在技術上,AWS是第一個提出雲計算並開始出售雲計算的企業,不少技術都是它發明的,更加先進。而技術這個東西,是一通百通,關鍵在於理解。這樣的話,AWS作爲入門的教材再合適不過。
還有人會說,我據說AWS如今在國內沒人用,阿里雲,騰迅雲纔是主流。這話卻是沒錯,在國內阿里雲是擁有第一市場份額,而且技術實力也很強。由於國外的雲服務,無論是AWS仍是Azure,在國內是沒有資質直接去運營雲計算的,他們必須依託一個國內廠商來賣他們的產品,所以落地並很差,即不少功能在國內版本沒有。但在學習上,筆者以爲是相通的,尤爲是AWS是全球第一個雲計算廠家,不少雲計算廠商都有借鑑和學習AWS產品,不只功能模式類似,甚至名字都差很少。例如雲虛擬機AWS叫EC2,阿里雲叫ECS;虛擬私有網絡AWS叫VPC,阿里雲也叫VPC;雲負載均衡AWS叫ELB,阿里雲叫SLB;雲關係型數據庫都叫RDS,所以能夠說學一種其餘的再看看就明白個七八。而在新手學習的話,AWS作爲入門有免費帳號,有電子書,資源更多。
下圖是雲計算基礎架構服務的Gartner的一個魔力象限的圖,能夠看到在領導者的是亞馬遜的AWS,微軟的Azure和Google,能夠說AWS是雲基礎架構服務商的老大,咱們學AWS入門,錯不了。
本系列專欄,定位於入門初學者,將介紹AWS的基本概念,如Region區域,可用區等術語,也會介紹計算資源EC2,ELB,Auto Scaling;存儲服務,塊存儲EBS,對象存儲S3,文件存儲EFS;網絡服務VPC,NAT Gateway,DirecConnect,ROUTE53等;數據庫服務RDS,安全服務如安全組,ACL;身份管理IAM等主流的基礎服務,並會配上相應的實驗。每一個知識點事後,筆者都設計了一些實驗,你們必定要動手做一作。
再談一個如何學習的問題,其實在IT行業,無論是學習什麼知識,無論是網絡,服務器,編程仍是雲計算,很重要的一句話就是百看不如一練。光看是看不會知識的,這在雲計算上一樣適用。不少知識須要你們理解它的原理和工做過程,而這就須要你們去動手操做。想學好雲計算就去使用它,多作實驗,在實驗中理解相關的技術,這就是我想告訴你們的。
最後,但願你們看完這個專欄可以進入雲計算的學習行列。
最後,咱們來看一個企業上雲的案例。下圖是我愛我家一部分業務上AWS雲的架構圖。能夠看到,在這個案例中使用了AWS的託管負載均衡服務ELB,將流量分發給兩個不一樣可用區中的EC2,EC2上採用了容器技術,然後臺的數據庫使用了Amazon的託管的關係型數據庫RDS。而備份數據,日誌數據,WEB資源和靜態文件則使用了AWS的對象存儲S3服務。同時,因爲我愛我家只是一部分業務上雲,能夠說是一個混合雲的模型,本地數據中心使用了AWS Direct Connect的專線服務和V P N服務與AWS雲上進行連通。這能夠說是一個比較典型的雲上方案。