云计算开发与传统开发有什么区别

如题所述

一、方式不同

1、云计算开发:指在云平台上开发,基于硬件资源和软件资源的服务,提供计算、网络和存储能力。

2、传统开发:在软件平台上,是根据用户要求建造出软件系统或者系统中的软件部分的过程。

二、特点不同

1、云计算开发:软件即服务的应用完全运行在云中。软件即服务面向用户,提供稳定的在线应用软件。用户购买的是软件的使用权,而不是购买软件的所有权。

2、传统开发:软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”。


三、优缺点不同

1、云计算开发:云平台的安全问题和隐私保护也特别难以保障。安全问题不能再依靠计算机或网络的物理边界得到保障。

2、传统开发:平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。


参考资料来源:百度百科-软件开发

参考资料来源:百度百科-云计算平台

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-05-19
云计算”这个标签适用于几项技术,充斥着业界和厂商的炒作。不过大多数人承认,云计算绝不是公用计算(utility computing)和XX即服务这么简单。
这种区别对于软件开发人员来说尤为重要;他们知道,这下一大热门技术很可能会给自己的饭碗带来影响。头脑聪明、关注职业发展的编程人员总是在千方百计提升技能,为下一项不可或缺的技术作好充分的准备。
与“普通的”Web开发相比,云计算开发到底有什么不同?如果编程人员想准备好充分利用任何一种云计算:软件即服务(SaaS)、平台即服务(PaaS)或基础架构即服务(Iaas),那么他应该关注哪些技术呢?如果贵公司之前一向从事Web开发,但现在打算大规模采用云计算,那你又应该关注哪些独特的技能呢?由于SaaS开发人员操心的问题可能与使用虚拟开发环境的人员操心的问题全然不同,而业界把“云计算”视作是一种整体式技术,所以学习过程可能会更让人晕头转向。
我请教了经验丰富的开发人员和开发商(因操心这些问题而夜不能寐的技术人员,而不是营销人员),听听他们有何高见。
“在云计算环境开发应用程序就有点像是从美国到访加拿大。几乎每个方面都一样,但是你会注意到存在一些细小的差异,必须顾及到。”--Standing Cloud公司的David J. Jilk
因而,下面概述了你在探索云计算时需要关注的几个方面,包括工具、可扩展性、安全性、架构设计以及不断增加的基础架构知识。
了解你的工具
我们不妨先把简单的部分搞定。向云计算迁移可能需要你学习新的应用编程接口(API),比如面向谷歌应用引擎、SalesForce.com或者你的应用程序将来依赖的任何软件的API。对于大多数开发人员来说,学习新的API、研究新的数据库工具或者探究新的开源平台是很平常的事,不过你的确需要为此留出时间。
另外,虽然一些开发工具拥有允许部署在云计算的插件,但是编程人员必须学习那些功能特性。Ektron公司的工程主管Alpesh Patel说:“以微软SQL Azure为例,存在‘普通的’Web开发环境没有的技术障碍。”你可能只好尽快熟悉稀疏列(sparse column)、扩展存储过程(extended stored procedure)、服务代理(Service Broker)或通用语言运行时环境(CLR)和CLR用户定义类型。
这些工具或升级版有许多比较新颖,所以你可能要注意它们存在的局限性。Patel说:“根据我本人的经验,微软Windows Azure平台不允许在网站中使用混合语言。网站模板、控件、应用程序代码及其他几种组件都必须作为单一语言来运行。我们只好把原先基于SQL服务代理的队列技术改成自定义的队列解决方案。”
为可扩展性而设计
“云服务的可扩展性完全取决于底层的Web应用程序。如果Web应用程序本身就存在编程方面的瓶颈,那么把该应用程序迁移到云计算环境无助于事。”--rackAID公司的Jeffrey Huckaby
云计算承诺的一个优点是,基础架构很容易扩展。于是,一些开发人员误以为“所以开发人员没必要再考虑扩展性,”但是经验丰富的技术人员对此持有不同的看法。
Marc LaFleur是提供具有语音功能的通讯应用软件的托管服务提供商Parlance Corporation的首席架构师,他解释:“云计算不是相当于用更多的硬件来解决问题。没错,云计算提供了看似没有限制的可扩展性,但是前提是设计的系统其架构采用了可以充分利用可扩展性的方式。如果你的应用程序依赖存储在内存中的会话数据,你很快会发现面临重大瓶颈。”
为更高的可扩展性设计应用程序需要你了解更多的知识,而不是更少的知识。rackAID公司首席执行官Jeffrey Huckaby说:“我在与许多刚创办的SaaS提供商和社交网站类型的网站合作时,经常遇到并不明白可扩展性概念的开发人员。云服务的可扩展性完全取决于底层的Web应用程序。如果Web应用程序本身就存在编程方面的瓶颈,那么把该应用程序迁移到云计算环境无助于事。”
他建议,应该学会在职能部门之间合理分配工作负载,并且对代码进行正确的分析。Huckaby说:“当你为比较小的负载编写应用程序或者慢慢扩大用户群时,有时间来逐步改进。不过当你推出Facebook应用程序时,可能没有时间来排除故障和困难。使用XDebug之类的代码分析工具,就能收到奇效。”
正如别以为你的代码天生就很安全,同样别以为你的代码具有可扩展性。Servoy公司首席执行官Jan Aleman说:“你开发的应用程序会比之前开发的任何应用程序都来得庞大。你的应用程序一定要有扩展性。与有着这方面经验的人交流交流;搞技术的都喜欢交流。”
安全性
另一个明显的顾虑就是云应用程序及其依赖的数据具有的安全性。
如果使用云计算,你那些内部的安全技术突然用在公司防火墙的外面。Parlance公司的LaFleur说:“当你面对贵公司里面的业务应用程序时,常常使用一种相对简单的安全模式就应付得了。”你的内部系统通常内置了一些集成安全功能,可能还使用活动目录。他说:“然而一旦到了云计算环境,情况就大不一样了。开发人员在开发过程的早期阶段,既要考虑身份验证(‘我就是我所说的那个人’),还要考虑授权(‘我可以访问哪些数据/系统’)。还要了解你的数据可能受制于哪些法律——比如《健康保险可携性及责任性法案》(HIPPA)和《萨班斯-奥克斯利法案》(SOX),这很重要。”
“云计算开发本身与传统开发没有任何不同。不过,它不大容忍得了糟糕的开发方法。”--Parlance公司的Marc LaFleur
ICF国际公司的高级分析师Kevin McDonald著有《认清云计算:管理云计算领域的风险》一书。他说:“这些问题并不是云计算开发所固有的,但是在云计算环境会被放大,这是一种意料之外的影响。”他建议,开发人员应该熟悉美国国土安全部的全国网络安全部门等组织机构,该部门在推广内置数据安全性(Build Security In)倡议,并且列出了25个最危险的常见缺陷列表(Top 25 Common Weakness Enumerations)。
对于开发人员来说,云计算安全还意味着要考虑数据安全性,并且选择同时符合贵公司的技术要求和业务要求的提供商。就拿咨询公司TeamEXtension首席执行官Bienvenido David III的经历来说吧,“面临的问题更多地涉及配置和策略,而不是软件开发。”比如说,TeamEXtension将经过AES加密的信用卡号码保存在其数据库中。如果发生了安全泄密事件,支付卡行业数据安全标准(PCI DSS)审计人员需要访问服务器,但是亚马逊的弹性计算云(EC2)不允许访问。他说:“我们无法做到PCI与亚马逊EC2实现一级符合。我们可以把信用卡号码保存在别处,但是这么做带来的问题会多得多。Rackspace Cloud也存在与亚马逊EC2同样的PCI问题,所以它同样没戏。”本回答被网友采纳
第2个回答  2013-05-23
云计算现在是大趋势,云计算只需要一个数据终端就能把数据进行快速的传输,传统开发资源耗费大。了解更多的话腾云创智云计算服务是很不错的
第3个回答  2013-05-23
云计算只是一个概念性的名词,其实技术角度上看,只是原有技术上的应用创新