開發與維運

開發與維運

独家|利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码&解析)

作者:Jose Garcia 文章来源:微信公众号 数据派THU 翻译:吴振东 校对:张一豪 本文约4000字,建议阅读14分钟。本文将利用OpenCV,Python和Ubidots来编写一个行人计数器程序,并对代码进行了较为详细的讲解。 数字图像处理(DIP)技术目前发展非常迅速,这在很大程度上要归功于开发人员可以访问云来运用机器学习技术。通过云处理数字图像可以绕过任何专用硬件的要求,这使得使用DIP成为了大家的首选。作为处理图像最经济和最通用的方法,DIP已经被广泛应用。这种其中最常见的当属行人检测和计数 – 这对于机场、火车站、零售店体育馆、公共活动和博物馆来说都是一项非常有用的指标。 现有的传统行人计数技术不仅价格昂贵,而且它们所生成的数据通常与专有系统相关联,这些系统限制了数据提取和KPI的优化选择。相反,使用你的个人相机和SBC的嵌入式DIP不仅可以节省时间和金钱,还可以根据你所关注的KPI来自由定制应用程序,并从云中获取独特的领悟。 使用云来启用DIP IoT(物联网)应用程序可以增强整体的功能性。随着可视化、报告、警报和交叉引用外部数据源(如天气、实时供应商定价或业务管理系统)等功能的增强,DIP为开发人员提供了他们所需的自由空间。 想象一下一家摆着冰淇淋冰柜的杂货店:他们想要追踪统计经过店门口的人数,顾客所选择的产品,以及门被打开的次数和冰柜的内部温度。 从这几个数据点中,零售商可以运行相关性分析,以更好地了解和优化他们的产品定价和冰箱的整体能耗。 为了开启你的数字图像处理应用程序开发工作,Ubidots运用OpenCV和Python来创建了一套人员计数系统教程,用于分析统计给定区域中的人数。其实不仅是统计人数这样简单,添加Ubidots IoT开发平台的资源还可以扩展你的应用程序。在这里,你可以看到如何实现利用Ubidots来构建的实时人数统计仪表板。 在本文中,我们将介绍如何使用OpenCV和Ubidots来实现简单的DIP叠加并创建行人计数器。此示例最适用于任何基于Linux的发行版系统,也适用于Raspberry Pi,Orange Pi或类似的嵌入式系统。 […]

開發與維運

Docker容器实战(一) – 封神Server端技术

容器!容器! 回溯历史源头 相比于盛极一时的 AWS OpenStack 以Cloud Foundry为代表的PaaS项目,却成了当时云计算技术中的一股清流 Cloud Foundry项目已经基本度过了最艰难的概念普及和用户教育阶段,开启了以开源PaaS为核心构建平台层服务能力的变革 只是,后来一个叫 Docker 的开源项目横空出世 当时还名叫dotCloud的Docker公司,也是PaaS热潮中的一员 相比于Heroku、Pivotal、Red Hat等PaaS新宠,dotCloud微不足道,主打产品跟主流的Cloud Foundry社区脱节,门可罗雀! dotCloud公司突然决定:开源自己的容器项目 Docker!!! 显然,这个决定在当时根本没人在乎。 “容器”这个概念从来就不是什么新鲜的东西,也不是Docker公司发明的。

開發與維運

应用架构的核心使命是什么?阿里高级技术专家这样说

阿里妹导读:什么是架构?关于架构这个概念很难给出一个明确的定义,也没有一个标准的定义。如果,硬是要给一个概述,阿里巴巴高级技术专家张建飞认为架构就是对系统中的实体以及实体之间的关系所进行的抽象描述。今天,张建飞来谈谈应用架构的核心使命是什么,是否与你想得一样?往下看,一起寻找答案。 架构 架构始于建筑,是因为人类发展(原始人自给自足住在树上,也就不需要架构),分工协作的需要,将目标系统按某个原则进行切分,切分的原则,是要便于不同的角色进行并行工作。 为什么需要架构? 有系统的地方就需要架构,大到航空飞机,小到一个电商系统里面的一个功能组件都需要设计和架构。 我很喜欢《系统架构:复杂系统的产品设计与开发》里面的一句话:结构良好的创造活动要优于毫无结构的创造活动。 与之相对应的,现在很多敏捷思想提倡no design,只要work就好。期待好的架构可以在迭代中自然涌现。这个想法有点太理想化了,在现实中,只要能work的代码,工程师是很少有动力去重构和优化的。 架构师的职责 作为架构师,我们最重要的价值应该是“化繁为简”。但凡让事情变得更复杂,让系统变得更晦涩难懂的架构都是值得商榷的。 架构师的工作就是要努力训练自己的思维,用它去理解复杂的系统,通过合理的分解和抽象,使哪些系统不再那么难懂。我们应该努力构建易懂的架构,使得在系统上工作的其他人员(例如设计者、实现者、操作员等)可以较为容易地理解这个系统。 软件架构 软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通信。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用、指导构件集成的模式以及这些模式的约束组成。软件架构不仅显示了软件需求和软件结构之间的对应关系,而且指定了整个软件系统的组织和拓扑结构,提供了一些设计决策的基本原理。 软件架构的核心价值应该只围绕一个核心命题:控制复杂性。他并不意味着某个特定的分层结构,某个特定的方法论(贫血、DDD等)。 软件架构分类 在介绍应用架构之前,我们先来看一下软件架构的分类。 随着互联网的发展,现在的系统要支撑数亿人同时在线购物、通信、娱乐的需要,相应的软件体系结构也变得越来越复杂。软件架构的含义也变得更加宽泛,我们不能简单地用一个软件架构来指代所有的软件架构工作。按照我个人理解,我将软件架构划分为: 业务架构:由业务架构师负责,也可以称为业务领域专家、行业专家。业务架构属于顶层设计,其对业务的定义和划分会影响组织结构和技术架构。例如,阿里巴巴在没有中台部门之前,每个业务部门的技术架构都是烟囱式的,淘宝、天猫、飞猪、1688等各有一套体系结构。而后,成立了共享平台事业部,打通了账号、商品、订单等体系,让商业基础实施的复用成为可能。 应用架构:由应用架构师负责,他需要根据业务场景的需要,设计应用的层次结构,制定应用规范、定义接口和数据交互协议等。并尽量将应用的复杂度控制在一个可以接受的水平,从而在快速的支撑业务发展的同时,在保证系统的可用性和可维护性的同时,确保应用满足非功能属性要求(性能、安全、稳定性等)。

開發與維運

云端数据仓库的模式选型与建设

数据,对一个企业的重要性不言而喻,如何利用好企业内部数据,发挥数据的更大价值,对于企业管理者而言尤为重要。作为最传统的数据应用之一,数据仓库在企业内部扮演着重要的角色,构建并正确配置好数据仓库,对于数据分析工作至关重要。一个设计良好的数据仓库,可以让数据分析师们如鱼得水;否则可能使企业陷入无休止的问题之中,并在未来的企业竞争中处于劣势。 随着越来越多的基础设施往云端迁移,数据仓库是否也需要上云?上云后能解决常见的性能、成本、易用性、弹性等诸多问题吗?如果考虑上云,需要注意哪些方面?目前主流云厂商产品又有何特点?面对上述问题,本文尝试给出一些答案,供各位参考。本文部分内容参考了MIT大学教授David J.DeWitt的演讲材料。 一、数据仓库建设 数据仓库(DW)的建设方式有很多种,企业可以根据自身需求进行选择。下图简单罗列了主要的DW建设方案并做出扩展对比。 1.1 建设方案 1)商业方案 商业方案,是最为传统的一种,也是过去20~30年的主流方式。企业外购数仓,包括软、硬件一体交付。其典型产品很多,多为国际知名大厂,国产厂商也有部分。 2)自建+开源 这是很多互联网公司通常采用的方案,通过自建底层基础设施+部署开源软件方式完成。整个方案对企业完全自主可控,但对自有人员技术要求较高。颇为典型的产品就是GreenPlum。 3)云+开源 这是上一种方案的变体,即Iaas层通过云厂商提供,其他仍然是自建的。当企业业务已经上云,为更好地数据集成,方便数据迁移,往往会采用此方案。 4)DW云 企业直接选用数据仓库的云服务,而不再独立建设。下文将针对这种情况,重点说明。 1.2 方案对比 针对上述4种方案,从成本、运维、交付、扩展、性能等多角度进行对比。 成本:包括前期购买和后期运营的费用,这里也包含人员投入的折算费用。 运维复杂度:主要针对企业自有技术人员的运维工作复杂度评估。

開發與維運

阿里云AI驯兽师:猪脸识别与城市大脑的故事

“商业是来自于人性、技术是来自于初心。”这是阿里云数据智能事业部华南区总架构师Alan Chen对于人工智能的感悟。 创头条讯,10月31日,“NEXT•AI大会——中国龙华人工智能产业创新峰会”在深圳市龙华区举行,会上阿里云数据智能架构师Alan Chen用诙谐幽默的演讲,将大家带入了一个有意思的智能世界。 Alan Chen说,人工智能应该是服务于人的,阿里云的“ET数据智能”正在把人工智能这些为人“找乐子”的能力实现在各种不同的地方。他把人工智能比作一只未来的“神兽”,而阿里的驯兽师帅哥们也在找乐子前提之下,不断发表出一些对当下社会有价值、有意义的产品。 工业AI驯兽师:将数据沉淀为机器能够读懂的一些数据模型。将数十年老师傅的经验还有他们对机器本身所谓的第六感变成一个固化的东西,让ET能够读懂制造业里面的物理世界到底长什么样。 例如,他们帮一家做锅炉型的企业节省了75%的运维成本,用1%的力量,也帮人家提升了1%,然后帮人家降低5%、百分之十几的成本。尤其在面临内忧外患的国际贸易中,数据智能能够给客户带来很大的价值,阿里将在工业领域不断进行实践、深化。 农业AI驯练师:做猪脸识别的工作。类似在猪身上做形状不太一样的纹身,这样就能认出每个猪的区别。虽然听着没有那么高大上,但背后的算法积累,包含你认出这只猪以后,怎么让一只猪试跑两公里才是一只好猪。 城市ET训练师:把城市的资源更好地重新做分配。电力的出现让我们对物理资源做了重新分配,今天数据资源的出现让城市的水电煤甚至道路资源更好地重新分配。 比如杭州的高架道路,没做任何的限行,也没有做限号,也没有对道路做任何改造情况之下,光是通过城市大脑对交通做有效的控管,就将平均速度提升了50%。 Alan Chen还介绍了双11购物中的AI客服“小秘”、AI制作页面海报、三分钟填表等已经实现的智能实践。“我们今天做出什么样的技术,取决于这个技术对于未来的一个判断、你对于你自己未来的一个幻想。”在Alan Chen的表述中,人工智能以人为本的发展路径,正是AI工匠精神的全部意义。 以下为演讲全文: Alan:大家早上好,我是负责华南区这边大数据和人工智能的总架构师,我叫Alan。刚刚大家听了我们的产品介绍和领导的演讲,大家应该比较疲惫了,我首先给大家讲一个笑话,马斯克应该大家都听说过,特斯拉汽车的,他有一个女朋友叫Green,他跟Green是怎么认识的?其实是一个人工智能的笑话,今天我带大家熟悉这样一个故事。之前在网站上有人提出一个思想,这个思想主要出发点是说今天我们在发展人工智能,总有一天会有一个超级人工智能的出现,它的智能智商或者是它的能力是超越我们现在人所能够达到的极限。那在这种情况之下,这个人工智能有一个核心思想就是要给人类带来有益的价值。因为它的能力超过了我们现在能力的范围,所以它能够去回溯时间,然后把之前一切跟实现这个有益的人工智能思想相对的人,把它去掉,所以这个时候就出现了一个很好玩的问题,就是今天当你们听到我讲这件事情的时候,你们已经知道有这个人工智能的出现,而你们同时在这个当下如果是不赞成这个人工智能出现的情况下,它会在未来某一个时间点回来把你给做掉。大家可以思考一下这个问题,既然你们已经听过了,不好意思,你们都被我带入坑了,所以接下来你们最好是跟着我一起去看一下怎么样能够让一个有益的人工智能实现。不然的话,我们希望那一天最好不要发生。 这边的话,我们既然是讲一个人工智能,所以在技术之外,我们还得要去思考,技术只是冰冷的,我们还要去看它的社会价值、它一些人机互动的关系,还有它的社会一些理念。这是一个对未知领域的探索,人对于未知领域都是有一种不确定性,然后有一种既期待又怕受伤害的感觉。 今天我正式开始我的演讲,欢迎各位迅速加入在未来这只不知道长什么样子的神兽,我们今天都是在训练这只神兽朝着未来对我们有帮助的发展。 我们今天在阿里这边已经做了一些工作,跟大家做一个分享。 这个上面讲的是什么?盲人摸象。今天我们讲的这个叫什么?人机本质带来的机遇,它因着每个人自己的过程、经验会有一些差异。具体这只神兽长什么样没人知道,所以它是一个盲人摸象的过程,但我们知道它有一些特性,至少我们第一个知道它背后一定是一台机器,这个机器不管是量子计算还是什么都好,它有它的优势存在。目前我们看到在量子计算机没有成熟之前,它是有一些限制,尤其是对物理空间里面的掌握更是需要仰赖我们当前每一个人对数据这个领域里面所提出的贡献,包含你们手上的手机,你们现在无时无刻给你们的神兽喂养,然后你们对于亲朋好友、周遭人的发展,它都是成为接下来这只神兽的养分,是吧?这个部分,我们在阿里的同学,很多这种技术的同学在我们这边,我们在这个领域里面已经是迅速有几年了,我在快乐工作、认真生活的前提下,大家不约而同做了一些挺有趣的事情,我们虽然在训练这只神兽的过程中,但我们也要给自己找点乐子。

開發與維運

中国龙华人工智能产业(人才)创新圆桌会:AI时代的智胜之道VS龙华人才孵化新机遇

2018年10月31日,“NEXT•AI大会——中国龙华人工智能产业创新峰会”,于深圳市龙华区宝能科技园拉开序幕。本次大会由深圳市龙华区委员会、深圳市龙华区人民政府和阿里云计算有限公司精心打造。会上不但分享了产业、技术发展的趋势,以及未来发展方式和路径,还进行了落地签约等活动。 峰会最后一个环节是主题为“AI时代的智胜之道VS龙华人才孵化新机遇”的圆桌对话。在创头条联合创始人李茂达的主持下,中国科技开发院大数据与人工智能研究院首席科学家张世明、中美创投副总裁叶浸染、深圳市博铭维智能科技有限公司总经理代毅、阿里云创业孵化事业部华南区战略总监王芳参与了讨论和对话。 圆桌对话内容: 李茂达:刚才大家听了很多专家还有企业家的演讲,应该说人工智能是我们这个时代最激动人心的一个科技创新领域。在我们的生活当中,其实我们日常也接触到许许多多人工智能给我们提供的服务,我们大众领域讨论比较多的像张学友的演唱会可以抓到很多的逃犯,实际上这个产业革命发生的比我们想象的还要深刻,所以一会儿我们借用一个时间从各位嘉宾和专家那里能够听到更多的信息。 时间关系,因为嘉宾背后都有介绍,我们就不介绍了,我们进入主题。 第一个话题,我想请问一下几位嘉宾,龙华区被广东省定位为人工智能产业核心区,应该说引起了广泛的关注。我想请问嘉宾,这样一个定位在深圳或者是在全国甚至铅球的产业格局上会带来什么影响,或者又给我们创新创业带来什么新的机遇,我想请几位嘉宾谈一下,先从张总开始。 张世明:谢谢,这是一个好问题,特别是在人工智能现在日趋炙热的情况下,广东省能够把龙华区定位为特别是大湾区一个核心发展的重要产业基地,我觉得这是一件好事情,特别是在资金、在人才聚集各个方面的资源方面做了很不错的工作,特别是也有大湾区在深圳珠三角以及香港澳地区人工智能的发展促进有巨大的作用。特别是在中国这种人工智能发展的热度非常高涨的情况下,我觉得在金融业特别发达的香港,因为我也是香港人工智能协会的成员之一,也经常参加一些会议,做这些方面演讲的嘉宾。针对香港来说,我觉得人工智能发展远远不及深圳人工智能发展的力度。广东省定位为龙华区为人工智能发展基地对大湾区发展有积极的促进作用。 叶浸染:刚才在参会的时候龙华区政府也介绍了龙华区的优势,我也印象挺深刻的。我之前也看到一个数据,就是在2018年全国八百多个百强区的评选中,龙华区是位列第七名的,是非常优秀的一个地方。那么龙华的,我是觉得它的战略地位、区域优势特别明显,在整个粤港澳大湾区核心中轴线上以梅观高速这条路的经济带每年能产生差不多三千亿的产值,所以我觉得龙华区以它的区位优势将来一定能够在粤港澳大湾区核心版图里面发挥更积极的作用。 高海明:龙华区是很多企业在这里罗湖,今天本身开这个会就是对龙华区最好的阐释,未来通过阿里巴巴、通过钉钉能够带这里为更多不同的智能化产业、智能化的企业以及各行各业服务业带来更多其他的赋能。好,我先说这些,谢谢! 代毅:因为我们本身是龙华区的企业,龙华区有这么好的消息非常荣幸。我觉得这跟龙华区的一个定位有关,因为龙华区本来是一个新区,区里面的这些领导还有一些相关人员非常懂产业,也懂什么叫创业公司,也懂创业人才。据我了解深圳各个区里面,龙华区的人才政策应该还是数一数二的,非常到位,所以这个殊荣能够落到龙华区,我觉得也是应该的,希望在人工智能这一轮产业中,我们能够从龙华区传统制造业的强区更多的诞生更多更好的一些新兴产业。 王芳:大家好,因为我是阿里云创新中心,主要是负责华南双创的项目,我可能关注政策在广东省今年提出来了一个新一代的人工智能三步走的战略,这个战略就提到2015年的时候人工智能,整个广东省人工智能核心产业要突破五千亿元,在它这个链条上带动的产业规模要达到1.8亿。后来我们发现在龙华区是作为人工智能的核心区域,所以我们也希望把创新创业的赋能放到跟龙华区有更深入的合作。 李茂达:刚才嘉宾从粤港澳大湾区产业格局谈他们对于这个产业核心区,对粤港澳大湾区发展的重要性。其实我查了一些资料,这样一个定位在全球来说对未来这样一个定位发展,其实政府的推动对产业的格局会产生深刻的影响。接下来一个问题就是我们看到人工智能领域涉及的领域非常多,技术类型也非常多,而且在人工智能领域,在投资领域已经成为最重要的投资类型。每年政府大量的资金还有社会资本投入,刚才主持人也谈到去年融资总额达到585亿,我又看了新的数据,今年前三季投资已经超过一千亿人民币,是去年的两倍。在这种情况下,请问几位嘉宾,从短、中、长期来说哪些人工智能的领域最具有机会或者最具有投资机会?请几位嘉宾和我们分享一下。 张世明:这个问题,我觉得应该是在投资方面的回答会比较好一些。从技术角度来讲,我觉得各个方面的机会都是比较均等的,因为人工智能技术方面涉及到方方面面,我们需要一个健康合理的人工智能应用的发展,我们在各个方面的技术都需要均衡发展。因为现在的技术发展只是从某一个角度和某一个领域发展出来,相对来说可行的、相对来说能够有一点帮助的智能算法,但是针对人工智能来说还有长远的路要走,所以我觉得要均衡发展。目前来说投资比较大,在视觉方面产生了四大巨头,投资金额也比较大,每个都是百亿级的,像商汤科技,这些方面都是投资力度比较大的。针对应用来说,还是有很大的距离。在另一方面在A/LP方面也是我们针对如何来理解知识方面,理解人类知识情况下,技术方面还远远不足,还需要很大资金来投入,进行相应的落地尝试,需要创业公司和大型公司自己进行试错,这方面都需要资本、基金、人才方面的协同合力,包括龙华,大湾区聚集了很多人才天然优势,包括吸引很多海外人才,也有孔雀人才,我也是孔雀人才计划之内的,也是龙华龙舞华章之内的,所以我很感谢政府方面做的发展。 叶浸染:我们主要是做中美两国跨境投资的机构,也是投比较早期,人工智能也是我们公司投的领域之一。从短、中、长期三个方面来看,我觉得投资机会是相对于人工智能的层面,短期来看主要是一些技术层的公司,比方说现在最热的语音识别,包括进一步的语义识别,到图像处理,就是图像识别,我们是投了一个人工智能图像识别的公司叫吉视角(音),是非常优秀的一个公司,它是做了很多图像识别在各行各业的一个应用。举一个简单的例子,比方说它可以识别你工厂的工人有没有戴安全帽,某个机器有没有起火的、某个农业是用什么农药来处理。从中期来看,我们叫人工智能的应用层,这层我觉得是自动驾驶跟无人机,包括机器人,这三个领域是将来会比较看好的。从长期来说,也就是战略层面上,大家最关注的两个点一个是芯片,因为芯片是人工智能运算一个基础,包括我们经常到美国硅谷去看,现在各个人工智能的巨头都在花大力气研发他们的下一代芯片,包括脑机接口的一些芯片,还有量子计算的芯片。因为人工智能是基于大数据、基于运算速度的处理,芯片是它核心的一个要素。另外是云计算的能力,就是将来所有包括公有云、私有云、混合云,所有数据都会放在云端,所以各大巨头在云计算这个领域的投入也是非常大,把它做成一个云的基础设施,所以这两块从将来的战略上来讲是长期的投资方向。 高海明:如果从阿里的角度,如果从钉钉的角度,我们先从两方面跟大家做简单汇报,因为钉钉是做企业级服务的入口,所以我们在软件跟硬件方面做了大量的产品迭代,在钉钉上有很多硬件已经逐渐出来了,这些都会有投资。第二是在企业服务,企业服务里面的产业是非常巨大的,这也不是我们做得来或者做得完的,我们在深圳也投了两家企业服务的公司,一家穿云、一家蓝领(音),所以机会还是很多的,这方面希望大家持续的关注。 代毅:这个问题比较大,我就谈我们行业的,人工智能在我们这种细分领域里面的应用还是要抓住细分的点,第一个是像大的云计算可能是由巨头来完成相关技术的研发,但是在具体的一些细分领域,小型的技术,我们可能要抓住人工智能具体技术的点,在一个具体领域里面的应用,这个商业机会可能还是有的。 王芳:我接着咱们高总的话介绍一下我们阿里的五新战略,新制造、新技术、新金融、新零售,还有一个新能源,这里面的新能源主要是指云计算、数据,因为我们认为数据将来是能源一个很大的点。通过这个点,我结合一些短期、中期、长期来讨论,短期技术这块作为创新型企业来说会重点去投,技术这块有自然语音识别包括图像识别的技术性增强,这两个板块肯定是风投会投得比较多。因为现有的阿里云创业中心平台上目前有五十多加主要投FA轮和首轮的融资对接,那么在全国27个城市所落地的人工智能项目或者创新型的企业,我们会对它进行融资对接,这是一个方向。中期和长期这块混合一个点来说,我觉得是一个长期的战略方向。因为我们阿里有说过,AI是我们的大脑,我们的云计算、数据是我们的血液,我们的IOT是我们的衔接网络。在整个人工智能,这三个板块是有联合点的,所以在这三个点的上下游或者垂直领域、细分领域去做一些布局投资,我觉得还是机会很大的。谢谢! 李茂达:刚才几位嘉宾从短、中、长期AI重点的方向,我相信也给我们很多创业者还有投资机构一些新的参考。因为时间关系,我们问题就不具体展开。最后我想请几位嘉宾,你们总结一下你们自己今天最想表达的观点,包括你们认为技术、资金、人才这些重要性,你们也可以排一个序。 王芳:从技术、人才、资金三个角度来排序,是吧?我觉得肯定是人才和技术排在比较靠前的位置,但是到底是人才还是技术,我觉得这是一个概念,没有办法把它分开去谈。我们整个阿里云的创业孵化事业的平台,我们除了落地基地做创业中心,给创新创业的企业响马赋能,我们还有一个板块是进高校合作,后面我们会重点布局在华南区域跟高校合作,与各地政府落地联动这样一个阿里云创新中心的实验室,旨在是从技术领域培养人才,从资金领域做项目对接。那么在我们的孵化平台上对它进行产业孵化,我觉得这是比较关联在一起的。然后阿里,我们一直在说我们是一家以技术推动商业边界的公司,人工智能也是我们整个阿里云创业中心的主题、一个比较大的板块,我们也希望在后期在整个创业中心在华南区落地的时候,我们有更多从人才口、从资金口,然后从技术口跟各个区域有更多赋能的机会,谢谢! 代毅:我觉得2018年这个时点对中国经济来说还是变化趋势非常明显,像周总说的整个投资也好,还是创业也好,下行趋势在今年6月份之后非常明显,所以整个目前的情况,就是说央企和国企这种垄断性的就不说了,然后像互联网巨头占据的垄断行业,基于前期的巨大优势资金优势还是具备非常垄断性的资源,这方面可能是需要创业公司谨慎考虑的。第三个方面就是一个创业型企业目前在这种经济比较紧张包括对内对外环境都有一定影响的情况下,我们最主要的是如何保持活力活下去。这个活下去的基础,我觉得是要照准一个企业的刚性需求,这个行业,你做的这个行业或者你做的这个技术,不管你的人或者技术再厉害,如果是一个非刚性的需求或者简单直白来说就是短期你客户是否对这响技术是否有利益性的需求、有利益性的驱动,如果没有这个可能是一个非常艰难的选择。

開發與維運

日志服务数据加工系列培训: 扫平日志分析路上障碍, 实时海量日志加工实践

分享介绍日志服务数据加工功能提供托管的自动伸缩的实时可靠数据加工服务,本次系列培训从实战案例角度完整介绍数据加工的主要场景. 包括功能语法、数据分发、结构与非结构化数据清洗、外部资源关联、并发可靠性与排错等,解决实日志数据在接入、分析、投递、对接时存在各种数据加工需求与问题。 第一讲——数据加工介绍与实战 直播时间: 8月7日 19:30-20:30讲解人: 丁来强 (成喆)直播介绍: : 介绍数据加工的各种痛点, 场景以及解决方案. 介绍与演示日志服务数据加工的功能, 概念, 原理, 控制台操作, 以及SLB数据加工实战等视频回顾: https://yq.aliyun.com/live/1339PPT下载: (待更新) 第二讲——DSL核心语法介绍 直播时间:

開發與維運

降云十八掌——阿里云运维架构最佳实践(上)

本文将阿里云运维实践汇总为十八招,从云时代下的资源自动化管理,到静态、动态缓存提升网站性能的方法,再到混合云架构、互联网监控解决方案,以及Devops和云安全实践等,都是比较经典的一些干货,让大家了解阿里云最热门的运维架构技术实践。 直播视频回放,戳这里 大家都知道乔峰有降龙十八掌,而这位乔帮主也有一套在云端运维技术的实践秘籍——“降云十八掌”。接下来让我们跟帮主一起来了解下这套运维神功吧!以下是精彩内容整理: 为什么叫降云十八掌? 本文分享的核心内容主要出自我的一本书籍《「阿里云」运维架构最佳实践》,书籍包括四大篇:云端选型篇、云端实践篇、云端安全篇、以及云端架构篇,总共十八个章节,所以我更喜欢把书的内容称为云端实践秘籍:“降云十八掌”。 书籍的内容总共有四五十万字,三百幅运维架构图。其中囊括了我历时八年、累积的千家一线互联网企业在云端实践的干货以及经验,包含了云端二十余款热门产品实践、五十余项常见开源热门技术实践,以及云端最热门的:监控、DevOps/容器、智能运维等技术实践。 这本书预计在2019年下半年上架对外售卖,大家感兴趣的可以参考借鉴一下。 以下主要内容摘选自《「阿里云」运维架构最佳实践》十八个章节中的精华内容,汇总成为十八招,都是我认为比较经典的一些干货及案例,希望通过本文让大家了解阿里云最热门的运维架构技术实践及最新技术趋势。 第一招:云对技术架构的变革 第一招:云对技术架构的变革。对于这一招,我想了一个比较高大上的名字叫风起云涌。随着云计算的普及,未来对IT资源的需求都会通过云平台获取。那云对技术架构方面又有什么影响及变革呢?我们先来看看如图所示IT三大体系发展方面: 1、物理机体系阶段:传统IOE的架构其实是物理机的典型代表。对计算资源的使用需要我们去购买或者租用对应的硬件。 2、云计算体系阶段:然后到云计算体系阶段,基于传统硬件服务器基础上,通过虚拟化及分布式技术形成对应的云资源平台。对计算资源的使用,我们如同使用水和电一样,在云资源平台上按需所取即可,而我们不用再关注以及和底层物理硬件打交道。 3、容器体系阶段:最后到达容器体系阶段,我们既不用关注底层物理硬件,也不用关注云平台用的是亚马逊还是阿里云,我们业务都能无缝过渡及运行。从而让我们对计算资源的使用,脱离硬件甚至各个云平台的依赖。容器就是大家熟知的docker技术,有点类似Java的jvm,可以跨平台部署,不依赖底层环境,不管是硬件环境还是云平台等等。 那么,这三大IT体系在IT技术架构方面又有什么样的变化呢?(上图中的箭头方向就是我们技术架构演变进化的方向) 在物理机体系中经历了以下两个阶段: (1)、单机架构的阶段:IOE架构(IBM的小型机+Oracle+EMC存储)是单机架构中典型的代表,都是高配性能的计算资源。在这个阶段的架构,业务基本都是单机部署。有时候数据库和业务代码甚至都部署在一台高配机器上,完全要靠单机的硬件性能来支持更多业务访问。 (2)、集群架构的阶段:集群架构阶段其实是单机架构的演变。集群架构典型的技术特点就是一般采用虚拟VIP技术(如Keeplived、Hearbeat)解决单点故障的问题,让架构高可用。 然后到云计算体系,云计算的普及其实也是分布式架构的普及,分布式架构下最重要的特点就是不管是业务代码还是数据库,都是通过多台服务器分布式的部署。业务压力增加时,我们增加对应的服务器资源即可。在云计算阶段,分布式的架构特别适合用云平台部署,对服务器单机的性能要求依赖不高,主要通过大量的云资源进行分布式快速部署,来满足业务发展和迭代。值得注意的是,分布式架构是集群架构的演变,有很多人把集群架构和分布式架构混为一谈,这是很大的误区。集群的虚拟VIP技术只能让一台服务器平时作为Backup热备,只有在故障的时候,才会切换到backup上让其顶上,平时都是空闲状态。而分布式架构的技术特点就是负载均衡,均衡的引入,让不同服务器来同时处理业务压力。 最后到达了容器体系下的微服务架构阶段,其实本质也是分布式架构。微服务其实是业务功能层面的一种切分,切分成单个小型的独立业务功能的微服务。多个微服务通过API Gateway提供统一服务入口,让微服务对前台透明,而每个微服务也可以通过分布式架构进行部署,这提高了我们研发的灵活性,也为业务后期迭代带来了极大的扩展性,这是我们未来软件技术架构的主流。并且微服务在云平台基础上结合Docker容器技术进行部署,能让业务、运维、架构在技术和非技术方面的稳定性、成本、效率、扩展等都达到完美。

開發與維運

降云十八掌——阿里云运维架构最佳实践(下)

本文将阿里云运维实践汇总为十八招,从云时代下的资源自动化管理,到静态、动态缓存提升网站性能的方法,再到混合云架构、互联网监控解决方案,以及Devops和云安全实践等,都是比较经典的一些干货,让大家了解阿里云最热门的运维架构技术实践。 直播视频回放,戳这里 想看,降云十八掌——阿里云运维架构最佳实践(上),戳这里。 第十招 使用动态缓存提升网站性能的四种方法 说完静态缓存,当然也有动态缓存。降云十八掌的第十招——使用动态缓存提升网站性能的四种方法。动态缓存,即asp、jsp、php等动态请求页面缓存,所以对数据展示实时性要求高的应用需要慎用。一般一些论坛帖子、用户留言等这些业务数据展示实时性要求并不高,都是可以将这些动态数据缓存。使用动态缓存提升网站性能的四种方法具体如下: 第一种方法,和前面介绍的磁盘缓存采用的技术一样。都是通过nginx的proxy_cache模块,只不过动态缓存中,如图配置,我们在nginx的location中匹配的是jsp等动态请求,然后先从缓存中取,而静态缓存中,匹配的是js、css、html等静态请求,这是它们的核心区别。 第二种方法,就是php自带的fastcgi_cache模块,能对php请求进行缓存。 第三种方法,通过nginx内置memcache模块实现动态页面缓存。我记得之前在一家电商公司做运维的时候,每次到活动量,我发现memcache缓存服务器的流量每秒高达三四百兆。按照那时候的理解,memcache存储热点数据(比如数据库访问的热点数据、或者业务临时数据)怎么会有这么高的流量。然后我通过看nginx的配置文件,发现nginx中配置了连接memcache的配置,nginx好像能对memcache直接进行读取。其实当初真没见过这种用法,我向研发总监请教了这个问题。原来这是nginx自带的memcache模块功能,后端通过业务代码,把订单的拍照图片直接存放至memcache中,前端能直接通过nginx访问memcache中存放的图片信息。 方法四,nginx通过第三方模块实现动态页面缓存的区别在于,方法三在存储图片的时候需要通过编码,将图片等静态数据写到memcache缓存中。而nginx通过第三方模块实现动态页面缓存,是通过第三方模块插件,直接将静态资源数据写到memcache或者redis缓存中。通过图中的架构图,我们也能看到这个差别。 第十一招 混合云架构最佳实践 混合云架构也是当前云端运维架构实践中主流的架构场景实践。混合云架构通过专线能将云上和企业内网、或者IDC数据中心内网打通。所以在异地容灾备份、或者企业级OA、ERP内网应用中应用广泛。 上图中架构就是一个云端客户案例,对数据安全性、对数据异地容灾有很高要求。通过VPC+专线打通两个机房,一个机房用于线下测试及预发环境,一个机房用于热备云上数据。由于云MongoDB没办法和线下做副本集,所以我们采用自建mongo副本集。 Rabbitmq采用镜像复制模式+SLB组成两台机器的高可用。由于都是内网环境,我们自建内网DNS,方便线下IDC测试预发环境及线上环境做内部业务域名定义。由于客户业务代码框架限制,及mysql需要支持myisam表等一些原因,我们在云上和线下采用自建redis及mysql高可用方案。Redis采用主从+sentinel+consul+dnsmasq做高可用。Mysql采用主从+consul+dnsmasq高可用。 第十二招 互联网监控的演变(11种监控解决方案) 监控系统是业务运维保障的眼睛,让业务出现问题、异常能第一时间发现并解决。可以没有自动化,没有DevOps,但是不能没有监控。随着云计算的发展,各种监控技术的成熟,也伴随着互联网监控体系的演变。接下来简要介绍常见的11中监控解决方案,这是降云十八掌中的第十二招。 我们先来看看,物理机体系下的三大监控方案实践监控方案一:Shell/Python,这个监控解决方案一般用于不懂运维的研发人员,没听说过监控系统,也不知道用什么监控系统。所以就用自己擅长的开发语言,来完成日常监控需求。比如我以前做Java开发的时候,兼公司的运维、服务器的监控,就是自己写了几个shell脚本完成。当然,这样缺点也有很多,比如在中间件、应用层监控中,在监控数据存储、数据查看等方面基本都不能做。 监控方案二:Nagios,官方称Nagios为IT基础架构监控的行业标准,主要偏向做主机系统、交换机路由器等网络设备的监控。这是一款80后监控工具,基本上90后很多人都已经不知道nagios了。很多监控的功能通过插件化来实现,对技术能力要求高,并且在图形展示、中间件方面监控较弱。

開發與維運

一个系统,搞定闲鱼服务端复杂问题告警-定位-快速处理

作者|吴白出品|阿里巴巴新零售淘系技术部 服务端问题排查对开发而言是家常便饭,问题并不可怕但要花大量时间去处理;另一方面故障的快速解决至关重要。 目前问题排查最大的障碍是什么呢?我们认为有以下几个原因: 大量的告警信息。 链路的复杂性。 排查过程繁复。 依赖经验。 实际工作中的排查思路并非无迹可寻,排查思路和手段可以沉淀出一套经验模型。 沉淀路径 下面是我的订单列表的简单抽象,其执行过程是先拿到我买到的订单列表。订单列表中又用到了卖家,商品以及店铺信息服务,每个服务又关联着单次请求中提供服务对应的主机信息。 以线上常见的服务超时为例,上图中因为 127.123.12.12 这台机器出现异常导致商品服务超时,进而导致我的订单列表服务超时。根据日常中排查思路可以总结出以下分析范式: 上面这种分析范式看起来很简单清晰,但是它首先面临着以下问题 如何准确界定超时/异常。 上下游调用链路如何生成。 自己和下游,如何确定谁的问题(超时&异常)。 下游异常时,如何区分超时/线程池满/未知异常。 以上问题本质上是底层数据埋点问题,幸运的是阿里集团完备的数据建设使得这些问题基本都能找到很好的解决方案。有了底层数据支撑再配合上层抽象出来的这样一套分析模型,设计并实现一套完全自动化问题定位系统是完全有可能的。 系统架构

Scroll to Top