微软azure云服务器,如何通俗易懂地理解云计算IaaSPaaSSaaS?
针对这三者的关系,我们决定借鉴“吃”的方式,来给大家普及。相信会一目了然!~
本文由齿轮易创采编,如需转载或寻求技术开发服务,请联系齿轮易创。IaaS( Infrastructure-as-a-Service,基础设施即服务)
PaaS(Platform-as-a-Service,平台即服务)
第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing CloudSaaS(Software-as-a-Service,软件即服务)
第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。举个栗子一个“吃货”是怎样吃到披萨的呢?在家自己做这真是个麻烦事,你的准备很多东西,发面、做面团、进烤箱、番茄酱、配料、奶酪、餐桌、刀叉、洗厨具等。。。。。买好速食披萨回家自己做着吃【这是IaaS,半成品回家做——基础设施即服务。】你只需要从披萨店里买回半成品,回家烘焙就好了,在自己的餐桌上吃。和自己在家做不同,你需要一个pizza供应商。打电话叫外卖将披萨送到家中【这是PaaS,外卖pizza到达即食,准备餐桌就行——平台即服务。】打个电话,pizza就送到家门口。在披萨店吃披萨【这是SaaS,去店里吃,带张嘴就行了——软件即服务。】你什么都不需要准备,连餐桌也是pizza店的。这样比喻说明是不是更容易理解了呢?~
树莓派采集及数据传输的技术是什么?
树莓派只有IO和串口,数据采集能力还需要借助外接其他模块实现。
但树莓派又是一台Linux系统的电脑,因此它的网络通讯能力很强,可以支持很多通讯协议。因此,树莓派可以读取各采集模块的数据,通过网络上传到服务器或者将数据共享出来。微软为何申请加入Linux发行版安全列表?
近日,微软宣布其 Azure 服务器上运行的 Linux 实例,已经超过了 Windows 10 。
针对这些运行实例的安全保障,绝对不能有所懈怠。于是乎,微软申请加盟成为最重要的“Linux 发行版安全列表”成员之一,也变得不足为奇了。
【题图 via MSPU】
据悉,Linux 发行版的安全列表(Linux-distros security list)是一个汇集了尚未发布的安全问题的封闭名单,以便企业商讨和指定修复策略。
目前该列表包括了来自 FreeBSD、NetBSD 和各大 Linux 发行商的主要开发人员。
比如 Canonical、Debian、Red Hat、SUSE,以及亚马逊 AWS 和甲骨文等云 Linux 供应商。
作为一家新加入的 Linux 发行商,Linux 内核开发人员 Sasha Levin 代表微软发言称:
在解决安全问题方面,微软安全响应中心(MSRC)已经累积了数十年的经验。
然而即便我们能够在 1~2 个小时内快速修复已披露的安全问题,也需要在公布前展开大量的验证测试。
在成为 Linux 发行版安全列表的一员之后,我们有望获得额外的时间,来进行广泛的测试。
【图自:OSS-Security】
此外,微软的云上 Linux 使用率,已经超越了 Windows 。
同时 MSRC 开始接收来自用户和供应商的 Linux 问题代码与安全报告,比如早前的预测执行硬件安全漏洞等常见的 Windows 和 Linux 问题。
据悉,各成员将于未来几周内对微软的加入申请进行投票,但目前似乎已经得到了相当多的支持。
比如佳能 Linux 内核工程师 Tyler Hicks 就写道,微软的加盟,对 Linux 社区和其它 Linux 发行商来说,都有着巨大的益处。
未来的人工智能有哪些商业模式?
最近一直在思考一个问题,即人工智能时代,商业应该如何创新,才能既得以获得人工智能增强人类的红利,又能让这种红利普惠人类商业和经济,而不是加大两级贫富分化。
在人工智能平台化的趋势下,未来人工智能将呈现若干主导平台加广泛场景应用的竞争格局,生态构建者将成为其中最重要的一类模式,未来的商业模式有哪些呢?人工智能行业未来的投资机会如何把握呢?
在人工智能时代,从 AI 技术到商业转化,创造下一个万亿级产业,已经形成了一张包含八大要素的全新价值地图。企业家、创业者、投资人的成功与否,从某种程度上来说,与是否能深刻理解其中的8个关键价值创造节点有关。毕竟,这是 AI 驱动的新商业时代,有 AI 特定的创新、创业、创投的逻辑和机会。
从技术源头创新,到整合技术平台,再到商业解决方案,以及用户和客户的场景应用,这张价值地图上的任何一个节点,都是个人和企业创业、创新、投资、转型、升级的巨大机会。
1、开源技术平台
今天,大多数的技术进步都不是封闭的创新发明,技术的跨界、聚合,以及技术的指数级增长,都受益与底层核心的共创共享。因此,很多 AI 技术其实就是开源技术催生出来的新干线。
例如,Linux 是开源软件的鼻祖,之后很多世界著名的软件,如安卓以及今天的很多 AI 软件,都有它的基因。再比如 Hodoop,也是一个开源的软件平台,它是全球最大客户管理公司 Salesforce 用来开发 AI 客户的做大数据管理的基石。这个价值模块的价值创造者,大多是科技极客和 NGO(非政府组织)机构,比如 Hadoop 就是由 Apache 公益基金来支持的。
2、核心技术创造
人工智能的核心技术有四大类,包括:
(1)、软件,如语音、图像等感官识别技术、自然语言处理,以及它们的合成、高级算法、数据训练等;
(2)、硬件,包括深度学习的专用芯片、传感器、ICT、IOT等;大数据,如数据汇集、存储、计算、可视化等;
(3)、云计算,云本身是网络、互联网的一种比喻,云计算是指一种新的机遇互联网及相关服务和交付方式,可以实现每秒 10 万亿次的运算。每一项技术都有其非常深的技术根系和深浅等级,比如,算法。世界上最简单最初级的算法可能就是1+1=2,几岁的小孩都知道。而世界上最复杂的算法也分为不同级别和流派。
在业界,算法从简单到复杂还有不同的方法论。例如,符号主义与数据建模、专家系统有关,经验主义与统计建模有关;连接主义与神经网络有关。未来,也许创新者还会在某一种方法论上继续突破。
这个价值模块的价值创造者,包含了长期扎根技术研发的商业巨头、大学和研究机构。例如,谷歌的 AI 深度学习产品、英伟达、高通、英特尔等公司的 AI 芯片,微软、苹果、科大讯飞等公司的语音 AI ,华为 5G(第五代移动通信技术)下一代 ICT,斯坦福、伯克利、多伦多等大学的基础研究等。
3、开放技术平台
开放技术平台就是核心技术创新者,向第三方公开自己软件或硬件的 API 或者函数,第三方开发者可以在上面直接开发各种商业应用,而无须从 0 研发,有效地实现了技术的快速商业化。特别是在互联网时代,开放技术平台促进了互联网技术和电商的爆发式增长。
今天,AI开放平台也将成为技术商业化的重要创新环节。 例如,IBM 的开放沃森分析平台,可以为第三方提供大数据分析功能;脸谱网的wit.ai 开放平台,可以为第三方提供大数据分析功能;科大讯飞的 AIUI 开放平台,为创业者提供了基于 AI 语音功能,可服务于机器人、儿童玩具、电视质控,以及智慧教育的商业应用。这个价值 模块的价值创造者,大多是由实力的 AI 核心技术公司,也有由它们组成的公益组织,如由硅谷几个企业领袖启动的 Open AI 。
4、技术操作系统
自从人类发明了计算机,开始用技术解决问题,改变世界,技术操作系统就变得至关重要。它通常涉及信息的微处理、存储、文档与进程管理等方面。PC时代的技术操作系统Windows、Linux,移动互联网时代有安卓、ios。
今天,谷歌的 TensorFlow (腾三幅)开放平台,被称为 AI 的安卓系统,谷歌自己和第三方都可以在上面开发各种基于 AI 的 APP。人工智能时代,AI 技术操作系统包括连接、交互、存储、云端一体化等要素。换言之,是指以物联网为基础的万物互联,代替了原有的互联网和移动互联网连接;以语音、图像为主的自然交互,代替了鼠标、键盘、触摸等本地存储;强大的并行计算,代替了执行顺序的技术。
因此,除了手机、PC 等多屏端口的操作系统外,还新诞生了基于云计算的操作系统,涉及存储、计算、调度(弹性技术、DOCKER)、安全(区块链,确保安全真实)等。 这个价值模块的价值创造者,大多是那些在互联网时代积累了客户界面端和大数据资产的企业,例如,谷歌、亚马逊、阿里巴巴、脸谱网、苹果、华为,以及生产核心硬件如GPU(图形处理器)的英伟达等,谁会真正主宰未来?
AI 世界的技术操作系统竞争的大幕才刚刚拉开。
5、应用解决方案
这是技术能否实现商业化的关键环节。通常,任何一个有价值的新技术,都有多个应用。早期电的发明,从点灯照明的应用,到今天成为人类生活和工作无处不在的能源。互联网技术也是从简单的信息链接开始,渗透所有行业,如吃、住、行、医、教、娱等领域,为无处不在的问题提供新思想、新方法、新能量。
今天,AI 要想解决人类尚未解决的难题,就必须先准备好无数种从技术到商业的解决方案。例如,在 B2B 领域,如何用 AI 对癌症做出精准预判和治疗;在 B2C 领域,如何用 AI 助力个人发展。同时,应用解决方案要既有功能性的,也有入口平台型的,如苹果的 Siri 、今日头条等。
这个价值模块的价值创造者,大多是商业解决方案的引领企业,它们往往率先采用新技术,解决商业问题。例如,GE 用 AI 解决能源效率问题,阿里巴巴用 AI 解决城市交通拥堵问题,亚马逊用 AI 解决高效零售配对问题,IBM 用 AI 解决医疗问题,科大讯飞用 AI 解决教育问题,谷歌和百度用 AI 解决无人驾驶问题等。
6、商业运营系统
商业运营系统是建立在技术操作系统之上的商业生态模式。用技术解决问题,只是商业的第一步,而企业如何用技术解决问题,持续解决问题,并创造竞争优势,就形成了一个闭环的商业运营系统。这是技术商业化最本质和最关键的创新环节,大多数技术商业化的不成功和掉进两个“死亡谷”的悲惨命运,就是因为没有科学地设计“商业运营系统”。
过去,这个系统就是商学院教的“标准商业模式”,但是,自从有了互联网和人工智能,组成商业模式的要素发生了根本的变化,因为新技术颠覆了原来的商业逻辑和市场逻辑。例如,过去,对客户进行细分是商业模式中的要素,但是,有了 AI,它就可以在大数据中自动识别和管理客户。因此,商业运营系统的智能化,就成了 AI 商业非常核心的驱动力和关键要素,也就是新 BOT 驱动的解决客户痛点、运营痛点和生态痛点的商业运营系统。
这个价值模块的创造者是所有参与技术商业化过程的创新者。因为,通常创业者或企业家都需要对“如何解决问题、如何实现收益”设计一个商业运营方案,已获得持续发展和增强竞争优势的闭环模式。
7、用户场景应用
这是人工智能时代市场的新形态。过去,一部手机只要能卖出去,不需要讲究诸如“在什么地方使用”、“如何使用”都能够问题,因为,手机的功能就是通话。但是,今天,手机需要用来在国外看新闻、在演讲中做翻译,因此就必须能够在一定的环境和场景下,解决更细微的问题。
例如,当使用者身在国外时,就会获得 AI 关于宽带使用或吃、住、行等方面的帮助,在翻译时,手机就不只是一个简单的通话硬件,而是一个交流的伴侣。同样,亚马逊的 Alexa 音箱、科大讯飞的听见或灵犀,不但是一个家庭的智能管家(帮助节能环保),还可以充当购物向导(让你更高效地消费)的角色,或生活助理(更方便潇洒地实现吃、住、性)的角色。因此,用户场景是设计“商业运营系统”功能和界面的必备要素。
这个价值模块的价值创造者非常特殊,他们不但是企业的创新者,而且还是消费者、供应者等生态成员的参与。因为 AI 的爆发,共享经济将更深刻地渗透和影响每一个人的生活和事业。可以说,没有用户场景的解决方案,很难完全解决用户和客户的痛点问题。
8、用户动态数据循环
这是 AI 动态价值地图最显著的特点:从用户场景获得的用户动态数据,将成为“喂养“机器学习、”生长“ AI 智慧不可或缺的营养成分。这就好像 AI 的存活需要呼吸氧气一样,一旦没有了动态数据,AI 将无法学习,并将失去生命:相反,如果有了动态数据的无限循环,就能形成 AI ”越用越富“的养分原料,并成为以上七大要素源源不断提高可持续创新能力的重要原料。这个闭环的无线循环,能赋予 AI技术和 AI 商业强大的生命力。
上面总结了八个关键的技术点,简单来说,现在的的AI行业有三种模型:
1. 人工智能创业公司(AI Specialized Startups)
这一类创业公司主打的是专精(Specialization),即在某个小领域有了突破或者有核心技术。人工智能和其他创业方向不同,创业技术门槛是非常高的,这也保证了创业公司有机会在特定领域分一杯羹。
举几个这两年做的很好的公司,比如做法律智能的Ross Intelligence和用深度学习解读基因相关数据的Deep Genomics。这一类AI创业公司基本都是由教授+学生,或者是从学术界出来的人在某个领域用人工智能手段进行改革。所以这一类公司走的是“传统的创业公司的商业模型”,在能获得市场关注和盈利前,基本都还是靠投资人的钱。而拉投资一般也靠创始人的声誉背书,短时间内收入模型和盈利模式一般比较模糊。
怎样才能获得足够的市场份额?这不仅要重造轮子,还要开发出直击某个痛点的模型来改变现在的市场。如果在特定领域能够做大做强,可以通过市场分割向特定群体收费,比如Ross Intelligence现在和某律师事务所有合作并拿着他们的投资,未来就可能向需要法律咨询的个人用户收费。
但退一步说,这一类的创业公司在获得一定的市场份额后就会被大公司收购,因此不一定会走到需要成熟的商业模型那个阶段。
题外话,从学术界孵化的创业公司一般都是一个教授+两至三个PhD学生作为创始团队比较多。比较典型的例子有Hinton的DNNResearch啊,Andrew Ng的Deeplearning.ai(某种意义上的startup)等。从市场角度来看,因为较高的技术门槛,这个领域有机会出现百花齐放的现象,很难存在垄断但也不会出现充分竞争。
2. 人工智能平台(AI Platforms)
科技巨头一般布局都在基础平台服务上,比如说以前的云计算平台,专精(specialization)不再是核心诉求。现在越来越多的巨头也把资源投入到了AI领域,比如微软就有成熟的AI平台,主要由几个组件构成,相信很多读者一眼就可以认出下面这个图。
图片来源: Data Science Association, Currently hosting Dallas Data Science Conference 2017
1、微软:
Microsoft Azure Cognitive Services: 微软认知服务集合了多种智能服务API,比如机器视觉API,比如情感分析API等。使用微软认知服务,你可以调用API来完成很多人工智能任务而不需要自己去编写代码。
Microsoft Machine Learning Studio: “微软机器学习工作室”是一个集成了多种机器学习算法的在线平台,你可以很轻松使用它做很多机器学习相关的任务,完全不需要任何代码。不仅如此,你还可以将模型嵌入到其他Azure上面的程序中,也可以开放模型API供其他用户直接使用。
2、谷歌:
Google Cloud Platform(谷歌云平台GCP)是一个和微软产品比较相似的产品,也提供类似的服务和产品。用法也非常相似,用户只需要调用API即可完成语言情感分析(Sentiment Analysis)等人工智能任务。
3、亚马逊:
作为云平台巨头的亚马逊也有对标的产品,叫做 Amazon Machine Learning(AWS-ML)。无须赘述,和微软谷歌相似,AWS的产品功能也非常相似。但因为亚马逊云的成熟,似的使用亚马逊的机器学习API相对方便一些。
所以不难看出,科技巨头的主要精力都花在了布局基础设施上。从成熟度上来说 微软>=亚马逊>=谷歌,但其实使用起来的感受基本相似。从商业模型的角度来说,这几家巨头的人工智能平台主要都是靠API来赚钱,你调用的API次数越多,收费当然越高。
而且在调用这些API的同时,我们往往还需要其他服务,比如服务器、虚拟机、数据库等,这一条龙的服务和收入就是这些科技巨头在AI方面的收入模型。 在现阶段还有很多公司进入了厮杀的战场,小一些的还有DataRobot,也是提供一条龙的机器学习服务。
当然,人工智能领域内容很多,比如在线机器人(Bot),微软有提供平台叫做Microsoft Bot Framework,亚马逊依托Echo Bot也有Alexa Service对标,这些同样也是依靠平台优势来赚钱。
其实不难看出,大公司投入基础建设的原因是这个方向准入门槛高,前期的固定投资要求大,可以排除很多中小竞争者。在一段时间的竞争后,应该会形成(多)寡头垄断市场格局,或许现在其实已经是这个局面了。
3. 人工智能咨询与定制服务(AI Consulting and Customized Service)
根据我自己的观察和分析,AI咨询和定制服务是未来很有潜力的模型。简单来说,就是根据企业/客户的需求进行定制化的人工智能解决方案。在现阶段,人工智能方案对于大部分企业来说还是“奢侈品”,甚至有些超前。但在不久的未来随着技术进一步成熟以及概念得到普及,价格和门槛也会下降,越来越多的中小型企业也可以负担并愿意进行人工智能升级。
和创业公司不同,这个商业模型不要求高精尖技术或是在某个领域的突破,但通用的AI平台也无法完成客户定制的需求。这就是为什么这样的商业服务可能有前景 - 它和前两种商业模型有交集但并不重叠。
这样的商业模型主要给客户提供两种服务:
1、成熟的专利AI应用。举例,我们为A银行安装了一个我们开发并拥有专利的人工智能风控模型,在进行数据替换后还可以卖给B、C、D银行或者相似行业。银行可以使用我们的微调后的模型,但我们可以将原始模型进行无限次转卖。
2、客户定制化服务。举例,A客户要求我们为它们独家定制服务,服务的归属权归客户所有,我们无权转卖,仅为客户进行维护升级。当然,这种服务的价格肯定较高。
同时提供两种收费模式:
1、 一次性收费/升级费用(one-time purchase)。和其他软件产品一样,客户可以一次性买断服务的使用权。但并不建议这个模式,因为AI产品有较大的不稳定性,随着数据的变化模型可能失效。
2、 订阅服务(subion based)。正因为AI产品需要常常升级,机器学习模型也需要重新训练,订阅服务更适合AI类产品。客户可以按月付费,得到相应的维护和升级服务。
这样的商业模型还可以搭配主动式的营销手段。因为AI产品的本质是通过数据解决问题,据我所知很多企业现在已经和客户签署了“数据保留协议”,即AI产品供应商可以在特定范围内使用客户的数据进行其他活动。这样的协议有两个好处:
1、 精准营销(Customized Recommendation)。因为我们有权使用客户A的数据,根据分析其数据,我们可以个性化推荐适合客户A的其他产品。甚至我们可以使用客户A的数据为其免费定制一个概念产品。免费其实是一种营销手段,德勤的数据分析部门给客户50小时的免费时长来感受它们的产品。
2、数据整合(Data Integration & Enrichment)。假设客户A、B、C和D都允许我们保留并使用其数据,那么我们可以进行整合并获得行业级别的数据,从而开发出更加智能的产品。
在这个数据为王的时代,拥有客户的数据并提供定制化服务有非常强的客户黏性。总结一下,销售成熟的AI产品+适量的定制,留住客户的数据,并提供后续的维护和支持就是我觉得很有潜力的新型AI领域商业模型。
从市场竞争角度来说,这个商业模型既不需要高精技术,也不大需要基础平台或者高额的固定投资,甚至还可以使用文中介绍的创业公司和科技巨头的服务。但根据经济学原理,低门槛,充分竞争的市场代表从长期来看不会有暴利存在。
但如果能在早期拥有足够多的行业数据,数据优势将会使你的企业走在其他人之前。或许,是时候入场了...
Go语言现在的前景怎么样?
Go 语言现状
在当今流行的编程语言中,Go 语言名列前茅。Go 语言热情、有趣并以其快速高效的特点深受社区的青睐,但值得我们了解的还有更多。 我们对有关 Go 语言的可用信息做了更深入的研究,以期有更多发现。 我们的常驻 Go 专家、GoLand 的布道师 Florin Pățan 受邀根据调查结果提供他的见解,探明 Go 的现状。
在哪儿
约 110 万开发者
总体来说有 110 万专业的开发者 选择 Go 作为其主要开发语言。但如果我们将那些以其他编程语言作为主要开发语言,却同时使用 Go 的开发人员也算在内,这一数字就将高达 270 万。
就其全球分布而言, 居住在亚洲的开发者最多,大约有 57 万开发者使用 Go 作为其主要开发语言。
专家分析
这符合我对 Go 开发区域分布的预期。亚洲的 Go 用户数量排名第一,我想这是因为那里有大量来自腾讯、阿里巴巴和华为等大公司的开发者。 这些公司通常都有很多开发者。
具体在哪儿
下图显示了我们在 开发者生态系统调查 2020 中调查的每个国家使用 Go 作为主要语言的开发者的分布情况(受访者最多可以选择 3 种主要语言)。 我国的开发者集中度最高,有 16% 的中国开发者使用 Go 语言。
我对我国位居榜首并不感到意外。 我本以为俄罗斯会排第二,美国会更高一些,也许会排进前五。
我国之所以排在首位,可能是因为那里的开发者非常多。 我知道的很多公司,比如 PingCAP、腾讯和华为都有很多开发者,能够支持并构建与微服务结合的内部工具、架构和后端服务。这一点似乎很关键。
我知道俄罗斯的 Go 语言社区相当出色,Go 在那里深受欢迎自然也不足为奇了。我对日本和乌克兰的结果很好奇,因为我没想到他们会这么高,我预计德国和印度会高一点。我记得早在四五年前,我在柏林的时候,我了解到的几乎所有创业公司都在使用 Go。
行业洞察
根据开发者生态系统调查 2020, 是专业开发者的前前10大主要语言之一,占 7% 的份额。
我认为 Go 从未停止发展。 人们通常不会以 Go 作为第一门编程语言,而倾向于从其他语言(如 PHP 和 Ruby)迁移到 Go,但据我所知,主要是从 C++ 和 C# 迁移到 Go。
与 PHP 相比,Go 的优势在于类型安全,因为 Go 是静态类型的语言,而 PHP 是动态的。 这意味着由编译器将完成大部分工作,确保您编写的代码将在运行时能够正常地编译和运行。 与 C++ 相比,Go 的优势在于简单。Go 语言中,一切都很直观。
总的来说,Go 的特点是在编写代码和运行时都具有很高的内置速度。通常,使用 Go 语言您可以没有任何特殊优化的情况下获得5-10 倍的性能提升,这对企业而言是很关键的生产力优势。同时它简单、易于上手,并且很容易替换现有项目中的微服务。
许多 IT 架构工具由 Go 构建而成,例如大型的 Kubernetes、Docker 和 Vault 等。 因此,尽管有许多公司在使用 Java,但这些公司也都会有一个团队执行 Go ,特别是此类项目的修补和维护。这或许也是一个 Go 语言正在逐步被更多的人所接受的原因,在公共基础架构和部署中使用得越多,Go 的使用增长就越快。 因此,我认为未来几年会有越来越多的人开始使用 Go,其比例可能会达到 15-20%,特别是考虑到开发者生态系统调查中的问题“您打算在今后 12 个月内采用/迁移到其他语言吗? 如果有计划,是哪种(哪些)?”其中 13% 的受访者回答了 Go。
Go 语言开发的软件类型
Web 服务是 Go 语言开发最受欢迎的领域,开发者生态系统调查 2020 结果显示,其占比达到了36%。
对于 Web 服务,我认为首要任务是创建快速的 API 服务器。它们不一定需要框架,所以您可以使用 Go 快速启动和运行。
我不认为这张图未来会发生太大的变化。我觉得未来 Web 服务的所占比例会增长,因为用 Go 语言来上手确实很轻松。
对于 "实用小程序",情况大致相同。可以处理大量数据的快速应用、小型实用程序应用或需要大量功能的一次性任务用 Go 语言都很容易实现。IT 架构的情况也说得通。采用 Docker 和 Kubernetes 的人越多,使用 Go 的人就越多,因为它们都是用 Go 编写的。 任何类型的 DevOps 工作都可以从 Go 中特别受益,因为 Go 提供了类型安全和更快的速度。 与基础架构的交互也变得容易 – Google, Amazon, 以及 Azure 等都有很好的SDK。 我想当未来泛型到来之后,“Libraries / Frameworks” 会有一定提升。
系统软件 – 我认为随着越来越多的人开始使用 Rust 这样的系统软件,它会开始下降。 数据库也一样。因此在未来充满商机的情况下,大概会占到 6% 左右。编程工具 – 我很惊讶它居然这么靠前,我十分好奇 Go 都打造了哪些编程工具。
使用 Go 的主要行业
根据开发者生态系统调查 2020, Go 程序员主要从事 IT 服务,其次是 金融和金融科技,云计算 / 云平台, 和其他行业。
金融和金融科技。这是我所希望看到的,据我所知已经有相当多的银行已经采用或正在使用 Go 语言开发的基础架构。例如,英国的 Monzo 使用 Go 构建了他们的整个银行系统。云计算和云平台的情况也很合理,因为很多种应用程序都是以 Go 编写的。
移动开发,这是意料之外的。Go 并没有良好的移动开发的历史。如果有,我想人们有可能会用 Go 为移动应用制作 Web 服务或后端,但也仅此而已。
有几个行业我预计 Go 的使用率不会在短期内出现增长。例如那些基于机器学习的领域,那是 Python 的强项。Go 中的机器学习也在朝着更普及、更优良的方向前进,但我认为至少还要几年才能真正看到成果。
Go 工具
包管理工具
Go Modules 是 Go 开发者最喜爱的软件包管理器。根据开发者生态系统调查 2020,其采用率从 2019 年的 41% 上升至2020的 82%。
我认为在某种程度上我们已经不必再问这个问题了,因为 Go Modules 已经被设置为标准默认模型,并且 Go 团队也想弃用 GOPATH。那时候其他的一切可能都会被淘汰。
Go 路由
根据2020 年和 2018 年的开发者生态系统调查,自 2018 年以来,Gorilla / Mux 和标准库始终是最常用的 Go 路由器。
标准库之所以如此受欢迎,可能是因为无论在 Reddit、Slack 还是其他地方,人们通常都会建议坚持使用标准库,不到万不得已不会换用其他东西。 我使用 gorilla/mux,因为在标准库的基础上更加抽象,而性能不会受太多影响。 这也可能是因为这是最接近标准库的一个,它使编写服务器更容易。总的来说,这种分布大概和预想的一样。
5 大 Web 框架
根据 2020 年和 2018 年开发者生态系统的调查,自 2018 年以来,Gin 的使用量几乎翻了一番,而其他 Web 框架基本保持稳定。
Gin 在 web 上如此受欢迎,可能是因为它是一个快速框架,也得到了很好的推荐。它同时也是最古老的框架之一。所以有很多现成的文档,很多用户已经在使用和推荐它。
测试框架
使用内置测试的开发者比例从 2018 年的 64% 下降到 2020 年的 44%,而其他测试框架的使用量略有增长。
内置测试占比很高,是因为 Go 标准库有一个非常好的开箱即用的测试库。
内置测试的下降可能是因为越来越多的人转移自其他语言,比如 PHP,他们更倾向于重复他们已有的测试习惯。
讨论最多的 Go 工具和其他语言IT 社区经常讨论 Go,Stack Overflow 就是其中之一。 我们从问答区的数据中找出最常与“Go”一同出现的标签。 其中,有 23 种工具和 2 种语言 -“MySQL”和“PostgreSQL”。 除了工具外,与其他主要语言也有共存。 纵轴表示标签出现的总数,横轴表示带有“Go”的标签的提及。
我料到 JSON 会成为一个问题。把 Go 的数据结构序列化和反序列化成 JSON 确实很不容易,这或许是 JSON 如此醒目的原因。 struct 之所以出现,是因为来自其他语言的人通常很难理解这个问题,除非他们来自 C++ 或 C 语言。
根据 Amazon Web Services 自身的普及程度,我预计 AWS 这里会有很多问题。现在为 Google App Engine 开发 Go 应用程序更简单了,之前还不是如此,所以才会有这么多问题。
总而言之,成为 Go 社区的一员让我感受到了这是一个非常有趣且包容的社区。 新人总会得到支持,也被鼓励提出问题和探索语言。 对于一般主题,最常讨论的是泛型以及一些语言的改进、编译器的改进等。
尤其是泛型,因为它是语言最需要的功能之一,很多工作负载都可以从这个功能中受益。
总结
根据以上的数据,从开发者人群、开发地区分布、go语言特点、开发环境、开发工具等方面,我认为go语言的前景是很不错的。至于取代C语言我觉得应该目前不行或者也不会取代C语言。它们会在各自不同的领域发挥更好的效果。
另外,如果又想要学习Go语言的开发者,可以去我的Github看看,我整理了关于golang的学习资料,还算比较全吧!欢迎大家给我Star!
项目地址:https://github.com/0voice/Introduction-to-Golang