Cloud Computing - The Spring Semester - 2017 (云计算,春季,2017)
Bookmarklblabs
Cloud Computing - The Spring Semester - 2017 (云计算,春季,2017) is a science podcast hosted by lblabs. It has 18 episodes, with the latest published June 2017.
为什么不能进行云编程?李冰[email protected]在当代云计算被炒得天翻地覆的情况下,一个尴尬的事实是,程序员并不能对云系统进行编程。为了帮助程序员快速开发云计算系统,当前的软件工程技术产生了三个发展方向。第一,通过为特定计算环境建立基础架构系统,从而大大减轻开发人员的代价。这些基础架构系统力图通过软件工程技术把复杂的计算环境开发细节隐藏起来,即代替用户解决这些庞杂的技术问题;同时,向开发人员提供一套脚本语言或者利用现有面向对象技术,描述具体应用需求。这样,在整个开发过程中,开发人员完全不需要关心互联网计算环境的细节,只要掌握基本单机或者简单网络环境下的逻辑描述方法,就可以完成互联网环境中的软件开发。当前,这种方法被普遍采用;学术界和工业界都有众多上述架构存在;新的架构也在不断被提出。云计算系统作为一个互联网环境中的特殊软件,主要就是通过这种方法来开发的。这种方法的优点很明显,那就是通过软件虚拟方法把复杂计算环境抽象成了简单环境,从而降低开发成本。不过,它的缺点也很明显。在整个开发过程中,开发人员完全依赖于已有架构,他们的主动开发能力完全被束缚,失去对软件系统级别上的控制能力。另外,每一个基础架构通常只能针对一种特殊环境来进行虚拟化,几乎不可能存在把互联网这样复杂系统中所有计算细节都隐藏起来的架构。因此,如果在一个具体计算环境中没有对应架构存在,开发人员开发代价将大大提高,甚至无法进行开发。根据我前面对云计算编程的定义,由于这个方法开发人员无需了解互联网复杂计算环境知识,并且完全依赖某个特殊环境中的虚拟基础架构,无法自由构造出满足各种特殊需求的云计算系统,这种开发方式不能叫做对云计算系统进行编程。第二种方法就是提出新的应用程序接口和设计模式,并且以开放代码的方式帮助程序员开发互联网系统。由于互联网系统的复杂性,必然要求软件工程研究人员提出大量新的程序接口以及组合这些接口的设计模式。利用这些接口和设计模式,可以针对不同互联网计算环境灵活开发出各种可能的计算系统。在这个过程中,互联网计算环境中的技术细节对开发人员并不是完全透明的,程序员必须对互联网计算环境有所了解;同时由于应用程序接口和代码级成熟设计模式的使用,开发代价并不高。这种方式克服了利用成熟架构开发时开发人员完全被动的地位,给他们提供了利用自己的能力主动适应各种计算环境的可能性。更进
science ·zh-cn ·18 episodes
No episodes available yet.
Loading reviews...
Loading similar podcasts...