返回首页

{S0的}
"Cloudquot;已成为流行语大谈特谈的一个原因。不仅有基于网络的应用程序继续其迁移到云,即可扩展的托管平台,但越来越多的解决方案供应商联机进取的公司提供基于云的托管服务。丰云托管允许社交应用程序的开发和游戏建立强大的,引人入胜的应用程序,能够满足往往是不可预测的流量需求。单人游戏开发商,例如,可以建立移动应用程序负担得起的后端支持,他们成功的尺度上。和更大的操作可发射出尖端社会营销的应用程序,准备去病毒过夜。这就是云hosting.nbsp的权力和机会;
之一,是最早,最流行的云计算平台微软的Windows Azure。作为一个可扩展的主机,它使电流。NET和开发使用其他语言,如PHP和Java的理想空间,推出自己的网站不用担心繁琐的业务问题的应用程序。使用Windows AzureSDK,开发可以部署他们当前的代码基础,以他们的Windows Azure帐户,往往用很少的调整。
说,精明的开发商将审查他或她的应用程序的架构,以确保它的好处,而导航基于云的托管的差异。一些习惯的变化,要求可能不是很明显,有人向云新。一些最大的机会发现,只有通过仔细和彻底探索的平台。
幸运的是,两家公司都提供了他们的真实世界遇到这种问题。一,Gestone [http://www.gestone.com]有一个新的目前在发射前的社交网络服务。其他,Thuzi[http://www.thuzi.com],同时培养作为前瞻性思维的社会声誉根据媒体营销公司,自从其在Windows Azure上的微型第一个非常成功的澳拜客牛排在2009年的竞选。这两家公司一直致力于与Windows Azure,因为社区技术预览有太多的意见,为开发者提供新的云。满足Gestone
安迪Harjanto开始Gestone(发音如"客串-tonequot,;站quot;得到的东西Donequot ;),因为他想创造杠杆现有的社会化媒体,如Facebook,Twitter,链接,创建一个轻量级的协作系统更自然的沟通工具,为团队成员。 "Gestone试图支持内正常合作的团队,以及企业之间的联合会。在昔日的SharePoint和Windows NT,你基本上使用的文件系统并允许其他人访问您的企业网络。时间已经改变事情颇有几分。与所有的社会媒体,企业实际上Facebook和Twitter。 Facebook上的IT工作者。我们不断的信息流向我们走来。我们如何筛选出这些信息quot?;
Gestone"转变,让一个项目的管理模式一个项目团队成员成为"CEOquot的该项目的工作项目之一。gestone Facebook页面上创建一个工作项,完成一个标题目标,团队成员,quot;时间bombquot;对时间敏感的任务,和所有社会互动早已习惯于在Facebook页面。
"Gestone试图做的是采取重要的事情你,让你的工作在某些情况下,而不是仅仅流状态更新,quot;说Harjanto。 "您可以创建一个工作项目,这是一个上下文。然后,您合作,希望你Facebook上的合作,更新和附件。我们努力成为更现代的协作工具,一个比一个基于文件或流协作system.quot;
,当Harjanto于2010年9月开始对Gestone发展在Bellevue,华盛顿,他有两件事情对他有利的工作。一,14年微软Active Directory和对此类产品的工作经验Windows Mobile上,给了他一个可供选择的背景的了解当编码到Windows平台。另一方面,之前成功启动名为guppers,给了他作为一个使用Windows Azure的实践经验生产平台。历史给他带来了洞察与数据处理管理问题,有关他的新公司的洞察力。
Guppers的,短信公司,专注于企业市场,"有点复杂,"说Harjanto的。 "我们被路由到SMS,电子邮件,聊天室网关。我们正在使用的数据中心。做数据中心的成本高,尤其是如果你雇用的人。实际的机器崩溃有时。 [视窗] Azure的宣布时,我们就已经打得四处一段时间。微软邀请我们是一个特色创业时他们的[Windows]在PDC Azure的在2009年11月宣布。当我们切换到的[Windows]Azure的,我们知道,所有的数据本身的备份。这样我就可以多睡觉很容易在夜间。当我开始Gestone的,它是一个没有脑子,我们会使用[视窗] Azure.quot;
使用Visual Studio旗舰2010,Harjanto正在建设自己的前端在Silverlight(C#中),而最大的可移植性到后端架构未来的平台。 "我是一个大的信徒,特别是在商业应用中,非常丰富的用户体验。实际上,我是希望能够使用HTML 5,但很早在游戏中??浏览器支持的是还没有。我选择了Silverlight来提供丰富的用户经验,包括右键单击并拖拽,功能。我们打​​算使用的[Windows]天青当我们移植到iOS。 "目标是在后端我们不改变任何东西,我们只能改变前面end.quot;满足Thuzi
尽管吉姆・齐默尔曼的Thuzi的首席技术官,他更喜欢的标题quot;头developerquot;一个编码器在心脏,他是一队约25至30的主导力量扔进人,一半开发,一半的设计师,与quot; guysquot几个销售;组合。
Thuzi"专业,主要是在社会化媒体营销应用。齐默曼发现像Harjanto,有一个数据中心,是过于昂贵,不可预知的和已经得到它完全摆脱除源控制。 "每一个应用程序或产品,我们这样做,"他说,quot;做的[Windows] Azure的在思想和架构规模。我们并不确切地知道,如果一个应用程序会病毒,所以有很多次,我们将过预期,所以我们不看的情况下,糟糕永不止息的病毒。我们已经习惯了一个大型的可伸缩的模式。即使是小的应用程序扩展到100万用户。一旦你习惯的模式,你看不到任何回去的理由。
quot;大约一年半以前,我们使用的[Windows]天青CTP中的第一次。当我们起步时,我知道我们已经看到,只有一个Facebook应用程序曾经去病毒?没有太多的营销应用,在这一点上做。我知道我不希望风险{A1}购买四台服务器,并有它是一个应用程序,没有起飞。我不知道买多少服务器反正。我可以做一些数学和图出每秒的请求,但是这我所能做的。如果运动是好的,我没有提供足够硬件,我是大麻烦。我需要一个可扩展的解决方案。因为我是一个ASP.NET的MVP,我正要向微软倾斜反正。谷歌的东西是Python的??我不是有意这样做。亚马逊基本上是一样的有我自己的数据中心。微软是比较容易的规模和我没有担心的VM(虚拟机)。这是一个应用程序的观念,而其他更infrastructure.quot;
他的第一个完整规模的Windows Azure应用程序原来是quot;花球?onionquo​​t;忠诚度活动澳拜客牛排。该运动的目的是奖励上半年万Facebook"fansquot;洋葱用一个免费的花球券??经过8个Thuzi星期的开发周期,2009年11月5日,推出的应用程序,希望能命中之日起30日内500,000风扇大关。他们在18日达到。 教训:使用Windows Azure表
两家公司早就知道的一件事是,使用SQL在群集的远程数据提出了新的服务器,他们没有预料到的动态。说,齐默尔曼,"我们要在SQL扼杀。起初,我们不了解云是如何工作的。你在这个庞大的SQL集群??最群集上没有编程的程序员。你通常只看到他们在企业应用程序。集群的工作方式是,有时他们负载平衡,转移,有时连接字符串的工作在一台服务器上或其他,有时,他们采取了VM.quot;
齐默尔曼说,在云中,连接成为间歇并能在意外的时间可能超时。 quot;如果你正在做一个连接数据库权利时发生超时,它使一个例外。如果不这样做有代码来处理它,你会得到一个错误,似乎是random.quot的;"这里的教训是,尽管这强化了彻底的错误处理的需要代码,这也使得强的情况下为Windows Azure的主要特点之一:Windows Azure表。
在Gestone中的,这就是方法Harjanto需要。 quot;我使用SQL表的帐户信息多,但我喜欢的[Windows] Azure表。 这是非常,非常可伸缩。与SQL,当你有上百万的交易时,你做一些连接,分区管理类stuff.quot具Windows Azure的,然而,Harjanto可以映射一个表,每个项目,有效地遍布全球各地,从一个项目。 quot;通过这样做,我得到的好处。一个是安全边界。二,如果该公司希望存档,我可以很容易归档整个表,而不必担心,如果从其他项目的任何记录包括意外。我可以存档整个事情很容易。
"Windows Azure的表是非常可伸缩的。您可以添加十亿十亿对象没有性能下降,因为他们分布,并通过实体的键/值对的工作。这是谷歌或雅虎一样。他们不这样做传统的SQL Server。为可扩展性,他们做的EntityKey /价值对database.quot的;教训:仔细查询
该解决方案为齐默尔曼工作,以及。但有一个需要注意的。因为Windows Azure表的结构,主要是他们缺乏指数中,他发现,他需要仔细建筑师。 quot;如果你忘记放在桌子上,一个索引,你增加一百万行,或者你有一个旧的应用程序与漏位,不被关闭的连接,糟糕的代码,等等,你会做表扫描踢出的[Windows] Azure表。你"备份,然后重试在10秒内消息和其他错误代码你不习惯seeing.quot的??;了解这个,但是,导致他以建筑师不同,包括增加 代码测试节流(后退,然后重试吗??消息)和指示如何处理它的数据层。 "该解决方案是建筑师是正确的。每一个查询你做什么,如果你有一个WHERE子句确保有一个指数
措词查询正确是关键,可以这么说,harjanto的成功,以及。 "你基本上限于两个键的[Windows]蔚蓝。你有一个分区键和一排键。所以,如果你想要做查询外行键或分区键​​,它需要很长的时间,尤其是如果项目是非常大的。但如果你做一个查询基于分区和行键,它非常,非常快。他们这样做的方式是,一切都与同一个分区密钥存储在相同的逻辑服务器。因此,对于一切与该分区键可以很快去到相同的服务器。因此,你需要额外的小心你的表,在设计,特别是性能方面的原因。 了解你的关键场景是的key.quot; 教训:JSON和BLOB的
在Windows Azure表的同时,两家公司击中一个优雅的解决方案,其他高度可扩展的网站使用:笔存储。 "这就是Facebook如何尺度,"齐默尔曼说。 "他们没有数据库中,他们使用BLOB存储。每个用户都有自己的JSON数组,他自己存储的文档。当您返回到该网站,它只是追溯到得到的JSON。这种方式可以支持100M的用户。你正在做的所有更新他们的小store.quot;这样做给Thuzi的能力建设,可以处理的微生一夜成名的不可预测的流量。
对于Harjanto中,同样的技术已经成为中央的电源的Gestone。 quot;,如果你看一下我们的数据结构的方式,我们存储分层数据。项目有很多的工作项目。这些工作项,主要有张贴更新,如Facebook。团队的每个成员都可以提出意见。内张贴更新,你也可以(Gestone)文件附件。或者你可以做笔记甚至存储一个小型的数据库,如电子表格??快速业务部件可以进去后更新。它与层次我们需要存储的对象。这样的[Windows] Azure表是完美的。的[Windows]天青表不存储BLOB文件,只是键/值对。我们存储所有的方式这些事情,我们序列化为JSON格式,一个长字符串。那么长的字符串与更新后,这实际上是存储在表中去。在案件例如,一个PowerPoint文件,我创建一个JSON字符串,在"华盛顿邮报更新这实际上是一个参考的[Windows] Azure中的BLOB。我们可以做一个?很多版本这样,如果两个人更新的文件,我们同时保留files.quot;总结
两个安迪Harjanto在Gestone和吉姆・齐默尔曼在Thuzi学会了一件事情最重要的是:Windows Azure中提供一个高度可扩展,通用平台上建立数据沉重,往往难以预测的应用程序。概括起来讲,这里是关键,开发者可以将自己的外卖店Windows Azure的项目:当交通是不可预测的和可扩展性是一个问题,去一个云平台,专门的Windows Azure[http://www.microsoft.com/windowsazure/windowsazure]利用Windows Azure表[http://msdn.microsoft.com/en-us/library/dd179423.aspx]。确保您的错误处理需要考虑典型云的行为,如负载均衡和可能的连接超时。在您的WHERE子句中包含的指标,包括分区行键。
对于这两家公司的更多信息和工作他们已经与Windows Azure,看看下面的。{A2的}{A3的}{A4纸}{A5的}{A6的}{A7的}

回答

评论会员:理查德MacCutchan 时间:2012/02/03
#定义最大告知编译器的名称有一个定义,但没有具体的价值。它可以用来告诉编译器生成或不生成的程序部分。

您的问题涉及的其余部分我想你的功课,你将不得不尝试自己
评论会员:游客 时间:2012/02/03
。埃斯Harlinn:下面是几个环节:这将有助于解释#定义最大:{A8的}我认为这是有用的,采取一看,在生产高质量的代码,当你正在学习的代码-想在{A9的}巧舌如簧]最好的问候埃斯Harlinn
|在互联网上搜索,你会发现吨的样品和算法实现这些算法
我会建议你拿起了一本书,并宣读了对算法实施前什么,只是为了帮助你开始。|