云计算七问七答

ksz9031 mmd读取不了_ZYNQ. LwIP.PHY.KSZ9031RNX 新一块板子米尔科技的z-turn 使用的PHY芯片是Micrel的 KSZ9031RNX 而不是zedboard上的Marvell的。直接使用lwip的echo server demo时会报错 , 无法启动。在网上找了很久终于找到几篇关于这个问题的文章。修改PHY的驱动xemacpsif_physpeed.c文件该芯片的PHY Identifier 是 0x0022bsp设置中修改参数以提速MEM... 阅读详情

作者 吕维德 发布于 2009年3月28日 上午12时30分

缘起

最近因为工作需要,又再度开始接触 Amazon EC2/S3(早在2006初这个服务刚推出不久时曾用过一次,那时是RoR加一堆merb,不过后来随着项目结束也就渐渐忘了这事),结果这次随便查了些资料却发现“云计算”这个单词似乎已无所不在泛滥成灾,也让我一时兴起想了解一下到底现在大家口中所谓的“云计算”是在指什么。

之所以这样好奇主要的原因是在许多地方都看到有人自称在提供云计算服务,但这些服务间彼此的性质、形态与做法差异性却很大,例如EC2与GAE两者就不太一样,GAE与Salesforce又很不同,搞到最后,似乎处处是云端,人人在漫步。

根据维基百科的定义,云计算最宽松的定义是这样的:

它是一种计算方式,通过互联网将资源“以服务”的形式提供给用户,而用户不需要了解、知晓或者控制支持这些服务的技术基础架构(“云”)。(It is a style of computing in which resources are provided “as a service” over the Internet to users who need not have knowledge of, expertise in, or control over the technology infrastructure (”in the cloud”) that supports them.)

如果你对这样的定义没问题,那非常好,不用再浪费时间看下去,去喝杯咖啡吧。

很可惜这样的定义在我听来似乎宽松的有点夸张了,因为这样说来,我在家里摆几支iPhone跑些服务并开放API给人用,其实也算是云计算喽?(还是高雅的Apple云哩)就因为这该死的好奇心,我花了几天时间调查并整理了些相关资料,现在总算比较有个头绪了。

请注意这只是我个人的心得整理,文中对于名词的定义与诠释,尤其是“云”,只是我个人的想法,如果有错欢迎各方大德赐教。

从主机服务到VPS,它是真正的云吗?

基本上,如果要细究到底云是什么,可能可以先吵上个三天三夜还没定论,因为根据众多前辈的说法,云这个字本来就是个流行词汇(Buzz Word),想用的人就随需取用好了,其实根本没啥定义好谈的啊。因此,我打算先跳过试图去定义这个字的破题法,从实际的部署方式来看这件事。

以往一般人要提供网络服务,大多是去租虚拟主机,有钱一点就丢机器到机房去,这是最常见也最传统的手法,这个手法最大的缺点在于:如果临时有大流量需求,例如办个活动,很难迅速扩充服务能量,不论是要搞到大量的机器,或无穷尽的带宽,都是个问题。

因此,这几年来比较流行的玩法是所谓的VPS/VDS(Virtual Private Server),透过类似XEN这样的软体,将一台实体服务器虚拟化(Virtualization)成多台虚拟机器然后出租,这样一来当临时有大流量需求时,可以很容易地加买几台虚拟机器就撑过去了。

前面开头谈到的EC2就是这样一个服务,另外这一两年颇受好评的Slicehost也是,在EC2的例子里,每一个虚拟出来的机器叫做一个实例(Instance),因此要应付大流量事件时,可以狂开Instance撑过去,这比狂买实体机器便宜多了。

由于VPS真的超方便而且很好用,因此迅速受到大家欢迎,久而久之,VPS这样的服务似乎也就跟云画上了等号,但这个等号里,有个地方却值得进一步讨论。

简单来说,今天一个人在EC2买了100个Instance,它们并不会自动联合起来工作,而是要靠人工去规划,例如最常见的是在前面放个逆向代理(Reverse Proxy),然后把请求平均导向到这100台机器上(轮询负载均衡,Round-robin Load Balancing),并且,更重要的是应用本身在撰写时就要考虑到将来能支持跑在多个分散的机器上,例如Session要怎么维持?全局内存(Global Memory)如何分享?数据库是否也要散聚在不同机器上?如果分散的话,要怎么维持资料同步?等等这一大堆相关的细节要处理,一个没弄好,呃,就成了 Twitter第二了。

从这个角度看来,VPS(不论是EC2还是Slicehost)提供的其实是虚拟化与负载均衡服务,至于在这个基础服务之上,用户要怎么玩就是各显神通。但负载均衡与云似乎并不尽然相同呀!

世界上还有其它种类的云吗?

有,例如 Google App Engine(简称GAE)提供的服务。

简单来说GAE是由三个东西组成的,分别是MapReduce、BigTable和GFS(Google File System),其中最重要的特色就是MapReduce。MapReduce可说是一个演算法,也可说是一个框架(看你读的文献来源),但它基本上是由Map与Reduce两者组合,运作方式也很简单:

  • Map:主节点将工作切割成许多小块丢给子节点去执行,子节点可能会再切割工作成各多的小块给其下的子节点去执行,因此这是一个树状的结构。当子节点完成计算后会将结果传回给主节点。
  • Reduce:主节点拿到子节点传回的结果后,将它组合起来,就完成工作了。

对MapReduce有兴趣又闲的发慌的朋友可以去看看Google发表的一篇论文与简报(保证会睡的很香甜:P)。

类似GAE这样的服务,它们最大的特色就是会将工作切割成很多小块,然后经由多台电脑联合起来一起运算,也因为要切割,因此通常会伴随者一个分布式文件系统(在GAE的例子里,叫做GFS),通常也会有一个分布式的文件库,例如GAE里叫Bigtable。

当然前面讲的都是针对底层架构的设计,但对最前端的开发者来说它代表什么意义呢?很简单,开发者可以完全不用管它有100台或10000台电脑在运作,只要照着GAE提供的SDK开发程序,将来布署到GAE上后就会自动去调用一堆电脑(而且很有可能是分布在世界各地数据中心里的)来发功,从这个角度来说,开发者要担心或处理的细节是比较少的,因此理论上上市时间也是比较短的。

如果不想用GAE还有其它选择吗?

有,Hadoop是Aapche基金会里一个基于Java的主要计划,基本上可视为开源版的GAE(很多关键技术是依据Google开放的学术论文来实现的,例如Map Reduce、分布式文件系统等),目前最力挺的开发者是Yahoo,用于该公司的搜索引擎上,而Hadoop的创始者目前也在Yahoo上班(今年红利会不会很伤?:P),这里有一篇iThome的中文报道值得一看。

Hadoop主要由下列三者组成(其它详细说明请看官网):

  • Hadoop Core:主要就是实现MapReduce;
  • HDFS(Hadoop Distributed File System):参考GFS而来的分布式文件系统;
  • HBase:基于HDFS的分布式资料库(功能等同于Google Bigtable)。

Hadoop/GAE与EC2是互斥的吗?

不见得,要看比较的面向为何?但实际上它们是可能合作的,其中最著名的例子是纽约时报在EC2上用Hadoop转了4TB的PDF(这篇文章超级精彩不看可惜)。

故事大略是这样:

NYT有一大票1851-1922年间扫描的一千一百万份文章要从TIFF图档格式转换为PDF,由于数量实在太庞大,转换起来不但耗时甚久,也需要极大数量的机器,就算有钱如NYT也不想当凯子爷投资这么多啊~~~(而且因为转换时间太久,也不太可能跑去BestBuy刷它个几千台PC回来,然后速速转完就退回去;P)

最后NYT的工程师将所有档案传到S3放着,然后到EC2开了100个Instance,再装个Hadoop利用这100台电脑跑分布运算,结果是只花了24小时和大约3000美金就搞定(由于处理速度实在太快,他们实际上还跑了两次吶……)

这个例子也正好带出下一个主题。

EC2到底是不是云?

这要看你怎么定义云这个字,以我而言,我倾向认为MapReduce与分布式文件系统是云计算的主要特色,因此在这个定义之上,EC2并不符合首要条件。

但如果我们把问题转成:EC2可以成为云吗?

那答案就是肯定的,从上面NYT的例子可以看出,EC2提供100个Instance只是基础架构,之后再上面跑Hadoop才是真正发功之所在。由此我们也可以得到另一个结论:硬件本身有无虚拟化并不重要(你可以买100台真的电脑连起来,也可以用EC2开100个Instance),重要的是在其上协同运算的方式(MapReduce是这里的关键)。

更简单的二分法则是这样:

  • Amazon只是把硬件虚拟化,然后卖入门级计算能力。
  • GAE/Hadoop则是提供分布式协同运算,打包的计算方案。

因此,或许我们可以把EC2视为云的前奏曲,拥有它之后,要不要做成云(例如装上Hadoop)则是个人选择。

何时选择使用EC2或云呢?

这是更重要也更实际的问题,而答案也很单纯,主要就是考虑下列因素:

1、你要解决的问题是否能符合MapReduce的矩阵分割方式?

或是更白话一点的讲,你要做的事能不能被切割成小小的一块块来各个击破?例如日志文件的分析就很适合,但Friend of Friend数据库就不见得适合。如果你的问题可切割成许多小块,那就可以考虑下一点。

2、Vendor Lock-in是否是个问题?

这个主要是针对GAE而来的,现在如果用了GAE,基本上它的Lock-in(Vendor Lock-in意思是你采用了一个技术,即将自己锁定在这家提供商身上,不能轻易转换提供商)特质非常强烈,例如一定要用Python与 Bigtable,整个资料库栏位的规划方式跟传统RDB完全不同,操作语法也不一样,将来几乎无法迅速移转到其它主机服务(虽然有人写了GAE to EC2 转换指南,但有没有胆量用是另外一回事)。喔,更别提市场上Python的人才有多贫乏这件事,会RoR的人搞不好还多一点。

当然这里可能的另一个选择就是效法NYT,用EC2+Hadoop搞定制化分布式运算,而且用的是Java,人才四处可得,相对门槛就低一点(但搞不定最后会死在MapReduce搞不定上:))

SaaS是云吗?

这也是个好问题。

现在很多Software as a Service的服务商,例如Salesforce也都宣称自已提供了云计算服务,这又是怎么回事?我认为比较合理的看法是将云分成三个层次来看:

  • 第一层是硬件层(100台真的电脑,或100个EC2 Instance)
  • 第二层是框架(Hadoop、GAE或者微软的AZure等)
  • 第三层才是服务(记账、PDF生成等)

在这样的架构下,SaaS是属于第三层服务这个范畴。

也就是服务商先搞定第一、二层后,在其上建构自已的专业服务,例如Salesforce的主力服务是CRM,因此它通过云提供一系列的CRM API给开发者使用。举个夸张的例子(注意,这例子是假想的),搞不好Salesforce也是租EC2然后搞了个Hadoop,接着在上面用Java写了一堆API给人调用。这时它就是三层皆备,可称云而无愧了。

另外类似的例子则是像Gmail、Google Reader等,这些都是基于GAE的软件服务(先搞定一、二层,然后建构第三层的专业服务)。

附录

原本我曾认为EC2的虚拟化可以做到将许多台实体电脑虚拟化成一台大的服务器,这样工程师就只需要针对一台“超级电脑”来写程式即可,如果是这样,那EC2其实也符合分布式运算的标准,但我查来查去只不断看到类似下面的解释:

EC2是为可以跨多台主机进行扩展的应用而设计的,而不是那些需要大量资源的更大的应用。(EC2 is more designed for applications that scale well across many hosts, rather than larger applications that require huge resources. )可扩展性:Amazon能让你方便地增加或者减少服务器,而不是为一台现有的服务器(Instance)增加更多的电力/内存/硬盘等。这在你的应用设计时就考虑可以跨多台服务器进行扩展,以支持增加的负载的时候效果最好。(Scalability: Amazon supports easily adding or removing servers, not adding more power/memory/disk to an existing server (instance). This works well when your application is architected to scale across multiple servers to support increased load.)

因此目前先初步认定EC2并没有提供这方面的能力,当然如果有错,欢迎指正。

后记

在研究期间叨扰了无数前辈,感谢他们牺牲周未时间情义相挺回答各种无趣的问题,在此致上最高谢意。

另外关于EC2 vs. Slicehost的成本或用哪家比较划算这档事,我也小小想了一下,从实际数据看来,如果只是小型的网站或是创业公司,从省钱的角度来看,应该要选 Slicehost,因为它的初始成本最低,例如花个$20美元就可以有颇大的空间与流量可上线运行了。

但EC2/S3的好处则是安全性、稳定性与扩充性,而它最大的缺点则是成本相对较高,一个Instance开着不用一个月就要$72美元,如果生意好流量大那要交的费用就更多。

目前台湾地区用EC2的网站似乎并不多(Pixnet把资料存在 s3的站就多一点),可能主要是连线反应时间不够快所以接受度不高吧,但我们服务的客户本来就多在北美,所以没差。

作者简介

吕维德,台湾Macromedia用户组发起人,RIA博客d.CAT站长。

MSP430FR6043超声波传感器设计记录 1.前言 最近项目设计了一个超声波传感器 参考TI官方的板子EVM430-FR6043搭建的电路 EVM430-FR6043评估模块是一个用于评估MSP430FR6043 MCU性能的开发平台。 MSP430FR6043 MCU是一款超低功耗器件, 集成了超声波感测模拟前端 用于精确地进行超声波测量。 专为超声波水表、热量计和燃气表而设计, MSP430FR6043 器件采用低功耗加速器 (LEA), 可实现基于高速 ADC 的信号采集以及后续优化数字信号处理, 为电池供电型计量提供了一款超低功耗、高 阅读详情

相关推荐

手撕代码系列:Conv2D

在实际的神经网络中,每个卷积核都会对应一个偏置值。这意味着如果网络有多个卷积核,每个卷积核的输出都可以加上对应的偏置。

qq_55794606的博客 907

转载 云计算七问七答

原文出处:InfoQ缘起 最近因为工作需要,又再度开始接触 Amazon EC2/S3(早在2006初这个服务刚推出不久时曾用过一次,那时是RoR加一堆merb,不过后来随着项目结束也就渐渐忘了这事),结果这次随便查了 些资料却发现“云计算”这个单词似乎已无所不在泛滥成灾,也让我一时兴起想了解一下到底现在大家口中所谓的“云计算”是在指什么。 之...

andyywang2014的博客 230

UVM概述及uvm_component和uvm_object(一)

UVM:Universal Verification Methodology(通用验证方法学) UVM:是建立在systemverilog平台上的一个库,提供了一系列的接口,让我们能够更方便的进行验证。验证平台组成: Driver:用来把不同的激励施加给DUT; Monitor:用来检测DUT的输出; Scoreboard:专门用来比较期望值与monitor检测到的DUT输出; Refer

南国之邱 1万+

云计算技术 - Nova创建虚拟机实例过程简述

1、nova-api <文件位于/nova/api/openstackcompute/server.py> nova-api起到了一个Cloud Controller的作用,主要为所有的API查询提供了一个接口(比如Openstack API ,EC2 API),引发多数业务流程的活动(如运行一个实例),并实施一些政策(主要是配额检查)。 因为今天我们主题是虚拟机实例的启动过程,所以,重点关注/nova/api/openstackcompute/server.py。找到类class Contr

weixin_42281203的博客 1155

【Stata双重差分模型】双重差分DID的具体操作步骤

本案例将详细阐述如何使用双重差分法进行实证分析,并展示具体的STATA操作代码。

a519573917的博客 2万+

ESP32天线阵列实现Wi-Fi空间成像与无直视定位

Wi-Fi信道状态信息(CSI)是OFDM系统中表征多径传播特性的基础物理层参数,其复数值包含幅度与相位,可反映无线环境的空间特征。基于CSI的射频感知技术,通过提取子载波级信道响应,结合阵列信号处理,实现到达角(AoA)估计与深度映射,本质是将通信链路重构为空间域传感器。该技术无需专用雷达硬件,具备低成本、被动式、隐私友好等工程优势,在室内定位、行为识别、仓储导航等场景具有广泛落地价值。本文聚焦ESP32平台,详解多芯片相位同步、CSI零拷贝采集、嵌入式MUSIC算法及信道图谱轻量化部署等关键实现。

weixin_30632267的博客 236

云计算的七问七答

来源:InfoQ 作者:吕维德 http://www.labsoft.cn/saas/375.jspa

The Last Song 的专栏 1627

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.youkuaiyun.com/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

云计算术语: Fabric & Instance

云计算术语: Fabric & Instance 本文转自[记录无限:www.gluoo.cn]. Fabric: Description:   字面解释: 结构,构造,组织 建筑;建筑风格;建材 构架;根基 建筑式样;建筑设计;建筑方法 【纺织业】 织物,织品;布 织物的质地(或组织密度) [英国英语]教堂建筑

lz7955823的专栏 3416

落地实战!Python构建地方政府公开数据爬虫:政策/数据/规划全维度抓取(附反爬适配+数据清洗)

政务公开数据爬虫的核心不是“技术多先进”,而是“适配政务网站的特性”——慢一点、稳一点、合规一点,比追求抓取速度更重要。多地市爬虫集群:通过配置文件管理不同地市的URL规则,实现全省/全国政务数据抓取;图片表格识别:结合OCR工具(如pytesseract)识别政务网站的图片表格,转换为结构化数据;数据可视化:将抓取的统计数据导入PowerBI/Matplotlib,实现区域发展趋势分析。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1797

YOLOv8结合GhostNet实现轻量化目标检测:模型设计与性能评测

GhostNet系列的核心是**“幽灵特征图(Ghost Feature Map)”** 概念:通过简单的线性变换(如深度卷积)生成“幽灵特征”,这些特征与原始特征融合后,能以极低的计算成本带来丰富的语义信息。为了突出GhostNet系列的必要性,设计消融实验:分别测试“仅主卷积”“仅幽灵卷积”“GhostNet(主卷积+幽灵卷积)”三种方案的性能,用数据证明“幽灵特征”的不可替代性。简单来说,引入GhostNet系列的YOLOv8,既能体现你的技术深度,又能让毕设的“落地性”大幅提升。

m0_71589036的博客 113

【转载】云计算七问七答

最近因为工作需要,又再度开始接触 Amazon EC2/S3(早在2006初这个服务刚推出不久时曾用过一次,那时是RoR加一堆merb,不过后来随着项目结束也就渐渐忘了这事),结果这次随便查了些资料却发现“云计算”这个单词似乎已无所不在泛滥成灾,也让我一时兴起想了解一下到底现在大家口中所谓的“云计算”是在指什么。 之所以这样好奇主要的原因是在许多地方都看到有人自称在提供云计算服务,但这些

SMCwwh 1542

Qwen-Image(阿里通义千问)技术浅析(一)

Qwen-Image(阿里通义千问多模态模型)是阿里巴巴推出的视觉-语言多模态大模型,能够理解图像内容并完成复杂的跨模态任务。

m0_75253143的博客 673

分布式计算与虚拟化

<br /><br />《云计算七问七答》的作者的观点:“这要看你怎么定义云这个字,以我而言,我倾向认为MapReduce与分布式文件系统是云计算的主要特色,因此在这个定义之上,EC2并不符合首要条件。”<br /> <br />从通俗的角度讲,虚拟化是将物理计算资源拆分为更小的计算资源来使用(单个虚拟机的计算能力不能突破其宿主物理服务器的计算能力),而Hadoop是将多个物理计算资源整合到一起使用。所以虽然两家都说自己是“云计算”,其实技术角度上来说是相反的。<br /> <br />那么到底Hadoop

新线科技的官方博客 1563

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

有关云计算的基础七问

参考资料: https://www.cnblogs.com/klb561/p/8660264.html https://www.icourse163.org/learn/WZU-1205796834?tid=1450594450#/learn/content 云计算五大特征是什么 答: 1、随时接入,网络中提供许多可用功能,可通过各种统一的标准机制从不同终端接入。 2、自助服务,消费者可单方...

weixin_43417682的博客 743

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

女朋友问我什么是云计算?

简介:最近女友新入职了一家互联网公司,看着她满脸疑问的走向我,我知道是时候展现真正的技术了,857.857.最近女友新入职了一家互联网公司,这不,我刚到家,她就满脸疑惑地向我走来,我知道,是时候展现真正的技术了,857.857..857...女友:你乐啥呢?今天部门开会说要拥抱云计算,完成企业数字化转型,什么是云计算呀?我:你可是问对人了,云计算是...云计算是...(我竟一时语顿,难道我的大神形象要毁于一旦?内心OS:天天都在接触云计算,到底什么是云计算?)女友:九折(就这)...心虽慌,阵不乱!火速拿出

阿里云开发者 5523

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 一组有用的 Oracle SQL Script
下一篇: 浅析 Google 的云计算平台
艾沙可牛
博客等级 码龄20年 54粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值