Azure School与开源


距离Azure School(https://school.azure.cn/) 的正式上线时间,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社区上有很多干货和大神,他们帮我解决了很多实际工作中碰到的问题,我推荐你也应该去看看这个社区。”然后我很自豪的告诉他:"这个产品就是我们团队在开发和维护的,谢谢你对这个产品的认可!”

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


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

select count(*)底层究竟干了啥么?

转载自 select count(*)底层究竟干了啥么? “SELECT COUNT( * ) FROM t” 是个再常见不过的 SQL 需求了。在 MySQL 的使用规范中,我们一般使用事务引擎 InnoDB 作为(一般业务)表的存储引擎,在此前提下,COUNT( * )操作的时间复杂…

为什么不应该重写service方法

转载自 为什么不应该重写service方法 故事通常是这样开始的: 从前,有一个程序猿,他语重心长地对孙子说:“孩子,要是你以后写servlet,最好不要重写service方法啊” 孙子大为不解,程序猿又说&…

.net core之ACG小站爬虫(二)

紧跟着上一节说的文章,虽然已经放出了所写的全代码,但还是再解释一下另外一个页面的请求和分析过程吧。PS:又可以愉快的水一章了,咕嘿嘿。页面分析上回说到下载按钮的href属性是javascript:;伪协议,导致了新打开的页面…

.net core之ACG小站爬虫(一)

想到好久没写过.net的代码了,因此就尝试来写一写.net的代码。此外,也想要熟悉一下Phantomjs。环境配置.net core下载。可选的可以下载宇宙大IDEVisual Studio,当然更加推荐使用Visual Studio Code进行代码的书写。Phantomjs。这个不用说了&am…

数组:完成等差等比数列,及其他数列

有没有想过用c语言来编写一些数列呢&#xff0c;编写数列&#xff0c;数组是最好的选择。 等差&#xff1a; #include<stdio.h> main(){ int a[1000],b,i;a[0]1;scanf("%d",&b);for(i0;i<b;i){a[i1]a[i]2;}for(i0;i<b;i){printf("a%d%-8d\t&q…

Spring MVC竟然有5种参数绑定的方式?你知道几种?

转载自 Spring MVC竟然有5种参数绑定的方式&#xff1f;你知道几种&#xff1f; SpringMVC参数绑定&#xff0c;简单来说就是将客户端请求的key/value数据绑定到controller方法的形参上&#xff0c;然后就可以在controller中使用该参数了下面通过5个常用的注解演示下如何进行参…

微服务中如何切换配置文件、部署

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 最近改了个微服务的项目&#xff0c;在本身的业务上加上一个演示的业务。 以前没有弄过微服务的项目&#xff0c;这次改完之后&#xff0c;部署花了不少时间&#xff0c;一方面是因为服务器…

asp.net core mvc View Component 应用

ViewComponent1、View 组件介绍在ASP.NET CORE MVC中,View组件有点类似于partial views,但是他们更强大&#xff0c;View组件不能使用model binding,当你调用它的时候仅仅依赖与你提供的数据一个View组件特点&#xff1a;.呈现一大块而不是一个整体的响应。 .包含在控制器和视…

分离三位数

#include<stdio.h> main(){ int k,l,m,n;printf("请输入一个三位数"); scanf("%d",&k);lk/100;mk/10%10;nk%10;printf("这个三位数的百位是:%d\n",l);printf("这个三位数的十位是:%d\n",m);printf("这个三位数的个位是…

大湾区第二次.NET技术交流会圆满成功

2017年9月16日的深圳阳光明媚&#xff0c;一场为庆祝.NET Core 2.0发布和.NET 社区大会&#xff08;https://www.dotnetconf.net/&#xff09; 的召开的本地社区活动&#xff0c;这次活动还得到如鹏网杨中科老师的大力支持开通网上直播&#xff0c;网上有300多位参与活动&#…

五分钟轻松了解Hbase面向列的存储

转载自 五分钟轻松了解Hbase面向列的存储 说明&#xff1a;从严格的列式存储的定义来看&#xff0c;Hbase并不属于列式存储&#xff0c;有人称它为面向列的存储&#xff0c;请各位看官注意这一点。 行式存储 传统的数据库是关系型的&#xff0c;且是按行来存储的。如下图&a…

jeecg微服务项目调用接口报错Token验证失效的解决方法

大家好&#xff0c;我是雄雄。 前言 今天&#xff0c;记录一篇啼笑皆非的问题。 昨晚上在做微信公众号开发时&#xff0c;遇到了个解决好久的问题&#xff0c;即&#xff1a;微信公众号上配置服务器信息之后&#xff0c;回调服务器接口总是报错token验证失败。 剧透&#xf…

是时候开始用C#快速开发移动应用了

从2015年接触Xamarin到至今已经2个年头&#xff0c;我对Xamarin的技能没有长进多少&#xff0c;但它却已经足够成熟到在跨平台移动开发工具中占有一席之地。在扫了一些资料之后&#xff0c;突然发现国外有很多移动端的应用已经是用Xamarin开发&#xff0c;Telerik还有专门的团队…

十分钟理解负载均衡

转载自 十分钟理解负载均衡 开头先理解一下所谓的“均衡” 不能狭义地理解为分配给所有实际服务器一样多的工作量&#xff0c;因为多台服务器的承载能力各不相同&#xff0c;这可能体现在硬件配置、网络带宽的差异&#xff0c;也可能因为某台服务器身兼多职&#xff0c;我们…

输入一个字母,转大小写

用scanf完成 #include<stdio.h> main(){char m;scanf("%c",&m);if(m>a&&m<z){mm-32;}else if(m>A&&m<Z){m32;}printf("%c",m);}用getcahr完成 #include<stdio.h> main(){char m;mgetchar();if(m>a&&…

.net core 使用Redis的发布订阅

Redis是一个性能非常强劲的内存数据库&#xff0c;它一般是作为缓存来使用&#xff0c;但是他不仅仅可以用来作为缓存&#xff0c;比如著名的分布式框架dubbo就可以用Redis来做服务注册中心。接下来介绍一下.net core 使用Redis的发布/订阅功能。Redis 发布订阅Redis 发布订阅(…

MYSQL性能优化的最佳20+条经验

转载自 MYSQL性能优化的最佳20条经验 今天&#xff0c;数据库的操作越来越成为整个应用的性能瓶颈了&#xff0c;这点对于Web应用尤其明显。关于数据库的性能&#xff0c;这并不只是DBA才需要担心的事&#xff0c;而这更是我们程序员需要去关注的事情。当我们去设计数据库表结…

用数组选出最大的数并且排序

选出数组最大的值 #include<stdio.h> main(){//选出最大的 int a[5]{200,110,101,1010,5},i,max;maxa[0];for(i0;i<5;i){if(a[i]>max){maxa[i];}} printf("%d",max); }排序 #include<stdio.h> main(){//排序 int a[5]{200,110,101,1010,5},i,max…

java实现微信服务(公众)号用户关注时,获取openid,安全模式下的加密解密实现

大家好&#xff0c;我是雄雄&#xff0c;欢迎你的到来~ 前言 需求是这样的&#xff0c;当用户关注公司服务&#xff08;公众&#xff09;号时&#xff0c;就自动注册成为了会员&#xff0c;且通过小程序设置提醒&#xff0c;然后后台可以通过服务&#xff08;公众&#xff09;…

王者荣耀是怎样炼成的(二)《王者荣耀》unity安装及使用的小白零基础入门

工欲善其事&#xff0c;必先利其器。上回书《王者荣耀是怎样炼成的&#xff08;一&#xff09;《王者荣耀》用什么开发&#xff0c;游戏入门&#xff0c;unity3D介绍》说到&#xff0c;开发游戏用到unity和C#。本篇博客将从零开始做一个unity的基础入门。\(^o^)/~欢迎大家的斧正…