摘要:背景當(dāng)下后都能在手機(jī)鍵盤(pán)上敲字如飛,后的都可以坦然的搖微信,移動(dòng)互聯(lián)網(wǎng)可謂炙手可熱。傳統(tǒng)移動(dòng)開(kāi)發(fā)技術(shù)方案難題終端移動(dòng)平臺(tái)太多微信而且不同平臺(tái)還有版本差異,對(duì)于開(kāi)發(fā)調(diào)試簡(jiǎn)直是一場(chǎng)噩夢(mèng),要想實(shí)現(xiàn)統(tǒng)一覆蓋沒(méi)有雄厚的資本支持是非常困難的。
背景
當(dāng)下10后都能在手機(jī)鍵盤(pán)上敲字如飛,60后的都可以坦然的搖微信,移動(dòng)互聯(lián)網(wǎng)可謂炙手可熱。隨著智能手機(jī)的快速發(fā)展,移動(dòng)APP作為登入移動(dòng)互聯(lián)網(wǎng)最便捷的方式,扼守著移動(dòng)互聯(lián)網(wǎng)的入口?,F(xiàn)在這類(lèi)軟件被越來(lái)越多的人所青睞,在沒(méi)有大量資金的情況下,手機(jī)APP是中小企業(yè)發(fā)展方向的一個(gè)很好選擇。對(duì)于個(gè)人和企業(yè)移動(dòng)APP 已經(jīng)是創(chuàng)業(yè)和發(fā)展的必備工具。移動(dòng)互聯(lián)網(wǎng)APP開(kāi)發(fā),對(duì)于企業(yè)來(lái)說(shuō)面臨著項(xiàng)目周期,資源投入,推廣等諸多問(wèn)題,而對(duì)于個(gè)人更是望而卻步。
傳統(tǒng)移動(dòng)開(kāi)發(fā)技術(shù)方案:
終端移動(dòng)平臺(tái)太多:Android,IOS,Windows Phone,微信 …. 而且不同平臺(tái)還有版本差異,對(duì)于開(kāi)發(fā)調(diào)試簡(jiǎn)直是一場(chǎng)噩夢(mèng),要想實(shí)現(xiàn)統(tǒng)一覆蓋沒(méi)有雄厚的資本支持是非常困難的。
開(kāi)發(fā)成本:招人難,找到合適的更難,成本高,移動(dòng)開(kāi)發(fā)門(mén)檻障礙
撿了芝麻丟了西瓜:企業(yè)把精力投入到自己不擅長(zhǎng)的領(lǐng)域大多時(shí)候并不是一件好事情,對(duì)于個(gè)人來(lái)說(shuō)更是如此。
全站解決方案:一個(gè)優(yōu)秀的APP除了核心業(yè)務(wù)同時(shí)也需要其他優(yōu)秀的組件,如:推送,用戶(hù)行為分析,市場(chǎng)活動(dòng),數(shù)據(jù)統(tǒng)計(jì)等等。
運(yùn)維困難:要保證APP的穩(wěn)定可靠運(yùn)行,運(yùn)維是必不可少的一部分,這些工作需要專(zhuān)業(yè)的運(yùn)維團(tuán)隊(duì)來(lái)做。這樣也加重了企業(yè)的負(fù)擔(dān)。
現(xiàn)在是一個(gè)屌絲逆襲的時(shí)代,為了幫助企業(yè)和個(gè)人無(wú)門(mén)檻擁有屬于自己的APP,MaxWon 應(yīng)運(yùn)而生。
MaxWon 是基于MaxLeap SaaS 云服務(wù),集成不同行業(yè)模塊,集 APP 生成,運(yùn)營(yíng),分析,自動(dòng)化運(yùn)維與一體的服務(wù),用戶(hù)只需要關(guān)心自己的業(yè)務(wù),完全擺脫上面的各種難題。
用戶(hù)組合自己想要的模塊,點(diǎn)擊生成APP,就可以生成自己想要的不同平臺(tái)的APP,包括Android,IOS,微官網(wǎng),PC官網(wǎng)。
差異化服務(wù)。由于是面向多租戶(hù)的服務(wù),不同的APP產(chǎn)生的流量可能差異很大,系統(tǒng)要能做到服務(wù)隔離和水平擴(kuò)展。
數(shù)據(jù)隔離與擴(kuò)展。為了保證數(shù)據(jù)安全,每一個(gè)APP 都會(huì)有一個(gè)獨(dú)立的DB,數(shù)據(jù)只能被自己的APP訪問(wèn),防止數(shù)據(jù)hack,保證數(shù)據(jù)安全。對(duì)于大數(shù)據(jù)量的APP,DB 能夠支持無(wú)限擴(kuò)展。
快速部署與自動(dòng)化運(yùn)維。
服務(wù)的監(jiān)控。由于服務(wù)遍布在集群的不同機(jī)器上,需要能夠監(jiān)控所有租戶(hù)服務(wù)的健康狀態(tài),保證服務(wù)的高可用行,并且能夠水平擴(kuò)展。
支持服務(wù)和數(shù)據(jù)的遷移
能獨(dú)立運(yùn)行的1.0由于MaxWon 需要支持不同行業(yè),業(yè)務(wù)就會(huì)比復(fù)雜,比較多。項(xiàng)目業(yè)務(wù)層是按模塊來(lái)劃分,通過(guò)不同模塊的組合來(lái)不同滿(mǎn)足行業(yè)的需求。
第一版架構(gòu)遵循兩個(gè)原則:第一, 以業(yè)務(wù)實(shí)現(xiàn)為目標(biāo),盡快做出產(chǎn)品原型。由于MaxLeap已經(jīng)有很多基礎(chǔ)的中間件可以直接拿來(lái)使用,如:推送,F(xiàn)AQ&Issue,支付,IM&社交等?,F(xiàn)在只需要把精力放在MaxWon 自己的業(yè)務(wù)中去。第二,快速響應(yīng)產(chǎn)品的需求,產(chǎn)品指導(dǎo)研發(fā),很多場(chǎng)景、很多的玩法必須幫助產(chǎn)品實(shí)現(xiàn),而且速度要非??欤焖俚?。
描述 | 名稱(chēng) |
---|---|
平臺(tái) | JDK 1.8 |
Web框架 | vertx-jersey(異步) |
ORM | JOOQ |
RDS | Mysql |
NoSql | Mongo |
對(duì)于大部分人來(lái)說(shuō) Vert.x可能會(huì)有點(diǎn)陌生,它是基于Netty實(shí)現(xiàn)的異步架構(gòu),和node.js 極其相似。由于之前做MaxLeap服務(wù),一直在用Vert.x做為基礎(chǔ)架構(gòu),整個(gè)團(tuán)隊(duì)對(duì)Vert.x 也很熟悉,該踩得坑也都踩過(guò)了,通過(guò)Verx-Rpc 可以直接訪問(wèn)的MaxLeap 的微服務(wù)。在使用Vert.x 時(shí)最大的感受就是不能寫(xiě)同步代碼,否則就會(huì)阻塞,導(dǎo)致導(dǎo)致服務(wù)不可用,所以我們的服務(wù)全是基于異步的方式來(lái)寫(xiě)的。由于它是一個(gè)輕量級(jí)高性能JVM應(yīng)用平臺(tái),支持多語(yǔ)言開(kāi)發(fā),它的簡(jiǎn)單actor-like 機(jī)制能幫助脫離直接基于多線程編程,天生支持分布式,以后對(duì)于服務(wù)擴(kuò)展也是水到渠成的事情。
對(duì)于ORM 并沒(méi)有使用主流的 Hibernate或者IBATIS,而是使用小眾的JOOQ。JOOQ 相對(duì)于其他ORM算是很輕量,提供了強(qiáng)大的DSL 來(lái)訪問(wèn)數(shù)據(jù)庫(kù),靈活,上手很容易,代碼非常接近sql。
JOOQ runtime schema mapping 對(duì)于多租戶(hù)應(yīng)用程序有很好的支持,可以很容易的實(shí)現(xiàn)為每個(gè)租戶(hù)分配獨(dú)立的DB。
還有一個(gè)重要的原因就是 JOOQ 已經(jīng)和Java8 的Stream API 完全融合,cool!!。函數(shù)式編程表達(dá)性強(qiáng),并且非常通用。它是數(shù)據(jù)及數(shù)據(jù)流處理的核心。Java開(kāi)發(fā)人員現(xiàn)在也都知道函數(shù)式編程,而且大家又都用過(guò)SQL。想象一下,你用SQL來(lái)聲明表來(lái)源,把數(shù)據(jù)轉(zhuǎn)化成新的元組流,然后要么將它們作為派生表提供給其它更高級(jí)的SQL語(yǔ)句來(lái)使用,要么將它們交給你的應(yīng)用程序來(lái)處理。
下面就是一段典型的Java代碼
DSLContext create = DSL.using(connection, dialect); create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count()) .from(AUTHOR) .join(BOOK).on(BOOK.AUTHOR_ID.equal(AUTHOR.ID)) .where(BOOK.LANGUAGE.equal("DE")) .and(BOOK.PUBLISHED.greaterThan("20017-01-01")) .limit(2) .offset(1) .fetch(record -> transfer(record)) .stream() .filter(ele -> null != ele) .collect(Collectors.toList());
有了JOOQ,Java 8以及Streams API,你可以寫(xiě)出強(qiáng)大的數(shù)據(jù)轉(zhuǎn)化的API,而且簡(jiǎn)單易懂。
將架構(gòu)特點(diǎn)劃分為優(yōu)點(diǎn)和缺點(diǎn)進(jìn)行描述。那么優(yōu)點(diǎn)是:
簡(jiǎn)單,易于實(shí)現(xiàn),不需要額外的基礎(chǔ)支撐
利于業(yè)務(wù)的功能快速實(shí)現(xiàn)
服務(wù)都是以Docker Container 啟動(dòng),可以實(shí)現(xiàn)快速發(fā)布與部署
?
缺點(diǎn):
不同租戶(hù)的應(yīng)用無(wú)法隔離,所有的APP 都使用相同的Container,這樣會(huì)帶來(lái)APP之間相互影響,導(dǎo)致服務(wù)不穩(wěn)定的風(fēng)險(xiǎn)。
缺少服務(wù)健康檢查。
運(yùn)維成本過(guò)大。
1.0的架構(gòu)就是一個(gè)簡(jiǎn)單的Web系統(tǒng)。負(fù)載均衡使用Nignx,并沒(méi)有細(xì)化到租戶(hù)級(jí)別。業(yè)務(wù)系統(tǒng)通過(guò)代碼模塊的形式組織各種業(yè)務(wù)就是一個(gè)簡(jiǎn)單的Web系統(tǒng),后面直接掛了數(shù)據(jù)庫(kù),比如商品、訂單、會(huì)員、客服,等等??梢钥吹?,我們這個(gè)基礎(chǔ)的架構(gòu),對(duì)外就是HTTP。當(dāng)時(shí)兩個(gè)人的小團(tuán)隊(duì)開(kāi)發(fā)各種業(yè)務(wù),我們考慮只能用最簡(jiǎn)單、最粗暴的方式實(shí)現(xiàn),能快速地實(shí)現(xiàn)業(yè)務(wù)。當(dāng)時(shí)的流量不是第一重要的問(wèn)題,也不是最主要的矛盾。
對(duì)于這個(gè)階段,總結(jié)了三點(diǎn)。第一,技術(shù)來(lái)源于業(yè)務(wù)同時(shí)提升業(yè)務(wù)發(fā)展,業(yè)務(wù)發(fā)展又反過(guò)來(lái)推動(dòng)技術(shù)的前進(jìn),他們是一個(gè)相互影響相互促進(jìn)的關(guān)系。和業(yè)務(wù)共同發(fā)展的技術(shù)才是有生命力的。第二,成熟簡(jiǎn)單的技術(shù)就是最合適的,這個(gè)理念一直貫穿始終。不要把事情復(fù)雜的形態(tài)呈現(xiàn)給大家,腦子要保持簡(jiǎn)單,不要想那么復(fù)雜的事兒。第三,要把能遇到的場(chǎng)景盡量到考慮到,以后架構(gòu)升級(jí)不至于很被動(dòng)。大家看到初始的架構(gòu)等于沒(méi)有架構(gòu),但是這種形式在這時(shí)是最符合業(yè)務(wù)需求的一個(gè),能快速迭代,能非常方便上線。
面向多租戶(hù)的2.0在MaxWon1.0時(shí)代的時(shí)候,我們的關(guān)注點(diǎn)更偏向業(yè)務(wù)的實(shí)現(xiàn),隨著用戶(hù)增長(zhǎng),性能和穩(wěn)定性問(wèn)題逐漸浮上水面,作為一個(gè)多租戶(hù)的應(yīng)用系統(tǒng),系統(tǒng)不穩(wěn)定,是非常致命的,2.0解決這些問(wèn)題也迫在眉睫。
首先要解決的就是服務(wù)分離。其中有兩種方案 :
每一個(gè)租戶(hù)APP都有屬于自己的 服務(wù) Container,這樣就解決了租戶(hù)之間的相互影響。但是 大部分 APP 訪問(wèn)點(diǎn)可能很小,甚至是僵尸應(yīng)用。雖然Docker 容器使用的資源很小,但是大量的不活躍應(yīng)用還是會(huì)浪費(fèi)掉太多的系統(tǒng)資源,資源利用率低。
按租戶(hù)的真實(shí)的訪問(wèn)量劃分為不同的組,普通規(guī)模應(yīng)用或者是僵尸應(yīng)用都公用同一組Container,中等規(guī)模應(yīng)用 某幾個(gè)使用一組Container,對(duì)于大量數(shù)據(jù)流量的應(yīng)用 獨(dú)占 同一組Container,這樣的話資源利用率就會(huì)很高。缺點(diǎn)就是 普通規(guī)模和中等規(guī)模應(yīng)用 服務(wù)之間還是會(huì)有影響,由于這兩種規(guī)模的數(shù)據(jù)訪問(wèn)的會(huì)少很多,出現(xiàn)慢查詢(xún)而導(dǎo)致拖慢整個(gè)系統(tǒng)的可能性會(huì)很小。
對(duì)比上面的兩個(gè)方案優(yōu)缺點(diǎn),基于現(xiàn)實(shí)的考慮最終選擇了第二種方案。這就需要能夠隨時(shí)監(jiān)控APP的數(shù)據(jù)訪問(wèn)量,當(dāng)某個(gè)APP訪問(wèn)量快速上升時(shí)能夠隨時(shí)獨(dú)立出服務(wù)來(lái),這樣就可以最大限度的防止租戶(hù)之前相互影響而產(chǎn)生的服務(wù)抖動(dòng)。
對(duì)于服務(wù)監(jiān)控,則采用心跳檢測(cè)的方式,每個(gè)服務(wù)Container對(duì)外暴露一組健康檢查的接口,監(jiān)控系統(tǒng)會(huì)定時(shí)的巡視所有服務(wù)的健康狀態(tài),如果由于某種原因被Kill掉,則重啟對(duì)應(yīng)Container的并產(chǎn)生告警。
對(duì)于數(shù)據(jù)存儲(chǔ)分離 也采用了同樣的思路。對(duì)于Mongo ,Pandora本身就支持按不同App 數(shù)據(jù)分治。對(duì)于Mysql代理則采用 MaxLeap 研發(fā)的 Circe組件,可以實(shí)現(xiàn)不同App數(shù)據(jù)的隔離。使用AWS ELB 解決了Circe的負(fù)載均衡與高可用。
2.0的采用了服務(wù)和數(shù)據(jù)分離的思想,現(xiàn)在回顧也并不復(fù)雜,對(duì)于碼農(nóng)來(lái)說(shuō)這種思想已經(jīng)是非常熟悉的了。如果你的產(chǎn)品功能不多,迭代不是很快,可以放慢一下腳步,停下來(lái)一段時(shí)間來(lái)集中一次重構(gòu)。但對(duì)于MaxWon來(lái)說(shuō)這一版本的迭代就像是鳥(niǎo)槍換炮,滿(mǎn)足了大部分的應(yīng)用場(chǎng)景。對(duì)于業(yè)務(wù)快速迭代,上線時(shí)間緊迫的系統(tǒng)來(lái)說(shuō),這次重構(gòu)也是一個(gè)不小的挑戰(zhàn)。
繼承了原有1.0的特點(diǎn),保留了其優(yōu)勢(shì)
解決了數(shù)據(jù)和服務(wù)隔離與擴(kuò)容的問(wèn)題
實(shí)現(xiàn)不同租戶(hù)的差異化服務(wù)
添加了服務(wù)監(jiān)控與檢查
使用docker 構(gòu)建可以完美的解決環(huán)境沖突的問(wèn)題,也可以方便快速部署和擴(kuò)容。
FROM 10.10.10.160:8010/maxleap/vertx:3.2.1 MAINTAINER ben.ma#----------------------------Copy 項(xiàng)目目錄到容器里------------------------------------------ RUN mkdir -p /opt/maxwon #覆蓋vert.x 相關(guān)配置 ADD lib/ $VERTX_HOME/lib/ ADD log4j2.xml $VERTX_HOME/conf/ ADD zookeeper.properties $VERTX_HOME/conf/ ADD config.json /opt/maxwon/ WORKDIR /opt/maxwon ENTRYPOINT ["vertx", "run", "java-hk2:as.leap.ama.module.jersey.JerseyVerticle", "--conf", "config.json"]
通過(guò)spotify docker-maven-plugin 插件,根據(jù)事先定義在項(xiàng)目中的DockerFile可以輕松的把項(xiàng)目打包成可執(zhí)行的docker Image并push到生產(chǎn)環(huán)境中。
$ mvn clean deploy -DpushImage -Pcn
Hydra: 海德拉 古希臘神話人物,是一種傳說(shuō)中有九個(gè)頭的大蛇,為冥王看守門(mén)戶(hù)。在這里Hydra 作為 MaxWon的API網(wǎng)關(guān),管理來(lái)自不同端的請(qǐng)求,根據(jù)請(qǐng)求的來(lái)源轉(zhuǎn)發(fā)到相應(yīng)的的MaxWon的服務(wù)容器組中。同時(shí)它也會(huì)管理和監(jiān)控容器狀態(tài)以及對(duì)服務(wù)的動(dòng)態(tài)擴(kuò)容。
Circe:希臘神話里一個(gè)能制造幻覺(jué)的女巫,這里用來(lái)隱喻能夠制造Mysql服務(wù)的代理的項(xiàng)目.通過(guò)它可以實(shí)現(xiàn)不同租戶(hù)的數(shù)據(jù)隔離,過(guò)濾非法,有毒的sql語(yǔ)句,保證數(shù)據(jù)隱私和安全。
Pandora:訪問(wèn)MongoDB的基礎(chǔ)組件,也是MaxLeap 核心組件之一,提供了同步和異步的兩種接口。Pandora最為核心的功能是實(shí)現(xiàn)了資源限制和數(shù)據(jù)庫(kù)訪問(wèn)的路由策略,這對(duì)數(shù)據(jù)庫(kù)進(jìn)行平滑的動(dòng)態(tài)擴(kuò)展及遷移提供了可靠的支持。感興趣的可以參考同事寫(xiě)的MONGO 集群設(shè)計(jì)
總結(jié)脫離業(yè)務(wù)談架構(gòu)都是扯淡,利用技術(shù)手段提升工作效率是好事,別陷進(jìn)去,產(chǎn)品最終拿出來(lái)說(shuō)話的還是有沒(méi)有解決用戶(hù)的問(wèn)題,而不是解決你自己的問(wèn)題。對(duì)于MaxWon 這種快速迭代的系統(tǒng),系統(tǒng)也會(huì)考慮更多的業(yè)務(wù)場(chǎng)景,體積也越來(lái)越龐大,遇到棘手的問(wèn)題也會(huì)越來(lái)越多,做好優(yōu)化的準(zhǔn)備。
系統(tǒng)要盡量保持簡(jiǎn)單,技術(shù)架構(gòu)的選型建議是尋找當(dāng)前最短路徑,然后進(jìn)行不斷優(yōu)化迭代,想一口吃個(gè)大胖子不太可能。
代碼不要寫(xiě)死。
本文作者來(lái)自 MaxLeap 團(tuán)隊(duì)_數(shù)據(jù)服務(wù)組 成員:馬傳林
馬傳林,從事開(kāi)發(fā)工作已經(jīng)有5年。當(dāng)前在MaxLeap數(shù)據(jù)服務(wù)組擔(dān)任開(kāi)發(fā)工程師,主要負(fù)責(zé)MaxWon服務(wù)器開(kāi)發(fā)。
本文鏈接:https://blog.maxleap.cn/archives/734
歡迎關(guān)注微信訂閱號(hào):從移動(dòng)到云端
歡迎加入我們的MaxLeap活動(dòng)QQ群:555973817,我們將不定期做技術(shù)分享活動(dòng)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/65919.html
摘要:作為一款優(yōu)秀的平臺(tái)系統(tǒng),其云代碼的功能如何,是如何實(shí)現(xiàn)的,又有哪些加分項(xiàng),接下來(lái)將為大家一一揭曉。當(dāng)然為了開(kāi)發(fā)者更快的開(kāi)始,同時(shí)提供了和項(xiàng)目來(lái)讓開(kāi)發(fā)者更快接觸云代碼。 云代碼的由來(lái) 隨著MBaaS的發(fā)展,取代移動(dòng)企業(yè)應(yīng)用程序平臺(tái)的趨勢(shì)也越來(lái)越明顯。MBaaS系統(tǒng)為了讓企業(yè)能方便快捷的開(kāi)發(fā)自己移動(dòng)應(yīng)用程序,提供了諸多移動(dòng)客戶(hù)端支持,有最通用的REST API,也有方便移動(dòng)開(kāi)發(fā)者的軟件開(kāi)發(fā)...
摘要:應(yīng)用的研發(fā)上線運(yùn)維運(yùn)營(yíng)形成閉環(huán),順利完成從對(duì)內(nèi)服務(wù)到公共平臺(tái)的升級(jí)。從功能角度,只能支持靜態(tài)方式設(shè)置反向代理,然后,而平臺(tái)有服務(wù)對(duì)應(yīng)的后端服務(wù)和端口是有動(dòng)態(tài)調(diào)整需求。架構(gòu)上是基礎(chǔ)組件需要進(jìn)行升級(jí),數(shù)據(jù)訪問(wèn)層日志監(jiān)控系統(tǒng)等。 介紹 ? ? ? ?MaxLeap早期是一家研發(fā)、運(yùn)營(yíng)移動(dòng)應(yīng)用和手機(jī)游戲公司,發(fā)展過(guò)程中積累了很多通用組件。這些組件很大程度幫公司在移動(dòng)研發(fā)過(guò)程中節(jié)省了時(shí)間和成本,...
摘要:創(chuàng)建一個(gè)強(qiáng)大可靠的云架構(gòu)對(duì)于和企業(yè)的長(zhǎng)期成功來(lái)說(shuō)是至關(guān)重要的。高效的云架構(gòu)不是憑空出現(xiàn)的。改變你的云存儲(chǔ)方案宣稱(chēng),專(zhuān)注于一種存儲(chǔ)類(lèi)型不是一個(gè)好的選擇。此外,為不同的數(shù)據(jù)集利用不同的云存儲(chǔ)選項(xiàng)也可以帶來(lái)性能,成本和功能上的優(yōu)勢(shì)。創(chuàng)建一個(gè)強(qiáng)大可靠的云架構(gòu)對(duì)于IT和企業(yè)的長(zhǎng)期成功來(lái)說(shuō)是至關(guān)重要的。遺憾的是,許多云架構(gòu)都是在近幾年的時(shí)間內(nèi)隨意構(gòu)建的,無(wú)法滿(mǎn)足技術(shù)和業(yè)務(wù)快速發(fā)展所帶來(lái)的需求增長(zhǎng)。如果您...
摘要:企業(yè)甚至可以通過(guò)等公司的解決方案獲得特定的云計(jì)算合作伙伴。企業(yè)不必將所有內(nèi)容遷移到云中。許多組織計(jì)劃開(kāi)始其云計(jì)算之旅。企業(yè)有機(jī)會(huì)使用真正復(fù)雜的設(shè)計(jì),這些設(shè)計(jì)需要與內(nèi)部部署資源建立連接,同時(shí)仍然可以擴(kuò)展到云中。如今,數(shù)據(jù)中心還沒(méi)有消亡。但是,數(shù)據(jù)中心的發(fā)展確實(shí)發(fā)生了變化。Bill Kleyman是一名IT行業(yè)專(zhuān)家,在其職業(yè)生涯中,一直密切關(guān)注云計(jì)算和數(shù)據(jù)中心市場(chǎng)的發(fā)展,并與一些大型全球組織合作...
摘要:是一名行業(yè)專(zhuān)家,在其職業(yè)生涯中,一直密切關(guān)注云計(jì)算和數(shù)據(jù)中心市場(chǎng)的發(fā)展,并與一些大型全球組織合作開(kāi)展項(xiàng)目。企業(yè)甚至可以通過(guò)等公司的解決方案獲得特定的云計(jì)算合作伙伴。企業(yè)不必將所有內(nèi)容遷移到云中。許多組織計(jì)劃開(kāi)始其云計(jì)算之旅。如今,數(shù)據(jù)中心還沒(méi)有消亡。但是,數(shù)據(jù)中心的發(fā)展確實(shí)發(fā)生了變化。Bill Kleyman是一名IT行業(yè)專(zhuān)家,在其職業(yè)生涯中,一直密切關(guān)注云計(jì)算和數(shù)據(jù)中心市場(chǎng)的發(fā)展,并與一些...
閱讀 806·2023-04-25 20:32
閱讀 2450·2021-11-24 10:27
閱讀 4627·2021-09-29 09:47
閱讀 2335·2021-09-28 09:36
閱讀 3728·2021-09-22 15:27
閱讀 2861·2019-08-30 15:54
閱讀 426·2019-08-30 11:06
閱讀 1329·2019-08-30 10:58