馮 杰
(晉中學院信息技術與工程學院,山西晉中030619)
開源IT發展新模式探析
馮 杰
(晉中學院信息技術與工程學院,山西晉中030619)
開源IT發展的新模式,就是與云計算大數據相結合,及大數據項目在云上如何實現,重點對開源促進混合云部署、基礎架構開放、DEVOPS的普及進行了論述并舉例說明。
開源;云計算;IT發展新模式
起源于美國的開源運動引發了IT界的一場革命,如今開源軟件的價值已被廣泛認同,在當前IT發展環境中作為一種技術,融入到云計算大數據的發展當中,并作為一種重要支撐推動著IT的進步和發展模式的轉變。
計算機及IT行業發展迅猛,從1946年美國賓夕法尼亞大學研制出的第一臺計算機電子數字積分機ENIAC出現,到今天經歷了將近70年的時間。在這70年里,計算機發展經歷了3個時代,分別是IBM大型機時代、C∕S時代和云計算時代。如圖1所示。在IBM大型機時代,相應的軟件及硬件由IBM等大型公司開發,所有的軟件硬件版權歸IBM等公司所有。到了C∕S時代,在client端大部分系統為Microsoft windows,而Server端則為Unix Server,有 Sun Microsystems Solaris、IBM AIX、Hewlett Packard UniX。相應的軟硬件版權仍舊由相應公司所有。進入云計算時代,萬物互聯的構想不斷的實現著,出現了Hadoop分布式系統基礎架構、OpenStack云計算管理平臺,所有的軟件源代碼都是開放的。新模式集中體現在開放源代碼上。
新的應用模式帶來新的計算平臺。為了滿足強決策洞察力和高增長率,新的計算平臺利用特殊的技術來處理大量的數據應對多樣化的信息資產。包括大規模并行處理數據庫、數據挖掘電網、分布式文件系統、分布式數據庫、云計算平臺、互聯網和可擴展的存儲系統。在新的形勢下,IT行業的發展和應用部署使用開源的形式包括代碼的開放以及與開源社區的配合。

圖1 計算機發展模式
新的應用模式也帶來新的基礎架構。在智能終端上廣泛地應用著嵌入式系統,其中在智能手機上超過80%的系統運行著Android系統。Android則是一種基于Linux的自由及開放源代碼的操作系統。在服務器層面上,美國的Amazon、Google以及中國的BAT(百度、阿里巴巴、騰訊)都廣泛地部署著以云技術為核心的服務平臺。顯然終端與服務平臺都在走向開源之路,與此同時使得新的應用的產生也更為快速和靈活。
新的應用模式也帶來了存儲與網絡的革新。Ceph既是一個Linux PB級分布式文件系統,還是一個有企業級功能的對象存儲生態環境。從Linux 2.6.34開始已經集成入內核之中,作為Linux的文件系統備選之一。可以實現PB級容量和多種工作負載的高效性并且有很高的可靠性,是目前Open-Stack系統中較為重要的開源存儲解方案。SDN(Software Defined Network)軟件定義網絡,是一種新型網絡創新架構和網絡虛擬化實現的方式。SDN可避免由業務需求發生變動,帶來的重新修改網絡設備配置的繁瑣工作。完全開放的控制權使得用戶可以自定義網絡中的路由及傳輸策略,更好的實現數據交換性能。
大多數IT廠商和CTO都提出未來是混合云的時代。企業私有云內部的硬件資源配置較低,企業需要將業務分流到從外部公有云“臨時租借”來的資源上,并在使用完畢后釋放資源,這便是混合云。對于混合云而言,多數客戶會選擇公有云來完成敏捷性和高效可用性。保證數據的安全性也尤為重要,將機密數據存放在私有云中,私有云和公有云的對接便成了關鍵。開源云計算管理平臺OpenStack是由Apache許可證授權的自由軟件和開放源代碼項目。有超過130家企業及1350位開發者對OpenStack社區進行支持。OpenStack社區包含Nova虛擬服務器部署和業務計算模塊以及Swift分布式云存儲兩大模塊。支持幾乎所有類型的云環境,可對公有云和私有云的建設與管理提供可靠支持。Openshift的VMM模型是部署簡單、擴展方便、標準統一的云計算管理平臺。如圖2所示。安裝Openshift需要提前解決軟件依賴關系,使用下面命令即可有效解決。
yum-y install swig libvirt-python libvirt qemukvm python-pip gcc make gcc-c++patch m4 pythondevel libxml2-devel libxslt-devel libgsasl-devel openldap-devel sqlite-devel openssl-devel wget telnet gpxe-bootimgs gpxe-roms gpxe-roms-qemu dmidecode git scsi-target-utils kpartx socat vconfig aoetools.

圖2 OpenshiftVMM架構
在實踐應用中,位于新加坡的南洋理工大學(NTU)是全球頂尖的科技大學,下設工、理、商、文四大學院和自主學院師資超過5500多人。該校有6個跨學科研究群組,共計33所研究院,同時設有4個跨領域科技研究走廊和6個科研中心。在科研高峰期NTU需要大量的服務器資源進行運算,在平時期需要運算資源量相對較少,投資大量的硬件資源顯然不合實際。為此需要租用公有云在科研高峰期滿足運算。同時NTU還有大量的機密性數據在私有云存儲,如何保障業務量大時的運算資源租用和公有云私有云的遷移顯然成了巨大的問題。利用OpenStack可以使得NTU將一整套網絡方案遷移到Amazon,并且使用統一的管理界面。使得NTU可以利用擴展資源進行學術活動的支持。
硬件與系統的部署及維護仍是一種綁定的緊耦合模式,限制了系統的靈活性,產生了孤島化,使新業務無法快速上線。虛擬化技術實現了“運行狀態”下的軟硬件的解耦,使得應用軟件可以打破硬件的限制,可以跨越不同廠商的不同硬件自由遷移而不需要中斷業務運行。進一步的發展將是基于同一架構搭建一個可以跨物理設備、數據中心、私有云和公有云邊界的云平臺。進而跨傳統應用和新型應用。大型企業每2~3年數據總量就會翻一番。大量的數據及應用系統的安全成了急需解決的問題,多數用戶將數據存放在VMware之上,然而隨著業務量的增大用戶迫切需要尋找VMware的一種開放解決方案。使得數據的存儲更加安全同時實現在開放環境下的跨平臺應用?;A架構如圖3所示。

圖3 基礎架構
創立于1957年的日本卡西歐(CASIO)有著大量的數據存儲需求,同時也有很多業務軟件,CASIO需要將自己的云平臺從VMware上遷移出來運行在開放平臺之上來滿足安全性和數據的存儲,同時達到統一基礎架構的目的,實現跨平臺的應用。
DevOps(Development、Operations組合)是開發、IT運營和質量保障三者的交集。是過程、方法與系統的統稱。DevOps可以促進各個部門的溝通、協作和整合。與傳統模式的軟件開發相比較。DevOps不僅考慮軟件部署問題,還會考慮各個部門間溝通協作以及流程和方法。以往開發人員將大量的精力放在開發環境的配置上,注重基礎架構,使得開發人員不能高效的開發軟件。在開放的環境里RedHat開發出了云計算服務平臺OpenShift,此開源生態系統支持Java,Ruby和PHP等編程語言。同時集成多種開發環境,如Eclipse integration、Jenkins和JBoss Developer Studio等??蔀橐苿討?、數據庫提供服務,使編程人員可以快速構建和發布web應用。云計算分為Infrastructure-as-a-Service、Platform-as-a-Service、Software-as-a-Service幾個層次。DevOps的普及帶來Openshift的廣泛應用,也讓更多的開發人員轉向開源。OpenShift提供企業級JBoss服務和第一個公共平臺即服務的功能PaaS,給予了開發者廣泛的平臺、語言和框架支持,讓開發人員在Linux、虛擬化和JBoss為基礎的生態環境中進行開發。進而屏蔽了底層架構的復雜性使得部署到云端變成一條簡單的命令。

思科公司(Cisco)是全球領先的網絡解決方案供應商。全球80%的互聯網通信使用思科公司制造的路由器、交換機和其他設備。Cisco公司有超過5000名開發人員,15000個JVM(Java Virtual Machine),這使得公司的開發者要花費大量的時間在基礎架構上。開發人員大量的時間用在架構和調試基礎設施上不利于軟件的開發。Cisco公司使用OpenShift來滿足DevOps需求,通過使用OpenShift使得配置的方式和軟件棧變得更加標準,使開發者將時間全部用在開發上,而不是基礎架構上。

圖4 開源軟件需求
隨著大數據及云計算的發展使得開發軟件具有透明、共享、敏捷、經濟的發展趨勢。DebOps、Storj、Neovim、CockroachDB、Kubernetes、Open Bazaar、IPFS、cAdvisor、Terraform、Docker Fig、Drone一大批優秀的開放源代碼(Open Source)項目使得新的IT模式得到更進一步發展?!爸噩F當年軟件界合作互助的團結精神”使得開發者可以通力合作完成軟件的編寫與測試,盡可能的減少錯誤代碼的產生同時也使得軟件更加的安全。開源軟件需求如圖4。使用VNC使開源軟件在服務器上運行和調試更加方便快捷,前提需要iptables功能,命令為:iptables-I INPUT-d 60.12.206.99-p tcp-m multiport--dports 5900:6000-j ACCEPT。
開源軟件的廣泛運用,使得一個新軟件時代的到來。開源也促進了云計算的發展,成為當今IT發展最主要的方向。以較低的開發成本,為用戶提供安全、穩定的軟件應用。為此,了解及掌握以linux為代表的開發源代碼技術,將是所有IT從業人員在已經到來的新軟件時代中生存和發展的必要手段。目前云計算還處于早期水平,在不久的將來,伴隨著開源軟件的發展,云計算水平也必將迎來全新的發展。
[1]Michael Miller.Cloud Computing[M].北京:機械工業出版社,2009.
[2]John Rhoton.Cloud Computing Explained:Implementation Handbook for Enterprises[M].北京:機械工業出版社,2011.
[3]王鵬.走進云計算[M].北京:人民郵電出版社,2009.
[4]周洪波.云計算:技術、應用、標準和商業模式[M].北京:電子工業出版社,2011.
〔責任編輯 高彩云〕
Study on New Mode of Development of Open Source IT
FENG Jie
(Information Center of Jinzhong University,Jinzhong Shanxi,030619)
New development mode of open source IT focuses on the combination of mass data in cloud computation as well as how to deal with large dataset project in cloud computing. This thesis mainly discussed and illustrated with examples about how to improve the multi-cloud deployment,the openness of infrastructure and popularization of DEVELOPS.
open source;cloud computing;development mode of open source IT
TP391.9
A
1674-0874(2015)06-0028-03
2015-09-06
馮杰(1980-),男,山西臨縣人,碩士,助教,研究方向:計算機網絡應用。