研发基于云计算的应用软件与传统软件的差异

简介: 本文讲的是研发基于云计算的应用软件与传统软件的差异,云配置能帮助研发人员从应付基础架构的琐事中解脱出来,但又出现了一些必须应对的新差异。这些差异包括研发人员如何使用数据库,对无国界应用软件的使用范围和如何应对不同的框架结构。

本文讲的是研发基于云计算的应用软件与传统软件的差异,【IT168 资讯】云配置能帮助研发人员从应付基础架构的琐事中解脱出来,但又出现了一些必须应对的新差异。这些差异包括研发人员如何使用数据库,对无国界应用软件的使用范围和如何应对不同的框架结构。
  云上的无国界问题和服务器故障
  Sun公司负责云计算业务的首席技术官Lew Tucker表示"如今最大的变化就是软件本身就能够提供应用软件所需的资源"。研发人员为云编译应用软件使用API(应用编程接口)就能实现设计,这样他们就需要从云供应商处获得更多资源。
  微软公司负责Windows Azure云平台的企业副总裁Amitabh Srivistava表示,研发人员必须针对商用设备在云上的使用和冗余进行设计。他认为"这是设备出现故障时的保证,这样你就必须设计能在云上运行的冗余应用软件"。
  创建云需要设计无国界应用软件,Srivistava表示"如果你有国界限制,就会成为问题。云上的模式是通过设计无国界应用软件,如果有软件失灵,你就可以放弃它重新来过"。有了云,就没有了本地硬盘的概念。也没有了国籍的限制,但这些都取决于你使用的是无国界应用软件。
  Sun的Tucker强调说"应用软件最容易的类型就是无国界。不过有趣的应用软件总是有国界限制的,这也是为什么我们仍然需要数据库或者目标物来存储某些国界属性,保留诸如用户信息的条款"。但是网络前端这样需要扩展的应用软件的组成部分在云上都是无国界的。
  云的另一项不同之处:应用软件不同部分可能会出现在云上的不同地方。举例来说,演示层可能在Facebook上,存储是在亚马逊在线的S3上,应用软件逻辑层可能是在其他地方运行等。Tucker表示"在此之前,人们只是在自己的服务器上完成整个应用软件的研发"。
  所有这些问题意味着创建云需要对系统体系架构的新型思维和对大规模扩展的重视。Tucker表示"这里没有魔术可言。为云创建可扩展应用软件仍然需要扎实的技术基础和高超的设计理念"。
  但云平台会对应用软件研发有所帮助。在某些情况下,诸如使用谷歌的App Engine,某些应用软件就能自动执行扩展,而在其他情况下,设计模板能用于水平扩展应用软件。亚马逊在线的弹性计算云能提供多重可用区 (Multiple Availability Zones),这样研发人员能将一个应用软件分配到多个位置。发言人Kay Kinton表示"在此之前,只有非常大型的企业才有实力这么做"。弹性计算云中一种称之为"弹性IP"(Elastic IP)的能力能实现将互联网地址从失效实例到可用实例的快速重新定位。
云上数据库的不同点
  提取和无国界的应用也涉及到数据库。Benjamin Day Consulting的总裁Ben Day就举例说,Azure比起标准的关联模板能为研发人员提供不同种类的数据库。Azure存储引擎不能用于标准的关联数据库,因此如果你使用标准关联数据库开发一款标准应用软件,能用到的很多元素在云数据库中是无法使用的。他还以存储流程中的关联数据库概念为例表示,查询逻辑和真实的数据比较接近。在Azure云上就无法使用。
  Day表示"问题是使用Azure的话,不能保证数据在任何特殊的位置,数据库或者任何特殊设备上也能使用。这样你就无法编译SQL查询,因为存储流程无法再进行关联"。另外,Azure存储引擎与微软规划的SQL Server的SQL数据库服务云版本是不同的,Day强调说,因此研发人员在编译时必须非常小心。比如说,SQL Server是将数据存储在表格中,而Azure是将1MB文件作为二进制大对象来存储的。
  而且并不只是Azure有这些数据库的差异。谷歌的App Engine产品经理Pete Koomen举例说,谷歌的App Engine不仅抽取了真实物理硬件而且还有设备的任何概念。这就意味着研发人员可以上传代码,然后谷歌对其在数据库中进行管理和分类。Koomen表示"因为我们让整个流程更加自动化,因此这种研发人员必须遵循的特定模式与传统的结构化查询语言模式是不同的"。
  使用App Engine,研发人员就可以利用谷歌的Big Table数据存储来用于永久储存。Koomen解释说"Big Table不是一种结构化查询语言数据库,原因是某些由SQL数据库支持的函数会让数据库在多重平台上的分离非常困难"。
  Koomen还表示"使用我们的系统,我们实行的是从开始就采用反向思维的编程模式"。研发人员同时在不同地点存储数据的好处是这种方法能让应用软件非常有效的进行查询。
  Koomen反对在云环境中使用关联数据库:"我们发现在流量高发的情况下,关联数据库非常难于管理,还会耗费研发人员大量的资金和资源"。
适应云上的快速变化
  咨询公司Model Metrics在Salesforce.com和其他云上运行了应用软件。公司的首席技术官约翰.巴恩斯表示,他们发现在云基础应用软件研发和网络客户端服务器研发之间的主要不同是"云上的变化更为迅速"。
  举例来说,Salesforce.com一年会更新多次,每次升级可能都有一些研发人员需要利用的地方。巴恩斯表示"作为一名研发人员,你必须和这些研发变化保持同步。密切关注不同博客上发表的最新动向"。
  研发人员还应该了解不同的设计模型,比如最终连贯性对于应用软件就是几毫秒都会发生变化的属性。巴恩斯表示"结果就是你无法利用数据库来追踪下一个价值点。出于类似原因,他们要想利用云,就要针对轻微的差异进行编程"。
处理云上的相关问题
  巴恩斯表示云上提供的网络服务让研发平台更加容易。研发人员只需关注创新和业务逻辑,而不用担心诸如操作系统和硬件设备等基础架构。举例来说,Salesforce.com Force.com云就能提供安全,工作流,管理和负载平衡。
  Model Metrics公司有一家用户,本来计划在微软的.Net平台上创建学院准入应用软件,但是他们发现如果在Force.com上研发价格能便宜3到4倍,因为Force.com使用的是预先创建的功能函数。
对云上研发人员的忠告
  不过研发人员必须谨记在云平台和许可证模式之间的差异,巴恩斯表示:不同的云有不同的定价体制。
  Salesforce.com研发市场部门副总裁亚当.格里斯向关注云的研发人员提出了自己的忠告:研发人员必须了解他们选择的供应商。Koomen也表示"他们应该以能脱离平台的方式来研发他们的应用软件"。谷歌就是通过支持常用的Python语言和Django网络框架来实现这种灵活性。 Koomen还表示,谷歌正在研发开源上传和下载工具来实现数据在App Engine上的进出。

原文发布时间为:2009-08-03
本文作者:IT168.com
本文来自云栖社区合作伙伴IT168,了解相关信息可以关注IT168。
原文标题:研发基于云计算的应用软件与传统软件的差异

目录
相关文章
|
3月前
|
Cloud Native 安全 网络安全
云计算与网络安全:技术融合与挑战云原生技术在现代软件开发中的应用
【8月更文挑战第28天】在数字时代的浪潮中,云计算和网络安全成为信息技术领域的两大支柱。本文将探讨云计算服务的分类、特点及其面临的安全威胁,分析网络安全的基本概念、重要性以及信息安全的关键要素。同时,文章将深入讨论云计算环境下的网络安全问题,包括数据保护、访问控制和合规性挑战,并提出相应的解决策略和技术措施。最后,通过一个代码示例,展示如何在云计算环境中实现基本的数据加密,以增强信息的安全性。 【8月更文挑战第28天】 随着云计算技术的飞速发展,云原生技术已成为推动软件行业创新的关键力量。本文将深入探讨云原生的核心概念、优势以及如何在现代软件开发中有效利用云原生技术。我们将通过具体案例,展示
|
6天前
|
API 数据处理 开发工具
云计算在金融行业的应用与挑战
云计算在金融行业的应用与挑战
14 0
|
1月前
|
机器学习/深度学习 边缘计算 人工智能
探索云计算的未来:技术趋势与应用场景
【10月更文挑战第4天】探索云计算的未来:技术趋势与应用场景
79 7
|
2月前
|
机器学习/深度学习 安全 网络安全
云端盾牌:云计算时代的网络安全守护在这个数字脉搏加速跳动的时代,云计算以其高效、灵活的特性,成为推动企业数字化转型的强劲引擎。然而,正如每枚硬币都有两面,云计算的广泛应用也同步放大了网络安全的风险敞口。本文旨在探讨云计算服务中网络安全的关键作用,以及如何构建一道坚不可摧的信息防线,确保数据的安全与隐私。
云计算作为信息技术领域的革新力量,正深刻改变着企业的运营模式和人们的生活。但在享受其带来的便利与效率的同时,云服务的安全问题不容忽视。从数据泄露到服务中断,每一个安全事件都可能给企业和个人带来难以估量的损失。因此,本文聚焦于云计算环境下的网络安全挑战,分析其根源,并提出有效的防护策略,旨在为云服务的安全使用提供指导和参考。
72 8
|
3月前
|
存储 分布式计算 Java
Java在云计算中的应用如何?
Java在云计算中的应用如何?【8月更文挑战第11天】
171 4
|
3月前
|
存储 边缘计算 安全
边缘计算与云计算的协同工作:技术解析与应用前景
【8月更文挑战第4天】边缘计算与云计算的协同工作是未来信息技术发展的重要趋势。通过合理地分配任务和资源,两者可以相互补充、发挥各自的优势,实现更高效的数据处理和分析。这种协同模式不仅提高了系统的性能和可靠性,还满足了复杂多变的应用需求,为人工智能、物联网等技术的发展提供了强有力的支持。
216 11
|
3月前
|
分布式计算 并行计算 大数据
【数据挖掘】百度2015大数据云计算研发笔试卷
百度2015年大数据云计算研发笔试卷的题目总结,涵盖了Hadoop、Spark、MPI计算框架特点、TCP连接建立过程、数组最大和问题、二分查找实现以及灯泡开关问题,提供了部分题目的解析和伪代码。
54 1
|
3月前
|
SQL 数据管理 关系型数据库
SQL与云计算:利用云数据库服务实现高效数据管理——探索云端SQL应用、性能优化、安全性与成本效益,为企业数字化转型提供全方位支持
【8月更文挑战第31天】在数字化转型中,企业对高效数据管理的需求日益增长。传统本地数据库存在局限,而云数据库服务凭借自动扩展、高可用性和按需付费等优势,成为现代数据管理的新选择。本文探讨如何利用SQL和云数据库服务(如Amazon RDS、Google Cloud SQL和Azure SQL Database)实现高效的数据管理。通过示例和最佳实践,展示SQL在云端的应用、性能优化、安全性及成本效益,助力企业提升竞争力。
72 0
|
3月前
|
机器学习/深度学习 网络安全 TensorFlow
探索操作系统的心脏:内核与用户空间的奥秘云计算与网络安全:技术挑战与未来趋势深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【8月更文挑战第29天】在数字世界的每一次点击与滑动背后,都隐藏着一个不为人知的故事。这个故事关于操作系统——计算机的灵魂,它如何协调硬件与软件,管理资源,并确保一切运行得井井有条。本文将带你走进操作系统的核心,揭示内核与用户空间的秘密,展现它们如何共同编织出我们日常数字生活的底层结构。通过深入浅出的讲解和代码示例,我们将一同解锁操作系统的神秘面纱,理解其对现代计算的重要性。 【8月更文挑战第29天】本文将深入探讨卷积神经网络(CNN)的基本原理和结构,以及它们如何被广泛应用于图像识别任务中。我们将通过代码示例来展示如何使用Python和TensorFlow库构建一个简单的CNN模型,并训练
|
4月前
|
存储 分布式计算 视频直播
阿里云服务器的十二种典型应用场景:解锁云计算的无限可能
场景概述: 区块链技术在金融、供应链管理等领域有着广泛的应用。阿里云提供了区块链服务BaaS,支持联盟链的快速部署和管理。