Azure School与开源

  距离Azure School的正式上线时间,2017.8.3,已经过去了20多天了。这20多天得到了很多有帮助的建议和反馈,小伙伴们都很给力,互相帮助扶持,调整产品不正确的地方,快速迭代新的功能。期间我还去参加了团队组织的第一届微软云时代开发者社区生态圈会议,与会者都是在各自技术领域的贡献者,大家都给出了很有远见的提议,比如多鼓励业界的项目经验分享,内容文档应该多结合实际线上的操作,对于非.Net体系的技术如何借力Azure。听完以后自己也有很多感触,很多话都蛮讲到心里去的。微软从之前的封闭,到现在的拥抱开源,中间还有很长很长一段路要前行。如何改变开发者心中对于微软原本呆板,封闭的形象,还需要时间的磨合,让开发者意识还到微软的转变。

  我说说自己的一个经历,我大概是在2015年11月入职的微软C+E云事业部的大家庭,之前一直使用Java做后端服务器的开发,更早之前也有一段前端的工作经历。在进入微软之前,其实我对.Net的技术并没有太大的好感,一直停留在当年大学时接触.Net和Windows的认知,这个认知就是封闭,傻瓜,笨重。但是时过境迁,微软已经发生了很大的变化,当自己好好静心下来学习,忘记自己原本的一些固执偏见以后,发现.Net结合Azure云服务的开发效率实在是高,对于开发者更加友好了。这种高效率体现在很多地方,比如语言的特性,方便的部署和拓展,借力各种现有的服务,强大的本地和远程调试工具等等。

  在几个月以前,刚刚开始做Azure School项目的时候,我就萌发了开源Azure School的想法,但是我也一直在反问自己,开源Azure School的意义在哪里?如果只是为了开源而开源,那么开源Azure School的意义一点用处都没有。因为当一个项目要开源,它最本质的意义是希望能够给开发者带来效益,比如减少开发者自己重新造轮子的时间。现在的大部分开源项目基本都是工具类的类库,或者框架居多。因为这些类库和框架的分享,确实能帮助开发者,减少开发者在实际工作中的负担。但是Azure School这个项目既不属于类库,也不是什么框架,而是一个实实在在的产品,这个产品要提供给各类开发者相关的Azure技术文档,要建立一个平台,让开发者可以有效的在这个平台交流和解决现实中的问题。但是当我参加完微软云时代开发者社区会议后,我坚定了自己开源Azure School的想法。Azure School是个很典型的网站建站案例,之后有可能也会有各种其他终端的App。目前在开源社区中,按照我自己接触到的各类开源项目,并没有一个类似Azure School的项目,是依托于Azure云服务。

  

  依托于Azure云服务,并分享实际项目在Azure中的使用,这就是Azure School开源的核心价值。在Azure云服务中,Azure给开发者提供了很多服务,从Iaas,Paas到Saas,各种服务。但是正是因为服务太多,开发者可能不知知道改如何正确使用,或者说有效的使用,开源Azure School可以给开发者一些启示,虽然说不一定是最佳实践,但也是经过摸索的实践总结。

  Azure School的核心开发人员就只有三个,一个前端,两个后端。从项目开始到第一个正式版本,总共花了快有两个月的时间,这是一个完全从无到有的过程,所以开发的强度和压力很大,产出的效率也是很高的。简单的前端和后端开发并不能表明这中间的开发所要做的事情,因为开发人员除了要负责功能的开发还要负责项目的环境运维,安全,测试,数据收集,以及产品的设计,这期间还要负责各种临时安排的紧急事件和维护线上的服务。能在这么短的时间内完成项目的第一个发布版本,Azure云服务所提供的便捷性是一个很重要的因素。比如我们可以使用Azure Web App服务,直接将本地的代码发布到线上和个个不同环境,而不要自己从无到有去一个一个架服务器,配置等等。又比如Azure的Key Vault服务,很好的解决了敏感信息的泄露。Azure Redis 可以一键搭建分布式缓存,只要在代码中简单的调用就可以。Azure Web App提供的在线自动扩容功能,可以从容的应对各种攻击或者活动推广带来的高峰值。Azure Blob Storage的Blob非常适用于存储大文本的非结构化数据。Azure CDN加Azure Blob Storage可以很方便的搭建出自己的一套静态资源服务器。Azure Cognitive Service 提供了很多人工智能的Api接口,这些接口可以通过SDK或者Rest方式请求,调用很方便。借助Azure Cognitive Service 不仅可以降低社区运营的成本还可以让Azure School这款产品做出很多很酷很有意思的功能。讲了这么多Azure云服务的,都只是轻轻点到而已,在接下来的文章,会具体分享各种Azure服务在Azure School的实际应用,以及产生的优势和弊端。让我们一起通过Azure School来领略和探索Azure云服务吧!

  最后,写下自己的一个心愿,真心希望Azure School能够做起来,给Azure开发者社区带来一些变化,推动Azure在国内的使用。有时候大家在讨论,怎么样才算是把Azure School这个产品做起来?我自己并没有一个很明确的数据指标,比如PV要达到多少,注册用户量要达到多少,或者用户要有多少的活跃度?但是我有一个感性的认知,来定义Azure School的成功。我希望有这么一天,当我碰到一个陌生的开发者,他会对我说:“你知道吗,Azure School社区上有很多干货和大神,他们帮我解决了很多实际工作中碰到的问题,我推荐你也应该去看看这个社区。”然后我很自豪的告诉他:"这个产品就是我们团队在开发和维护的,谢谢你对这个产品的认可!”

 

原文地址:https://www.cnblogs.com/unclechan/p/7485219.html