关于IoT结合Azure数据流的讨论

    小伙伴们突然对IoT的应用产生了兴趣,正好之前做过一个较为完整的从IoT收集数据,然后汇聚到Azure中的IoT Hub,再将数据使用流进行处理,最后通过Power BI展现的例子。

image

    关于这个例子,可以参考很久以前的文章:

    https://blog.51cto.com/haohu/2064756

流分析组件

    而实际上Microsoft Learn上也有对应的教程。

    https://docs.microsoft.com/zh-cn/learn/modules/introduction-to-data-streaming

    https://docs.microsoft.com/zh-cn/learn/modules/transform-data-with-azure-stream-analytics

发表在 Cloud Computing, IoT | 留下评论

在亚特兰大的Windows 10 UEM 培训

    匆忙间接到通知,去亚特兰大参加Windows 10现代化管理的培训。估计是因为刚好我手上有着有效的美签和EVUS哈哈。

image

    一个人稀里糊涂的在东京转机,然后落到了亚特兰大。原来这里是可口可乐、Delta、SAP、IHG等等企业的HQ。以往美西去的多,这边倒确实是第一次来。比我想象的还冷啊。不过今年的超级碗居然是在这里举办,可惜那时估计回国过年去了。

image

    三天的培训基本都是围绕着Windows 10 UEM的主题。除了纯技术的介绍,也获得了不少PoC\售前的经验。

    对于客户较为关注的Windows 10的管理范畴,不论是更加安全(例如BitLocker、WIP)还是更加方便(帮助用户随时设置wifi、设备证书、vpn等等),借助OMA-DM的体系都能够实现面向移动互联网的便捷支持。

image

    随着Windows 7退出舞台,Windows 10必然带来企业终端管理的巨大变革。微软已经看到了这个趋势,我们自然也绝对不能忽视。

发表在 Cloud Computing, Device Management | 留下评论

分享云及人工智能的一些学习资源和学习心得

    很久没写新的东西了。这段时间除了适应新的工作,其他时间都献给了各种学习~ 在这个提倡终身学习的年代,面对急剧更新的IT行业,不学点云计算和人工智能啥的,总感觉会被时代抛弃。

    所以,终于找到个空闲时间,在有WiFi的“复兴号”上开始一个字一个的敲点内容,向大家介绍这段时间学习中找到的很好的学习资源和一些学习心得。

    对于大部分人来说,,玩游戏要远比学习容易上瘾。为什么学习容易变成“从入门到放弃”呢?因为游戏强调即时正反馈,你的任何操作,都会很快的转化为经验、装备或者结果;而学习是个缓慢的反馈过程,往往花了很久的时间努力,却不见得看到效果。因此,对于像我这样的入门学习来说,能满足三点的学习资源最为适合:

    A. 能随时开始并随时继续,适合碎片化的时间学习

    B. 尽可能提供及时的正反馈,随时看到学习成绩

    C. 能够系统学习获得成绩,或者得到认证

    基于以上这三点,隆重给大家介绍以下几个资源。

1、Microsoft Learn

    首先出场的是依托于Docs网站的Learn学习站点。微软一直提供很多的学习资源,例如从MSDN、TechNet聚合来的Docs、虚拟学院MVA……随着云计算的深入,微软的学习体系也在变化。

WX20181202-153813@2x

    Learn就是新提供的学习站点,面向Azure、Power BI、数据科学和人工智能等方向。原厂提供,根正苗红。

 WechatIMG2   Learn完全符合开始我们提及的三点要求。任何时间任何地点,随时可以登录网站开始学习。只要完成一项学习,立即就能获得该项对应的经验值。

    经验值能够帮助用户获得级别。而且每一级别所需要的经验值逐级递增,也就意味着越往上升级,需要的经验值越多。

    怎样,很像玩游戏吧?

    学习的内容分为模块和系列。一个系列中会包含多个模块。对应的,完成模块会获得徽章,而完成系列的多个模块,就能获得奖杯。Learn就是使用这种成就系统来确定你的学习成绩。

    你看,为了给大家介绍Learn,我就怒刷经验值到了第九级~

   

    此处必须放上获得的徽章和奖杯得瑟一下~

WechatIMG9 WechatIMG8

    这么好的资源,扫如下二维码或点击即可直达:

learn

    顺便提一下,Docs仍然是查阅大量知识文档的不二资源,可以访问:https://aka.ms/MVP19Q2CNTeam33D 

    而微软已经不是以前的微软了~越来越重视开源和社区的力量,因此你看到别扭的机器翻译文档,完全可以通过github来提交反馈或修改建议。详情可以访问:https://aka.ms/MVP19Q2CNTeam33O

2、SoloLearn

    SoloLearn是第二个我必须要推荐的学习资源。

WX20181202-121359@2x

    开始接触这个学习资源,是因为想找一个App能在手机上学点Python。每天在地铁上都要晃荡好几个小时,太浪费了。要么看看Kindle,要么就要学学东西。所以就找到了SoloLearn的Python版本,再后来发现其实它能够学习很多语言,例如 Python、SQL、C/C++/C#、JS……

WechatIMG4 WechatIMG6

    同样,SoloLearn也满足我们上述三个要求。随时开始、随时继续~学完一项立刻能得到经验值。并且您可以通过社交网络拉上好友一起学习~

    这么好的资源,扫如下二维码或点击即可直达:

sololearn

3、DataCamp

    初识DataCamp是由于在MPP(后文会介绍什么是MPP)的学习中,AI方向Python的课程使用这个站点的课程模块。DataCamp主要专注于数据科学相关的学习,例如:Python、R、SQL等等。

WX20181202-123337@2x

    同样,DataCamp提供了网站和App等不同的学习方式,也都满足我们前面说的三个要求。

WechatIMG13 WechatIMG12

    同SoloLearn一样,DataCamp还吸引用户每天上来学习,培养学习习惯。

    这么好的资源,扫如下二维码或点击即可直达:

datacamp

4、edX

    edX就厉害了~从本质上来说,它提供了一种线上学习的课程方。重要的是,edX和很多著名的院校及企业有合作,甚至提供承认的学分和一些特殊学位,这其中有MIT、哈佛、巴克利等大学……也有诸如微软的课程。

WX20181202-153558@2x

    这么厉害的学习资源不要钱?是的,学习的话,真的不要钱。但如果你需要证书,就在通过课程之后,每门课程99美金的价格获得证书。edX也是满足前文提到的三个要求的,同时证书啥的,可以通过社交网络和LinkedIn等进行分享,以证明拟通过学习获得的能力。

    当然,edX也提供移动App。

WechatIMG14 WechatIMG15

    移动App能够缓存课程视频,这样在旅行的时候即使没有网络,也能够利用碎片时间进行学习。

    这么好的资源,扫如下二维码或点击即可直达:

edx

    有了这些资源,我再也不觉得路上时间和等待时间难熬~ 空闲时间都可以用学习来消磨啦~

5、MPP

    哦对了,离开之前请等一下!前面说过MPP,它的全称是Microsoft Professional Program,是微软除了我们熟知的MCP之外,新的认证学习体系。目的是帮助人们通过比较接地气的学习内容,学习云计算、数据科学、人工智能等等知识。。

WX20181202-154026@2x

    MPP的课程基本上都使用edX进行交付。而每个方向会有一组课程加上最终的一门实践课程。每一门课程都有证书,而完成学习路径后,就能够获得最终的MPP证书。

WX20181202-231143@2x WX20181202-231159@2x

    之所以很久没有更新文章,就是因为花了一个月学习MPP,然后花了小半年时间兑换MPP证书。限于篇幅,这部分的介绍后面会专门写一篇,如有兴趣,敬请期待~


发表在 AI, Cloud Computing | 标签为 | 留下评论

Temporary Post Used For Theme Detection (de8f41b6-9867-4d18-906a-c0234af66df5 – 3bfe001a-32de-4114-a6b4-4005b770f6d7)

This is a temporary post that was not deleted. Please delete this manually. (410bbf7f-98ec-47a0-b5ce-f1542e484a24 – 3bfe001a-32de-4114-a6b4-4005b770f6d7)

发表在 Uncategorized | 留下评论

Windows 10 现代化管理 OMA-DM Workshop 小记

    在空余时间做了一点CSP的测好,特别是基于OMA-DM规范的体系架构,微软在每一个Windows 10的版本(1709、1803等等)发布的时候都在不断扩展和完善其支持的管理CSP。

image

    OMA-DM不是微软的标准,而是基于开放移动联盟OMA的委员会一起制定的体系架构,其中的设备管理部分被简称为OMA-DM,其标准可以在这里下载:

http://www.openmobilealliance.org/wp/overviews/dm_overview.html

    OMA SpecWorks Logo

随着时代发展,目前OMA已经更名为omaspecworks,并且把管理标准迈向了IoT。

     回过来我们看看微软在Windows Mobile之后,是如何在Windows 10中原生支持面向移动化互联网的管理的。微软按照OMA-DM的管理架构,为从前组策略(Group Policy)所完成的管理功能逐步开放了CSP这种管理接口,当然,目前不是全部的GPO都有对应的CSP,而很多CSP面向移动化设备,原本GPO也没有对应的策略。应该说在相当长的时间内,两者会并存,但逐步会转向CSP方式。

    CSP的介绍文档可以在这里查看:

https://docs.microsoft.com/en-us/windows/client-management/mdm/configuration-service-provider-reference

    后续有空余时间打算逐步把一些常见管理需求以CSP的形式测试落地范例。

发表在 Device Management, System Center | 留下评论

Windows 10 现代化管理讨论随笔

    从进入EUC队伍之后,由于熟悉微软基础架构,所以Windows 10现代化管理的部分花了更多的精力。从以往的经验来说,SCCM的经验和Mobile管理的经验确实有助于理解学习Windows 10的现代化管理。

    SCCM代表着传统的PCLM管理模式。传统并不意味着都是不好的,在大部分基于AD、局域网的环境下,SCCM仍然发挥着重要的作用。PCLM的管理架构左右了几乎整个PC时代。

image

    实际上Gartner很早就对PC生命周期的各个环节进行了调查分析和统计。但是PC世界发生了变化,随着互联网化特别是移动互联网化的冲击,越来越多的生产设备不再具有持续的局域网连接。BYOD的增多,甚至很多设备不再加入到企业的AD域。

    在这种变化下,很多传统的管理方式变得很难满足移动化设备的管理需求。

image

    所以,即使微软已经拥有了强大的SCCM管理产品,仍然借助Windows 10的发布,重新定义了OMA-DM的管理架构,实现对移动化的Windows 10设备的管理。在其官网文档站点上,就能够查阅到这部分数字化转型的建议:逐步从面向局域网的传统管理模式(AD+GPO+SCCM)转向面向移动互联网的现代管理模式(AAD+Microsoft 365+OMA-DM)。

    而OMA-DM并不是个全新的概念,实际上在多年前我们研究Windows Mobile管理的时候,就曾介绍过相应的概念。所以后续研究下Windows 10的CSP架构体系,再来做一些有趣的测试。

发表在 Device Management, System Center | 留下评论

MVP 商业智能活动小记

    在这个忙碌的时代,利用周末进行充电是个不错的学习方式。

    今天在港汇,由MVP组织举办了以微软商业智能技术为主题的活动。随着Power BI的热度上升,IoT、大数据、数据科学、机器学习的结果其实都可以通过商业智能展现的方式获得最直接最直观的洞察。

image

    另一个维度,我发现参加数据相关的活动的女同学特别多啊。看来以后要多组织类似的活动,多多吸引女性参与技术活动。

发表在 Cloud Computing, 死磕和掰活 | 留下评论

Azure Stack 混合云方案活动小记

    作为上个月混合云及现代工作空间交流的后续,本月又在合川路的孵化器举办了一场包含四个Session的活动,其中依然包括了对混合云方案的介绍。

imageimage

    相较公有云市场的快速发展,混合云市场发展的速度甚至要更快一些。按照报告预测,五年内混合云将会有接近200%的增长,达到近92B的市场规模。相对于公有云、私有云的市场占比,混合云将占据小一半的占比,五年后达到43%。

    反过来,我们看看微软近几个年度/季度的财报,几大事业群里,O365和Azure成为增长的强劲发动机。因此云计算上的投入、包括传统云服务和面向未来的认知服务等新的云服务将会持续得到研发等各方面的投入。

image

    而越来越成熟的Azure也必然将技术反哺到传统架构中来。首先能看到的就是Windows Server会使用更多的经过Azure验证过的功能特性。然而这远远不够帮助微软巩固私有云市场。所以微软推出Azure Stack,基于Azure的服务功能实现混合云的堆栈就顺理成章了。

image

    在这个体系中,传统数据中心或私有云的架构能够很方便的对接公有云,特别重载的、或者希望数据留在本地的负载,将继续保留在用户自己的数据中心,而较为轻量级的基础架构,例如虚拟,可以考虑迁移至公有云;对于更加轻量级的数据服务、web服务以及SaaS应用,当然可以利用公有云的特点进行部署。这样充分考虑到数据留存和成本效益,实现最佳的投资回报。

image

    实际上,将会有越来越多的公有云服务,将以本地运行加许可订阅的模式运营在混合云环境中,Azure Stack是个不错的开始,我打算静待其他厂商如何跟进。

    对于国内的政策环境,混合云也许是很长时间内功能性能和数据合规之间的平衡。

发表在 Cloud Computing, Virtualization | 留下评论

搭建一个新手学习AI/ML的Python环境

    不知不觉消失了好久,公众号也很久没有更新了。因为跑去学习微软AI方向的MPP课程了。MPP是目前微软最先提供关于AI的培训课程,关于MPP的学习体系,我后面会再写一篇简单的介绍。

     MPP包含了很多的内容,开始学习的时候速度还挺快,到后面越来越艰涩。这也是很久没有精力去更新内容的原因之一。在学习的过程中,逐步接触到了AI或者ML所需要的Python环境。还记得我们之前的介绍吗?通过Python去调用AI的很多API,来快速实现AI的一些功能。

    在学习Azure AI的API的eDoc的时候,就发现有一些示例代码使用了Jupyter Notebook来体现。当时觉得,我有Python不就好了吗?原汁原味地学习代码。到了MPP课程中“强制”使用了notebook之后,发现这种方式确实很方便学习。这么解释吧,我复制完示例代码,然后来运行之前,会尝试阅读代码,然后加上自己的注释。而notebook能将注释或者笔记部分,单独写成md格式的块。代码则分列到另外的代码块。这样就非常便于阅读背景信息和笔记,而同时方便的运行调试代码。

    另外,很多AI或者ML的课程,也会以notebook的文件格式提供笔记本帮助学习,所以,拥有一个notebook的环境还是很有必要的。下面我们就来尝试使用最复杂的搭建方式,搭建一个notebook环境。

    还记得第一次使用VS Code写Python的时候,会给代码格式评分,规范化也是学习代码的一部分,所以pylint还是需要的:
astroid-1.6.3 / isort-4.3.4 / lazy-object-proxy-1.3.1 / mccabe-0.6.1 / pylint-1.8.4 / wrapt-1.10.11

    这么多AI的API都是以Web服务方式提供,快速调用API就离不开requests了:

certifi-2018.4.16 / chardet-3.0.4 / idna-2.6 / requests-2.18.4 / urllib3-1.22

    进行数据处理怎么可以少了numpy?啥代码貌似都要array啊~
numpy-1.14.2

    同样,进行ML处理数据,pandas也是不可或缺滴~

pandas-0.22.0 / pytz-2018.4

    各种画图各种展现,没有matplotlib咋整?

cycler-0.10.0 / kiwisolver-1.0.1 / matplotlib-2.2.2 / pyparsing-2.2.0

    安装notebook就复杂点了,依赖的库有点多~

MarkupSafe-1.0 / Send2Trash-1.5.0 / backcall-0.1.0 / bleach-2.1.3 / decorator-4.3.0 / entrypoints-0.2.3 / html5lib-1.0.1 / ipykernel-4.8.2 / ipython-6.3.1 / ipython-genutils-0.2.0 / ipywidgets-7.2.1 / jedi-0.12.0 / jinja2-2.10 / jsonschema-2.6.0 / jupyter-1.0.0 / jupyter-client-5.2.3 / jupyter-console-5.2.0 / jupyter-core-4.4.0 / mistune-0.8.3 / nbconvert-5.3.1 / nbformat-4.4.0 / notebook-5.4.1 / pandocfilters-1.4.2 / parso-0.2.0 / pickleshare-0.7.4 / prompt-toolkit-1.0.15 / pygments-2.2.0 / python-dateutil-2.7.2 / pywinpty-0.5.1 / pyzmq-17.0.0 / qtconsole-4.3.1 / simplegeneric-0.8.1 / terminado-0.8.1 / testpath-0.3.1 / tornado-5.0.2 / traitlets-4.3.2 / wcwidth-0.1.7 / webencodings-0.5.1 / widgetsnbextension-3.2.1

    然后要做MPP的实验,自然少不了需要微软的人工智能工具库 CNTK~ 课程也挺奇怪,要求2.0版本,后面的课程则要求更新的版本,先安装2.0的

scipy-1.0.1 / cntk-2.0

    其实以上列举这么多库,没有太大的意义,在使用pip安装的时候,就会自动按照依存关系去安装需要的库。那我为什么把这些库都列出来呢?两个原因,第一,如果我们需要离线安装;第二,由于都知道的原因,访问默认库分发的时候,经常干扰HTTPS流量导致下载失败。这时就可以按照以上的清单,去pypi网站上照方抓药了。

    安装完毕,就能在本地使用notebook跑起来了。

image

    说了这么多,没有更方便的办法吗?有!

image

    其实MPP课程中使用了Anaconda来搭建用于学习AI/ML的环境。使用Anaconda可以方便的图形化管理你的环境。不过我看看安装文件就已经好几百M,想想变形本可怜的200G空间,就没安装了。

     那么,还有没有方便的办法呢?有!

     访问 https://notebooks.azure.com  啥东西都不用装,打开就能用。

image

     学完ML的课程,感觉还是一脸懵~还需要时间再消化消化,不过环境需要更新了。更新CNTK倒是简单:

PS C:\WINDOWS\system32> pip install cntk –upgrade
Collecting cntk
   Downloading https://files.pythonhosted.org/packages/e0/66/bd529934288094c4a4a7110fa6797669d95ffa7fc3687275a5541b80a281/cntk-2.5.1-cp36-cp36m-win_amd64.whl (63.7MB)
     100% |████████████████████████████████| 63.7MB 181kB/s
Requirement not upgraded as not directly required: scipy>=0.17 in c:\program files\python36\lib\site-packages (from cntk) (1.0.1)
Requirement not upgraded as not directly required: numpy>=1.11 in c:\program files\python36\lib\site-packages (from cntk) (1.14.2)
Installing collected packages: cntk
   Found existing installation: cntk 2.0
     Uninstalling cntk-2.0:
       Successfully uninstalled cntk-2.0
Successfully installed cntk-2.5.1

    因为安装CNTK 2.0的时候,依赖的scipy和numpy库已经是当时最新,所以没有自动更新。不过我还是自己手动刷到最新版了。

    然后,需要加上OpenCV了。去官网看了看,默认的支持是Python 2.7……这咋整啊?翻了翻网页,貌似有非官方的库提供了,既然大家都用,那就别犹豫了,装上:

PS C:\WINDOWS\system32> pip install opencv_python
Collecting opencv_python
   Downloading https://files.pythonhosted.org/packages/4c/25/151aeb11e80f99b97d3eb93a2c98bcacd857f28c4fb8865eb0201d800e97/opencv_python-3.4.0.12-cp36-cp36m-win_amd64.whl (33.3MB)
     100% |████████████████████████████████| 33.4MB 581kB/s
Requirement already satisfied: numpy>=1.11.3 in c:\program files\python36\lib\site-packages (from opencv_python) (1.14.3)
Installing collected packages: opencv-python
Successfully installed opencv-python-3.4.0.12

     验证一下安装:
PS C:\WINDOWS\system32> python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import cv2
>>> print(cv2.__version__)
3.4.0

     貌似这里有更新的版本,不过没再手动下载安装了。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

    对了,在升级Python本身的时候,遇到一个有意思的错误:

C:\Personal\Hao.Hu\My Codes>jupyter
Fatal error in launcher: Unable to create process using ‘””c:\program files\python36\python.exe”  “C:\Program Files\Python36\Scripts\jupyter.exe” ‘

    查了一下,跟路径设置导致编译时生成的exe的路径出错有关。折腾了一番,改了路径然后重新安装库,再次编译的exe就没问题了。


发表在 AI, 死磕和掰活 | 标签为 , , , , | 留下评论

混合云及现代化工作空间交流活动

    不得不说“随办”App和微软的新技术结合的很紧密,O365的整合,以及不断加入的人工智能服务的能力。

    对于另外一个层面来说,我们也专注在云服务战略上。虽然管理理念和人力环境等差异,加上体制管控因素,国外公有云市场化的进度会快于国内公有云,但也可以看到脚下有着很多的机会。

image

    虽然不是什么新鲜的话题,但帮助传统实业进行数字化转型,帮助客户去了解云、使用云,仍然是IT服务业的一个增长市场。同时,这也对从业人员提出了很高的要求。要求对云架构、各种云服务,最重要的是云技术和业务的关联及创新有充分的认识和理解。

    借助在合川路孵化器举办的活动,在移动开发大牛介绍App、微软O365专家介绍O365产品之后,我也介绍了面向Azure Stack等方案的云服务的思考。

    在我看来,帮助企业实现上云,应该有这三部分:

image

    和客户一起,共同探讨是否上云的问题。只有客户的业务特点、业务需求适合云化,管理及灵活性能够得到显著效益,才是上云时机的到来。

image

    和客户一起,共同探讨如何上云的问题。有了战略方向,还必须要按照现有的基础评估、业务分析,制定出可落地实施的上云计划。

image

    和客户一起,共同分析如何使用云的问题。上云只是第一步,云意味着从建设转变为运营,因此后续的分析、优化乃至调整使用最佳的云费效将是一直持续的行动。

发表在 Cloud Computing | 留下评论