挑战有何不同!云环境中开发 vs 云环境中管理
原创2011-03-17 17:59:33云计算的优点已经被捧上了天,主要包括能够带来业务敏捷性、可扩展性、效率以及节省成本;而许多公司正以越来越快的步伐,迁移和构建专门面向云环境的关键任务型java应用程序。我们最近采访了AppDynamics 公司的工程技术主管Bhaskar Sunkara——这家应用程序性能公司专注于Java和云应用程序,探讨了为云环境开发Java应用程序以及在云环境中管理这些应用程序面临的挑战。

云计算的优点已经被捧上了天,主要包括能够带来业务敏捷性、可扩展性、效率以及节省成本;而许多公司正以越来越快的步伐,迁移和构建专门面向云环境的关键任务型Java应用程序。我们最近采访了AppDynamics 公司的工程技术主管Bhaskar Sunkara——这家应用程序性能公司专注于Java和云应用程序,探讨了为云环境开发Java应用程序以及在云环境中管理这些应用程序面临的挑战。
为云环境进行开发面临哪些挑战?
为云环境进行开发面临的主要挑战之一是,了解应用程序与服务的依赖关系(application service dependencies)是如何处理的,这比了解编程语言还要重要。应用程序与服务的依赖关系包括:分布式环境中部署的数据库、消息 服务器 或其他服务。这些传统上是通过在部署过程中将服务引用映射到物理IP来处理的,但是云带来了一个新的变化因素,连IP地址都不是事先知道的。 那么,您如何知道所有这些依赖关系在哪里、又该如何利用它们?
从根本上来讲,当你拥有面向服务的环境时,会有许多服务彼此“会话”,并且利用众多基础架构元素。在任何一个特定的时间,你的服务可能使用所有其他这些服务。在传统的静态环境中,你很容易了解这些元素在哪里,然后编写代码。开发人员能够确认资源,会知道应用程序一旦部署下去,要使用什么资源。可是在云环境中,无法保证应用程序会使用哪种IP,也无法保证它会如何查找服务或数据。
开发人员需要深入了解如何以一种非常明智的方式来使用服务。高效找到资源的功能需要成为应用程序的一部分,谨慎地使用这项功能方面要有可重复使用的模式。使用查找模式来找到你想使用的服务,是解决这个问题的流行方法之一。如果你在构建应用程序时没有考虑到这些因素,就可能带来无法管理的扩展性和重构问题。
至于正式的规范,J2EE在部署过程中借助资源映射,在资源依赖关系方面已经做得很到位。比如说,应用程序与数据库进行联系,而你与为你提供连接的逻辑资源进行联系。当你部署应用程序时,把这个资源映射到实际的数据库IP/URL,不需要硬编码。
在J2EE开发模式中,开发人员得到JNDI命名上下文,让他们可以查找所需要的服务——这需要用可以将IP依赖关系抽取出来的可感知云的命名上下文来加以包装。这么做的话,可感知云的命名上下文是拥有“服务定位器”(Service Locator)元素的唯一元素,维护起来要容易得多。
为云环境进行开发面临的另一个问题是处理横向扩展——Java开发人员应该知道哪些东西?
云计算的一个基本前提是它能够便于横向扩展(horizontal scaling),但不是所有的应用程序天生都可以横向扩展,它们也从来没必要横向扩展。必须确保云环境中的任何应用程序都具有无状态性(Statelessness)。对于按需基础架构而言,喜欢本地保留状态的习性打破了一切。编写的应用程序必须确保:需要扩展的任何应用层都具有横向扩展的能力。在最近的几年里,我们开始看到了比较新的应用程序中出现这种情况,但这对许多开发人员来说仍是个障碍。
如果让您为从事云环境编程的Java开发人员提议一个最佳实践,那会是什么?
别对数据存储局部化!如果你这么做,这几乎如同将数据处理局部化到某一个Java虚拟机(JVM),而不是把它当作云来对待。这可能会带来局部化到JVM的依赖关系。数据管理应该总是分布式的。你一定要假设服务器会失效,而且是常常失效。关系数据库不再是云环境中的常态。由于应用程序生态系统出现了那么多的变化,应用程序必须天生是无状态的。
当然了,也不要使用物理IP或基于磁盘的定位器来查找你在应用程序中需要使用的服务。要依靠把物理IP抽取出来的位置模式或服务。
那真是个好点子。最后,开发人员将应用程序部署到云环境之前,应用程序测试方面要了解哪些东西?
如果你想测试处于开发周期的应用程序,如果你想看看它在云环境中怎样运行,就面临这个挑战:从本地开发环境迁移到云环境。想从本地开发环境进入到云环境有难度。事实上,没有办法有效地模拟一旦应用程序部署下去,云环境的外观感觉会怎么样。能处理云环境的集成开发环境(IDE)同样仍在不断成熟当中。从本地测试环境切换到云环境的过程越顺畅,开发周期的效率就越高。过去将应用程序部署到云环境上常常困难重重。现在要容易多了,但要让整个过程变得真正的高效顺畅,开发工具依然有很大的发展空间。
原文名:Developing for the cloud: How developing in the cloud is different作者:Cameron McKenzie et al.
【编辑推荐】
什么是原则?
首先了解一下原则的含义: 所谓的原则是指,经过长期检验所整理出来的合理化现象。 要做个条理分明的管理人员,最好把各种原理、原则放在身边,时刻自我提醒,以避免养成独断专行的习性。 然而我们日常所说的原则,是指一个人做事认真不认真,有没有条理,有没有责任感等等。 这是大众化的原则。 做人的原则应该是多方面的。 比如说对待学习、生活、工作等,每个人都会有自己的原则,也就是说有个做人做事的底线,会有所为有所不为,懂得那些事应该努力去做好,那些事可以做,而那些事是绝对不能做的。 做人不能没有原则。 没有了做人的原则,也就没有了衡量对与错的尺度,如果自己都不知道那些事该做,那些事不该做,那么,就很容易走入歧途,因为人是具有社会属性的,时时事事都要受到社会公认的法律和道德等准则的约束,不可能游离于社会之外。 做人要有原则,但这些原则也是与时俱进的。 社会在不断发展,观念在不断更新,需求也在发生着不同程度的变化。 在不同的社会背景下,法律和道德等准则会有所不同,这个时期这样做可能是对的,而同样的做法放在另一个时期就是错的,甚至是违法的。 那么,做人的原则也要随着变化着的社会而不断调整。 做人要有原则,但还应当考虑到原则与发展的关系。 有时候,做人的条条框框太多,并且养成了固有的行为习惯,则可能会束缚人的思维,让人失去开拓创新的精神,甚至思想僵化,很难适应不断发展变化着的社会环境。 因此,人们在遵守做人的原则的同时,还要随时做出适当调整,使自己的做人原则时刻能够适合现时代的要求,不要让原则束缚和禁个自己的思想。 在把握做人的原则上,要有个度。 给自己定做人原则的时候,要合情合理,还要切实可行。 人总是要有一点精神的,不能没有追求,但是,要让自己感觉到目标经过努力是可以达到的,如果突破了这个原则,那么,太重的压力是让自己背包袱,会成为沉重的负担。 做人,无论是做人的原则,还是目标和理想,最终目的是快乐,这样才能达到人生幸福的最高境界,活的太累,是永远快乐不起来的。 做人难,做个好人更难,因为做好人有原则,他有道德水准的约束,需要忍让谦和。 忍:事临头三思为妙,怒上心一忍最高,小不忍祸端常起,互无欺各自平安!让:退一步海阔天空,让三分心平气和,能让人并非我儒,变干戈和睦常乐!谦:人有成绩莫自夸,骄胜自大无益多,历览天下许多事,成由谦逊败归奢!和:世上谁能无有过,莫为小事动干戈,和与人交受众敬,百忍堂中有太和! 说到底,做人做事都是要有原则的,也希望这些原则能够成为自己不断完善人生的起点,把握适度,不求最好,只求更好,在不断进步中快乐自己,奉献社会。 虽然每个人的生活环境不同,文化层次不同,因而所追求的目标和理想也不尽相同,但是,在内心深处,每个人都会有自己不同程度的做人原则。 打字不易,如满意,望采纳。
广域网优化对企业的影响是什么?
广域网可以理解为广泛区域的网络。 相对于局域网来说,广域网在数据链路、路由交换、数据传输以及网络应用环境等各个层面都更为复杂,从而也就需要启用一定的优化技术提升广域网络的性能、服务质量以及效益等。
说起优化技术,人们自然而然能想到的就是缓存、加速等,但是对于企业用户来说,是不是这些耳熟能详的技术就足以满足他们的优化需求了呢?
如今,音视频等流媒体信息已经成为广域网应用环境下的宠儿,同时也将成为广域网优化技术的重点突破对象。
通俗的来讲,在应用方面,压缩、加速也是必不可少的优化步骤,但是针对不同应用的处理尺度必须有所不同。 比如针对声音的可以粗犷一些,但是针对视频的就必须细腻一点,对应的效果就是声音可以比视频稍有延迟,而视频则必须尽量少地延迟和抖动。
不仅如此,企业用户在信息系统中或许已经有专门购置的音视频应用软件或设备。 在这种情况下,广域网优化技术不仅仅要面对的声音和视频这些信息种类,更得面对相应的应用软件或设备,以及哪个对应厂家的哪个产品。 这就要求优化技术不仅要与丰富的应用相结合,而且要与既有的应用产品相结合。
随着经济全球化的发展趋势,一方面原先这些企业用户主动地在有所改观,另一方面企业业务在推进中愈加凸显优化的需求。 而这种新兴而强劲的需求更对优化技术提出了前所未有的挑战,融入应用是一条必须之路,而实际的实现效果却也是够那些广域网优化厂商们好好费一番心思的。
白云生处有人家"还是"白云深处有人家"?
此句出自 杜牧《山行》 远上寒山石径斜,白云深处有人家。 停车坐爱枫林晚,霜叶红于二月花。 本人认为第一个“白云生处有人家”更胜一筹。 。 一般的人会臆断为深处的“深”。 。 这也是情有可原的。 。 白云生处有人家”,描写诗人山行时所看到的远处风光。 一个“生”字,形象地表现了白云升腾、缭绕和飘浮种种动态,也说明山很高。 “有人家”三字会使人联想到炊烟袅袅,鸡鸣犬吠,从而感到深山充满生气,没有一点儿死寂的恐怖。 “有人家”三字还照应了上句中的“石径”,因为这“石径”便是山里居民的通道。 , 何况生比深更具有深美的文学意境。 。 “生”苏教版初一语文课本上印的。 。 因为枫树不能生长在太冷的地方,而如果杜牧能看得到“在白云深处的人家”,那他站的地方已经很冷了,是不可能有枫树的,怎么会有“停车坐爱枫林晚,霜叶红于二月花。 ”呢?更何况,在古代越高的山越是人迹罕至,怎么还会有人定居?这山已经没入白云,还会有人住? 再者,杜牧酷爱运用拟人、比喻等手法,几乎每首诗都有,这首如果没有,不是很奇怪吗? “白云生处有人家”于诗的情境不是很贴切吗? 所以我认为是“白云生处有人家”。
发表评论