国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

云應用引擎技術的研究與策略

2018-01-09 11:03范平平
科技視界 2017年28期
關鍵詞:云計算關鍵技術

范平平

【摘 要】隨著互聯(lián)網技術和云計算技術的發(fā)展,應用引擎技術已經相當成熟,它是一種新的應用開發(fā)模式。這種開發(fā)模式避免了傳統(tǒng)開發(fā)模式技術門檻高、開發(fā)效率低、開發(fā)維護成本高等缺陷,可以大大提高開發(fā)者的工作效率和節(jié)省成本。本文詳細闡述了應用引擎技術的三個關鍵技術:應用托管運行技術、數(shù)據(jù)庫服務技術、開發(fā)測試服務技術。針對應用引擎的技術發(fā)展和成熟度進行了深入研究,提出了應用引擎的發(fā)展策略,具有很強的研究價值。

【關鍵詞】應用引擎;云計算;關鍵技術

1 技術概述

應用引擎是指基于網絡側的軟件資源構建的應用部署運行平臺,它整合了應用容器、中間件和數(shù)據(jù)庫等應用基礎軟件,向開發(fā)者提供應用開發(fā)、部署、運行和運維服務,與IaaS 托管技術相比,應用引擎從軟件底層架構層面解決了可擴展性、可靠性等問題,簡化了應用的部署和運維模型,讓開發(fā)者更專注于業(yè)務本身的實現(xiàn)。

2 云應用引擎涉及的主要關鍵技術

2.1 應用托管運行技術

應用托管運行技術基于IaaS 基礎資源構建云應用的托管運行環(huán)境,實現(xiàn)云應用快速部署、可靠運行、彈性擴展和安全隔離。從資源共享和隔離的角度看,應用托管運行環(huán)境可分為虛擬機容器、操作系統(tǒng)容器和中間件容器三種類型:虛擬機容器采用“虛擬機+OS+中間件容器+應用實例”的托管堆棧,每個虛擬機部署一個應用實例,多個應用實例共享同一個物理主機,以虛擬機為粒度進行資源隔離和資源調度,可嚴格控制每個應用實例的CPU、內存和磁盤配額,開發(fā)者可自主選擇和控制虛機容器中的操作系統(tǒng)和中間件,應用托管的靈活性和應用安全隔離度最高,而資源利用率和部署的效率最低。

操作系統(tǒng)容器采用“虛擬機+OS+系統(tǒng)容器+中間件容器+應用實例”的托管堆棧,基于Linux Container 等輕量級的系統(tǒng)容器,每個系統(tǒng)容器部署一個應用實例,多個應用實例共享同一個操作系統(tǒng);通過kernel namespace 實現(xiàn)對用戶容器的進程、網絡、消息、文件系統(tǒng)、主機名等的隔離,使容器對外展現(xiàn)出獨立計算機的能力,從而實現(xiàn)容器在OS 層面的隔離;通過cgroups 實現(xiàn)以系統(tǒng)容器為粒度的資源調度和度量,可控制每個應用實例的CPU、內存、磁盤配額;基于AUFS等文件系統(tǒng)的分權、分層特性構建容器鏡像,實現(xiàn)應用實例的復制、移動和重建;開發(fā)者可自主選擇和控制系統(tǒng)容器中的中間件,既兼顧了部署的靈活性,又提升了資源利用率。

中間件容器采用“虛機+OS+中間件容器+應用沙箱+應用實例”的托管堆棧,多個應用實例共享同一個中間件容器,通過應用沙箱實現(xiàn)應用內存隔離和API控制,嚴格限制應用對本地I/O、線程等資源的調用,開發(fā)者不僅無法自主選擇中間件版本,還必須按照中間件容器的API 限制對應用進行適當?shù)母脑欤@種類型的容器其資源利用率和部署速度最高,而部署靈活性最差。

2.2 數(shù)據(jù)庫服務技術

數(shù)據(jù)庫服務為托管應用提供多租戶的關系或非關系數(shù)據(jù)庫服務,開發(fā)者以租賃的方式使用數(shù)據(jù)庫服務,無需關心數(shù)據(jù)庫的部署和維護。數(shù)據(jù)庫服務主要分為SQL 數(shù)據(jù)庫服務、NoSQL 數(shù)據(jù)庫服務兩種類型:

SQL 數(shù)據(jù)服務以傳統(tǒng)關系數(shù)據(jù)庫為基礎,為應用提供兼容傳統(tǒng)關系數(shù)據(jù)模型、支持ACID強一致性事務數(shù)據(jù)庫服務,如MysqlCat、PostGres+、Windows SQLAzure、Oracle Apex、Database.com等。

NoSQL數(shù)據(jù)服務基于分布式非結構化數(shù)據(jù)庫提供多租戶非結構化數(shù)據(jù)的存儲、查詢和備份服務,具有良好的水平擴展能力,不支持ACID強事務一致性,只支持最終事務一致性,如Garantia Data、MongoDB。

2.3 開發(fā)測試服務技術

應用開發(fā)環(huán)境用于開發(fā)可部署在應用引擎上的云計算應用,它支持應用引擎特有的開發(fā)語言,提供開發(fā)云應用所需的類庫、組件、程序框架和調試工具,降低云應用的開發(fā)門檻。應用開發(fā)環(huán)境可分為本地集成開發(fā)環(huán)境和在線Web 開發(fā)環(huán)境兩類:本地開發(fā)環(huán)境通常是在傳統(tǒng)的IDE(如Eclipse、VisualStudio)上集成了開發(fā)云應用的專用插件,云應用在本地完成開發(fā)調試之后再打包部署到應用引擎上;在線Web 開發(fā)環(huán)境是基于瀏覽器的一種在線開發(fā)工具(如CloudIDE、Force.com),它集成了構建Web 應用所需的模板和控件,開發(fā)的應用可以直接加載到應用引擎上運行。

應用測試環(huán)境提供了用于測試和驗證云應用的工具和服務,包括仿真測試環(huán)境和真實測試環(huán)境:仿真測試環(huán)境是應用引擎的模擬器,可模擬應用引擎的接口、行為和功能,供開發(fā)者在本地對云應用進行測試;真實測試環(huán)境是可進行端到端真實測試的多租戶測試平臺,通常是全功能的應用引擎副本或生產環(huán)境的應用引擎測試去,真實測試環(huán)境擁有與應用引擎相同的功能,僅僅在平臺資源和訪問對象上受到一定限制。

3 云應用引擎技術的主要技術發(fā)展

(1)開源技術逐漸成為主流應用引擎的普遍選擇,最大的互聯(lián)網公有PaaS平臺Heroku 和最大的私有PaaS 平臺CloudFoundry 均完全采用開源的容器和數(shù)據(jù)庫,最大的企業(yè)PaaS 平臺Microsoft Azure 也開始引入開源的Hadoop、ode.JS。

(2)硬件資源池逐步向軟件資源池遷移,在IaaS 硬件資源的基礎上疊加中間件軟件資源池,提供IaaS+中間件服務已成為Amazon、Microsoft、阿里等諸多國內外云運營商的選擇。

(3)強化了移動應用的服務端支持,Azure、Heroku、AppFog、DotCloud、CloudFoundry、Parse 等主流應用引擎均提供了RESTFul 服務生成、JSON 消息處理和WebSocket 服務端框架以簡化移動應用服務端的開發(fā)。

(4)操作系統(tǒng)容器技術的發(fā)展, Docker的分層鏡像技術提供了輕量級、可移植、增量式的應用部署方案,有助于實現(xiàn)應用的自動化部署、增量升級和統(tǒng)一監(jiān)控管理。

(5)應用集群部署技術的發(fā)展,Cloudify 提供了基于腳本編排的應用集群部署技術,通過應用集群部署腳本快速完成大型應用集群的部署,包括應用容

器、數(shù)據(jù)庫、負載均衡的安裝、配置和激活。

(6)NewSql 數(shù)據(jù)庫技術的興起,NewSQL 數(shù)據(jù)庫在SQL 數(shù)據(jù)庫的基礎上引入了內存計算、透明分片和分布式事務機制,大大增強了SQL 數(shù)據(jù)庫的性能和容量擴展能力。

4 云應用引擎技術應用成熟度

(1)應用托管運行技術方面

基于虛擬機容器的應用托管技術已發(fā)展成熟,亞馬遜、Microsoft、IBM 等傳統(tǒng)IaaS 廠家都已在其公有或私有IaaS 平臺上推出IaaS+中間件形式的應用托管服務,開源的Cloudify 實現(xiàn)了基于虛機容器的應用集群自動化部署、調度和監(jiān)控,逐步在國內外的多個私有PaaS 項目中得到應用。

基于中間件容器的應用引擎如GAE164、HeroKu,雖然目前占據(jù)了最大的互聯(lián)網應用引擎市場份額,然而由于多應用共享中間件帶來的安全隔離度低、系統(tǒng)資源爭用沖突、應用遷移困難等問題仍然存在,導致這類應用引擎主要還是用于小微型互聯(lián)網應用托管。

(2)數(shù)據(jù)庫服務技術方面

SQL 關系數(shù)據(jù)庫服務技術已基本成熟,業(yè)界已出現(xiàn)多種商用級SQL 數(shù)據(jù)庫服務產品,主流的互聯(lián)網公有云服務提供商大多提供基于Mysql 或PostgreSQL的開源SQL 數(shù)據(jù)庫服務。高性能的NewSql 數(shù)據(jù)庫產品也開始出現(xiàn),號稱全球最快的SQL 數(shù)據(jù)庫MemSQL 能達到150 萬TPS,Google 也逐步將廣告等核心業(yè)務從Mysql 分片集群中遷移到支持PB 級數(shù)據(jù)量、提供全局事務一致性和跨數(shù)據(jù)中心可靠性的Spanner/F1 數(shù)據(jù)庫上。

分布式數(shù)據(jù)庫服務仍在不斷發(fā)展之中,目前最成熟的NoSQL數(shù)據(jù)庫是MongoDB,已經在GAE、Azure 等應用引擎中商用。

(3)開發(fā)測試服務技術方面

主流的云應用開發(fā)環(huán)境仍以基于離線IDE 提供云能力組件和插件的形式為主,在線開發(fā)環(huán)境仍然不夠成熟,多用于腳本式、配置式的后臺應用開發(fā)或者終端應用開發(fā)。

(4)運營商應用進展

國外運營商方面,AT&T 推出了IaaS+中間件的通用應用托管環(huán)境和基于LongJump的SaaS應用托管環(huán)境。

國內運營商主要將應用引擎用于移動互聯(lián)網應用托管和企業(yè)IT 系統(tǒng)架構轉型,中國移動南方基地推出了MM 應用引擎,面向移動互聯(lián)網應用提供Java 和PHP 應用托管運行環(huán)境以及Mysql 和Memcache 數(shù)據(jù)服務,中國聯(lián)通通過ITPaaS 平臺整合了IaaS 云資源、中間件/數(shù)據(jù)庫資源池、技術組件庫和業(yè)務組件庫,初步實現(xiàn)集團IT 系統(tǒng)架構的標準化,采用標準化開源技術重構了MSS 等集團級IT 系統(tǒng),取得了IT 系統(tǒng)架構轉型的階段性進展。

(5)云應用引擎標準化進展

云應用引擎標準化方面,目前得到業(yè)界較為認可的標準是OASIS 的CAMP和TOSCA兩項標準。TOSCA定義了一種標準化語言用來描述基于云計算的web 服務拓撲、包含的組件、組件之間的關系以及管理這些web 服務的創(chuàng)建和修改流程;CAMP 定義了一套云應用引擎組件和API 從而能夠實現(xiàn)云計算環(huán)境中管理應用的構建、運行、監(jiān)控、運維、補丁等操作。

中國電信在從2010年開始PaaS試點和大型平臺云化工作,在虛機單平臺應用引擎、大型平臺云化遷移、傳統(tǒng)數(shù)據(jù)庫云化遷移等方面有較多的積累,而在多平臺應用引擎、分布式數(shù)據(jù)庫服務、私有PaaS 平臺、開源基礎軟件池化、業(yè)務平臺架構轉型等方面與業(yè)界的差距較大。

5 云應用引擎技術發(fā)展策略

(1)以合作伙伴需求為導向, 依托企業(yè)優(yōu)勢能力資源,借鑒互聯(lián)網業(yè)界最佳實踐,基于成熟的開源應用引擎、云數(shù)據(jù)庫和云應用開發(fā)框架,打造業(yè)務網絡和IT 系統(tǒng)的軟件定義平臺(Software Defined Platform),推進中國業(yè)務平臺架構轉型,實現(xiàn)業(yè)務平臺架構標準化、部署自動化、運維智能化。

(2)積極推進IaaS+中間件模式,重點研究中間件/數(shù)據(jù)庫池化、標準化技術,適時在IaaS 資源池的基礎上引入成熟的商用或開源的中間件、數(shù)據(jù)庫,提供優(yōu)質的基礎軟件租賃服務。

(3)基于PaaS 應用引擎推進業(yè)務平臺軟件技術標準化體系,實現(xiàn)業(yè)務平臺的架構和技術標準化,規(guī)范新興業(yè)務平臺的開發(fā)、部署和運維流程。

(4)以重點行業(yè)為切入點,提供行業(yè)共性應用框架和應用模版,實現(xiàn)行業(yè)應用快速定制,推進行業(yè)應用孵化創(chuàng)新。

6 結束語

論文對應用引擎技術三種關鍵技術進行了深入分析,可以看出應用引擎技術已經相當完善。通過其技術發(fā)展和技術成熟度的分析可以看出應用引擎是公司云戰(zhàn)略的重要組成部分。因此應用引擎技術具有重要的理論價值和現(xiàn)實意義。

【參考文獻】

[1]袁卉欣,葉德建.面向智能移動終端的應用引擎系統(tǒng)[J].微型電腦應用.2015,31(9):9-12.

[2]王碩,孫鵬,郭志川,胡琳琳.嵌入式Web應用引擎的設計與實現(xiàn)[J].網絡新媒體技術.2016,5(1):38-43.

[3]徐鵬,陳思,蘇森.互聯(lián)網應用PaaS平臺體系結構[J].北京郵電大學學報.2012,35(1):121-122.

猜你喜歡
云計算關鍵技術
小麥春季化控要掌握關鍵技術
棉花追肥關鍵技術
成功育雛的關鍵技術
老蘋果園更新改造的關鍵技術
跨座式單軌與中低速磁浮信號系統(tǒng)的關鍵技術
杉木萌芽更新關鍵技術
實驗云:理論教學與實驗教學深度融合的助推器