软件设计服务实施方案_为云设计如何改善您的服务实施

软件设计服务实施方案

云平台具有多种选择和约束,这些约束和约束肯定是由基础架构和业务需求驱动的,这些需求和约束确实使他们的定价计划和客户采用方式多样化。 但是它们通常也具有隐含的价值:考虑到某些约束条件进行设计将有助于扩展和复制,将提供性能提升并增加收入。 要求超时或对出站流量和数据存储使用的限制等约束是否真的那么糟糕? 但是,在为私人托管服务进行设计时,您可能会跳过或忽略其中的一些,而错过了改进服务设计的机会。 这里有几点值得考虑:

  • 营利性设计 :无论您选择哪种PaaS,它始终会对网络流量,数据存储连接,数据存储空间等产生限制,这是合理而显而易见的:它们毕竟需要获利。 在为云设计时,您绝对需要面对这些限制,以尽量减少开支(查看数据模型,限制所需数据,限制出站流量,添加缓存机制等),因为您当然希望尽可能增加月收入。 为您的私人托管服务进行设计时,您可能并不会非常重视其中的一些参数,但是稍后会意识到它们的重要性。
  • 为性能而设计 :作为上一点的一部分,您可能需要调整您的设计以适应某些云约束,并获得可观的性能提升,这与货币化没有直接关系(但是毕竟会以某种方式对其产生影响)。 您需要限制出站流量,请求超时,数据库中的查询数量,任何长时间运行的流程等:嗯,对这些主题施加一定的健康压力绝对不会损害您的设计。
  • 针对最新技术和标准的设计 :PaaS通常不支持所有现有技术或每种技术的所有框架/工具,但它们通常提供众所周知且广泛使用的最常见的框架/工具,因为它们显然需要针对大型社区并提供便利您的部署(及其收益)。 这些限制可能会改变您有关构建管理的决定,例如,放弃您久经考验的ant脚本并在Heroku上使用Maven,或者最终停止使用某个古老而知名的库,而转向一个更现代,更有效的库。 尽管这可能会因意外的学习曲线而对路线图产生影响,并且您可能不会在漂亮的私人主机上遇到这个问题,但是在进行项目时可能是时候提升自己的能力了,您迟早会体会到的。 而且它可以在将来促进新团队成员的整合。
  • 抽象设计 :大多数PaaS都将需要某种平台/ API依赖关系,这将使您的应用程序依赖于云平台,这是您肯定会避免的。 添加更多的抽象层可能会解决此问题:例如,您可以在GAE上使用Memcache或Big表,但是您的服务不应该知道您是否真的想保持平稳的可移植性。 确实,这是一项额外的工作,可能会影响选择目标Paas而不是其他目标Paas的决定,但是在以后的举动中值得这样做。 您可能不会在更开放的远程或私有主机上浪费时间和精力,但是您可能会在以后进行复杂的重构,并想知道为什么简单简洁的抽象不属于您的初始设计。

结论

尽管在为私有主机进行设计时会合理地忽略云约束,但是您可以记住一些约束并针对它们挑战设计,从而获得快速的增值:您的设计将如何React? 将应用程序部署到其他地方会容易吗? 您的获利能力会改善您的设计以适应其中任何一种情况吗?
只要听起来不完全是人造的,并且值得一试,您就会发现一些潜在的附加值。 您可能已经遗漏了许多非功能性需求,并且可能还考虑将云平台用于最终部署。 挑选两个或三个最常用的工具(AWS,GAE,Openshift,Heroku,Cloudbees值得一提,但不是唯一的),并敢于进行假想的设计。

翻译自: https://www.javacodegeeks.com/2014/07/how-designing-for-the-cloud-would-improve-your-service-implementation.html

软件设计服务实施方案

云计算设计实施方案 摘要 电,并只需要对它们所使用的资源付费。今天,计算资源在人们的H常生活中逐渐变得不 可或缺,于是如何以更好地方式给公众提供计算资源受到很多研究人员和实践者的关注 。随着多核处理器、虚拟化、分布式存储、宽带互联网和自动化管理技术的发展,产生 了一种新型的计算模式——云计算,它能够按需部署计算资源,用户只需要为使用的资源 付费。从本质上来讲,云计算是指用户终端通过远程连接,获取存储、计算、数据库等 计算资源。云计算在资源分布上包括"云"和"云终端"。"云"是列互联网或大型服务器集 群的一种比喻,由分布的互联网基础设施(网络设备、服务器、存储设备、安全设备等) 等构成,几乎所有的数据和应用软件,都可存储在"云"里,"云终端",例如PC、手机、 车载电子设备等,只需要拥有一个功能完备的浏览器,并安装一个简单的操作系统,通 过网络接入"云",就可以轻松地使用云中的计算资源。 云计算概念 2.1 云计算产生的背景 21世纪初期,崛起的Web2.0让网络迎来了新的发展高峰。网站或者业务系统所需要处理 的业务量快速增长,例如视频在线或者照片共享,这样的网站需要为用户储存和处理大 量的数据。这类系统所面临的重要问题是如何在用户数量快速增长的情况下快速扩展原 有系统,随着移动终端的智能化、移动宽带网络的普及,将有越来越多的移动设备进入 互联网,意味着与移动终端相关的IT系统会承受更多的负载,而列于提供数据服务的企 业来讲,IT系统需要处理更多的业务量。由于资源的有限性,电II,J成本、空间成本、 各种设施的维护成本快速上升,直接导致数据中心的成本上升,这就面临着怎样有效地 利用这些资源,以及如何利用更少的资源解决更多的问题,同时,随着高速网络连接的 衍生,芯片和磁盘驱动器产品在功能增强的同时,价格也在变得甘益低廉,拥有成百上 千台计算机的数掂中心也具备了快速为大量用户处理复杂问题的能力…。技术上,分布式 计算的日益成熟和应用,特别是网格计算的发展通过Internet把分散在各处的硬件、软 件、信息资源连接成为一个巨大的整体,从而使得人们能够利用地理上分散于各处的资 源,完成大规模的、复杂的计算和数据处理的任务oJ。数据存储的快速增长产生了以GF S(Google File System)、SAN(Storage Area Network)为代表的高性能存储技术。服务器整合需求的不断升温推动了Xen等虚拟化技术 的进步还有Web2 0的m现,SaaS(Software as a Service)观念方兴未艾,多核技术的普及等,所有这些技术为产生更强大的计算能力和 服务提供了可能。计算能力和资源利用效率的迫切需求,资源的集中化和技术的进步, 推动云计算应运而生。 2.2云计算定义 为了更好地理解云计算,先让我们举个生活中的例子、这就好比是从古老的单台发电机 模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就 像煤气、水电一样,取用方便,费用低廉,最大的不同在于,它是通过互联网进行传输 的。让用户通过高速互联网租用计算资源,而不冉需要自己进行大量的软硬件投资。许 多计算技术研究人员和实践者已经尝试着以各种各样的方式定义云计算。基于云计算的 发展和我们对云计算的理解,我们给出如下定义: 云计算是一个模型。这个模型使对可配置计算资源(例如网络、服务器、存储、应用程 序和服务等)的共享池(pool)的便捷、按需网络访问成为可能。云计算是一种新兴的共 享基础架构的方法。它统一管理大量的物理资源,并将这些资源虚拟化,形成一个巨大 的虚拟化资源池。云是一类并行和分布式的系统,这些系统由一系列互联的虚拟计算机 组成。这些虚拟计算机是基于服务级别协议(供应者和消费者之问协商确定)被动态部署 的,并且作为一个或多个统一的计算资源而存在。云计算可以按照用户对资源和计算能 力的需求动态部署虚拟资源,而不受物理资源的限制。用户所有基于云的计算和应用工 作在虚拟化的资源上,不需要关心这些资源部署在哪些物理资源上,用户可以方便地变 更对计算资源的需求。 云计算的产业三级分层:云软件、云平台、云设备。 上层分级:云软件 Software as a Service (SaaS) 打破以往大厂垄断的局面,所有人都可以在上面自由挥洒创意,提供各式各样的软件服 务。 参与者:世界各地的软件开发者; 中层分级:云平台 Platform as a Service (PaaS) 打造程序开发平台与操作系统平台,让开发人员可以通过网络撰写程序与服务,一般消 费者也可以在上面运行程序。 参与者:Google、微软、苹果、Yahoo!; 下层分级:云设备 Infrastructure as a Service (IaaS) 将基础设备(如IT系统、数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值