Azure School与开源
距離Azure School(https://school.azure.cn/) 的正式上線時(shí)間,2017.8.3,已經(jīng)過去了20多天了。這20多天得到了很多有幫助的建議和反饋,小伙伴們都很給力,互相幫助扶持,調(diào)整產(chǎn)品不正確的地方,快速迭代新的功能。期間我還去參加了團(tuán)隊(duì)組織的第一屆微軟云時(shí)代開發(fā)者社區(qū)生態(tài)圈會(huì)議,與會(huì)者都是在各自技術(shù)領(lǐng)域的貢獻(xiàn)者,大家都給出了很有遠(yuǎn)見的提議,比如多鼓勵(lì)業(yè)界的項(xiàng)目經(jīng)驗(yàn)分享,內(nèi)容文檔應(yīng)該多結(jié)合實(shí)際線上的操作,對(duì)于非.Net體系的技術(shù)如何借力Azure。聽完以后自己也有很多感觸,很多話都蠻講到心里去的。微軟從之前的封閉,到現(xiàn)在的擁抱開源,中間還有很長(zhǎng)很長(zhǎng)一段路要前行。如何改變開發(fā)者心中對(duì)于微軟原本呆板,封閉的形象,還需要時(shí)間的磨合,讓開發(fā)者意識(shí)還到微軟的轉(zhuǎn)變。?
我說說自己的一個(gè)經(jīng)歷,我大概是在2015年11月入職的微軟C+E云事業(yè)部的大家庭,之前一直使用Java做后端服務(wù)器的開發(fā),更早之前也有一段前端的工作經(jīng)歷。在進(jìn)入微軟之前,其實(shí)我對(duì).Net的技術(shù)并沒有太大的好感,一直停留在當(dāng)年大學(xué)時(shí)接觸.Net和Windows的認(rèn)知,這個(gè)認(rèn)知就是封閉,傻瓜,笨重。但是時(shí)過境遷,微軟已經(jīng)發(fā)生了很大的變化,當(dāng)自己好好靜心下來學(xué)習(xí),忘記自己原本的一些固執(zhí)偏見以后,發(fā)現(xiàn).Net結(jié)合Azure云服務(wù)的開發(fā)效率實(shí)在是高,對(duì)于開發(fā)者更加友好了。這種高效率體現(xiàn)在很多地方,比如語言的特性,方便的部署和拓展,借力各種現(xiàn)有的服務(wù),強(qiáng)大的本地和遠(yuǎn)程調(diào)試工具等等。?
在幾個(gè)月以前,剛剛開始做Azure School項(xiàng)目的時(shí)候,我就萌發(fā)了開源Azure School的想法,但是我也一直在反問自己,開源Azure School的意義在哪里?如果只是為了開源而開源,那么開源Azure School的意義一點(diǎn)用處都沒有。因?yàn)楫?dāng)一個(gè)項(xiàng)目要開源,它最本質(zhì)的意義是希望能夠給開發(fā)者帶來效益,比如減少開發(fā)者自己重新造輪子的時(shí)間。現(xiàn)在的大部分開源項(xiàng)目基本都是工具類的類庫(kù),或者框架居多。因?yàn)檫@些類庫(kù)和框架的分享,確實(shí)能幫助開發(fā)者,減少開發(fā)者在實(shí)際工作中的負(fù)擔(dān)。但是Azure School這個(gè)項(xiàng)目既不屬于類庫(kù),也不是什么框架,而是一個(gè)實(shí)實(shí)在在的產(chǎn)品,這個(gè)產(chǎn)品要提供給各類開發(fā)者相關(guān)的Azure技術(shù)文檔,要建立一個(gè)平臺(tái),讓開發(fā)者可以有效的在這個(gè)平臺(tái)交流和解決現(xiàn)實(shí)中的問題。但是當(dāng)我參加完微軟云時(shí)代開發(fā)者社區(qū)會(huì)議后,我堅(jiān)定了自己開源Azure School的想法。Azure School是個(gè)很典型的網(wǎng)站建站案例,之后有可能也會(huì)有各種其他終端的App。目前在開源社區(qū)中,按照我自己接觸到的各類開源項(xiàng)目,并沒有一個(gè)類似Azure School的項(xiàng)目,是依托于Azure云服務(wù)。
依托于Azure云服務(wù),并分享實(shí)際項(xiàng)目在Azure中的使用,這就是Azure School開源的核心價(jià)值。在Azure云服務(wù)中,Azure給開發(fā)者提供了很多服務(wù),從Iaas,Paas到Saas,各種服務(wù)。但是正是因?yàn)榉?wù)太多,開發(fā)者可能不知知道改如何正確使用,或者說有效的使用,開源Azure School可以給開發(fā)者一些啟示,雖然說不一定是最佳實(shí)踐,但也是經(jīng)過摸索的實(shí)踐總結(jié)。?
Azure School的核心開發(fā)人員就只有三個(gè),一個(gè)前端,兩個(gè)后端。從項(xiàng)目開始到第一個(gè)正式版本,總共花了快有兩個(gè)月的時(shí)間,這是一個(gè)完全從無到有的過程,所以開發(fā)的強(qiáng)度和壓力很大,產(chǎn)出的效率也是很高的。簡(jiǎn)單的前端和后端開發(fā)并不能表明這中間的開發(fā)所要做的事情,因?yàn)殚_發(fā)人員除了要負(fù)責(zé)功能的開發(fā)還要負(fù)責(zé)項(xiàng)目的環(huán)境運(yùn)維,安全,測(cè)試,數(shù)據(jù)收集,以及產(chǎn)品的設(shè)計(jì),這期間還要負(fù)責(zé)各種臨時(shí)安排的緊急事件和維護(hù)線上的服務(wù)。能在這么短的時(shí)間內(nèi)完成項(xiàng)目的第一個(gè)發(fā)布版本,Azure云服務(wù)所提供的便捷性是一個(gè)很重要的因素。比如我們可以使用Azure Web App服務(wù),直接將本地的代碼發(fā)布到線上和個(gè)個(gè)不同環(huán)境,而不要自己從無到有去一個(gè)一個(gè)架服務(wù)器,配置等等。又比如Azure的Key Vault服務(wù),很好的解決了敏感信息的泄露。Azure Redis 可以一鍵搭建分布式緩存,只要在代碼中簡(jiǎn)單的調(diào)用就可以。Azure Web App提供的在線自動(dòng)擴(kuò)容功能,可以從容的應(yīng)對(duì)各種攻擊或者活動(dòng)推廣帶來的高峰值。Azure Blob Storage的Blob非常適用于存儲(chǔ)大文本的非結(jié)構(gòu)化數(shù)據(jù)。Azure CDN加Azure Blob Storage可以很方便的搭建出自己的一套靜態(tài)資源服務(wù)器。Azure Cognitive Service 提供了很多人工智能的Api接口,這些接口可以通過SDK或者Rest方式請(qǐng)求,調(diào)用很方便。借助Azure Cognitive Service 不僅可以降低社區(qū)運(yùn)營(yíng)的成本還可以讓Azure School這款產(chǎn)品做出很多很酷很有意思的功能。講了這么多Azure云服務(wù)的,都只是輕輕點(diǎn)到而已,在接下來的文章,會(huì)具體分享各種Azure服務(wù)在Azure School的實(shí)際應(yīng)用,以及產(chǎn)生的優(yōu)勢(shì)和弊端。讓我們一起通過Azure School來領(lǐng)略和探索Azure云服務(wù)吧!?
最后,寫下自己的一個(gè)心愿,真心希望Azure School能夠做起來,給Azure開發(fā)者社區(qū)帶來一些變化,推動(dòng)Azure在國(guó)內(nèi)的使用。有時(shí)候大家在討論,怎么樣才算是把Azure School這個(gè)產(chǎn)品做起來?我自己并沒有一個(gè)很明確的數(shù)據(jù)指標(biāo),比如PV要達(dá)到多少,注冊(cè)用戶量要達(dá)到多少,或者用戶要有多少的活躍度?但是我有一個(gè)感性的認(rèn)知,來定義Azure School的成功。我希望有這么一天,當(dāng)我碰到一個(gè)陌生的開發(fā)者,他會(huì)對(duì)我說:“你知道嗎,Azure School社區(qū)上有很多干貨和大神,他們幫我解決了很多實(shí)際工作中碰到的問題,我推薦你也應(yīng)該去看看這個(gè)社區(qū)。”然后我很自豪的告訴他:"這個(gè)產(chǎn)品就是我們團(tuán)隊(duì)在開發(fā)和維護(hù)的,謝謝你對(duì)這個(gè)產(chǎn)品的認(rèn)可!”
原文地址:http://www.cnblogs.com/unclechan/p/7485219.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的Azure School与开源的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASPNET Core 2.x中的Kes
- 下一篇: .net core之ACG小站爬虫(二)