当前位置:云计算技术专区 → 正文

究竟靠哪些技术支撑起了云计算

责任编辑:cres 作者:harbor |来源:企业网D1Net  2017-03-03 09:52:00 原创文章 企业网D1Net

现在,人们对云计算已经不陌生了,耳朵都听出老茧来了。可很多人其实对云计算并谈不上有多了解,除了真正开发云计算业务的人员,其他人是只知其一,不知其二,只泛泛了解而已。说起云计算,当然离不开要谈IaaS、PaaS、SaaS这三个好朋友了,要将这三个朋友的外貌特征描述清楚很容易,但如果需要知道每个朋友性格怎样,人如何,还有哪些独门特技,将这些都了解清楚可不是短时间的事儿,也就没那么容易了。本文就介绍一些云计算本质上的东西,云计算都需要哪些实实在在的技术支撑,哪些技术让云计算更接地气。
 
首先来说IaaS,IaaS叫做基础设施即服务。IaaS能给消费者提供的是数据中心各种虚拟资源,包括CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件。用户不用管理或控制任何云计算基础设施的物理设备,却能任意使用各种分配的虚拟资源。要将这些孤立的物理设备通过网络打通,通过将这些资源虚拟化起来,实现自如分配,整个过程就需要软件的参与和控制,这就是IaaS的奥秘。有了IaaS,才能将这些单独的物理资源集中虚拟化出来,相比以往在技术上是极大的进步。那么,IaaS主要涉及哪些技术呢?IaaS的技术基础就是虚拟化,更具体来说就是XEN和KVM,所以这方面的知识应该掌握,不用深入到XEN和KVM源代码实现层面,只需要掌握基本使用和libvirt API 编程就够用了。还有OpenStack自然不在话下,这是一个开源云计算的管理平台项目,几乎支持所有类型的云环境,提供IaaS的解决方案。OpenStack是当前IaaS中应用最为广泛的技术,所以想了解IaaS,就要从学习OpenStack入手,OpenStack是使用Python语言写的,要想深入了解需要掌握Python语言,不过随着OpenStack的不断完善,现在流行出现用脚本语言来编写的OpenStack,并受到广泛欢迎。除此之外,Eucalyptus、CloudStack、OpenNebula也都是IaaS要依仗的技术。Eucalyptus是一个用于实现云计算的开源软件基础设施,是Amazon EC2的一个开源实现,它与EC2的商业服务接口兼容,是一个面向研究社区的软件框架,Eucalyptus采用的是Java语言编写。CloudStack是开源的云平台,拥有自己的API云管理平台,也支持亚马逊Web服务API模型,它可以提供比OpenStack更完整的开发平台,相比OpenStack,CloudStack更适合那些技术能力不够强的用户使用,CloudStack采用的编程语言是Java,几乎所有软件开发工程师都接触过Java,学习起来并不难。OpenNebula(ONE)是由欧洲研究学会发起的虚拟基础设备和云端运算的计划,是一款为云计算而打造的开源工具箱。ONE允许你与XEN、KVM或VMware ESX一起建立和管理私有云,在不同的OpenNebula实例上可以运行私有云,Amazon的合作伙伴,也同样可以作为远程的云服务供应商。OpenNebula采用了C++编程语言。这么多的技术为数据中心提供了更多的选择,如果要部署IaaS就要提前学习一下这些技术,以便做到有备无患。当然,这些技术都在不断的优化和完善过程中,技术细节上仍在不断调整和修改,要经常关注这些技术的演进过程,加深自己对IaaS云的理解。
 
其次来说说PaaS,PaaS叫做平台即服务,其作为一种服务,提供的是一个基础平台,而不是某种应用。PaaS平台在云架构中位于中间层,提供中间件服务,比如有应用服务器、数据库、BPM、Portal、消息中间件,远程对象调用中间件等等。PaaS最常用的技术有VMware的CloudFoundry和RedHat的OpenShift。CloudFoundry是VMware推出的第一个开源PaaS云平台,支持多种开发框架、编程语言、应用服务以及多种云部署环境的灵活选择。CloudFoundry云平台主要有Router、Cloud Controller、Health Manager、DEA、NFS、NATS以及Service等模块组成,所有模块的实现都是开源的,都可以下载得到。绝大部分时候我们并不需要了解CloudFoundry是如何实现的,会利用CloudFoundry这个PaaS平台做二次开发就可以了,会使用CloudFoundry就行。OpenShift是全球开源解决方案领导者红帽公司推出的,面向开源开发人员开放的PaaS。OpenShift开源、免费、稳定并权限大,OpenShift提供比任何PaaS更多的灵活性,支持java、python、ruby、php、perl、nodejs等多种开发语言。CloudFoundry和OpenShift本身是由Ruby语言编写完成的,所以要掌握Ruby语言对理解PaaS很有意义,现在CloudFoundry也有采用脚本语言编写的。除了CloudFoundry和OpenShift之外,PaaS还有GAE、SAE、BAE等平台技术,这些大都影响力较小,在此就不再详述了。了解PaaS,掌握CloudFoundry和OpenShift就基本够用的,最关键的还是要学习使用这样的PaaS平台。
 
最后来说SaaS,SaaS叫做软件即服务,是一种基于互联网提供软件服务的应用模式。SaaS 是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。SaaS第一个应用程序是SiteEasy,在1998年发起的Siteeasy.com网站中,由总部位于亚特兰大的公司WebTransi开发完成。最早应用实现的是salesforce公司提出的SaaS 并运用于CRM行业。它通过Internet提供软件的模式,客户根据自己的实际需求,通过互联网向数据中心定购所需的应用软件服务,按定购服务多少和时间长短向数据中心支付费用。
 
除了三种类型云计算所需要的技术以外,最为关键的是要掌握Linux,因为基本所有的开源云计算平台都是基于Linux的。不仅要掌握Linux操作系统的使用,更重要的是对Linux系统的内核有更深的理解,采用利用好这个平台。其实Linux系统是非常强大的,比如飞机的控制系统、银行的系统、手机的系统等等都有Linux的身影,只要你能想到的东西都有Linux的存在,所以一定要掌握Linux系统。当然,介绍了三种云涉及到的这么多技术,使用的开发语言环境也各有不同,没有哪个人有精力全部掌握,这时就要有重点地,根据自己的需要去学习相应的云计算技术。

关键字:云计算

原创文章 企业网D1Net

x 究竟靠哪些技术支撑起了云计算 扫一扫
分享本文到朋友圈
当前位置:云计算技术专区 → 正文

究竟靠哪些技术支撑起了云计算

责任编辑:cres 作者:harbor |来源:企业网D1Net  2017-03-03 09:52:00 原创文章 企业网D1Net

现在,人们对云计算已经不陌生了,耳朵都听出老茧来了。可很多人其实对云计算并谈不上有多了解,除了真正开发云计算业务的人员,其他人是只知其一,不知其二,只泛泛了解而已。说起云计算,当然离不开要谈IaaS、PaaS、SaaS这三个好朋友了,要将这三个朋友的外貌特征描述清楚很容易,但如果需要知道每个朋友性格怎样,人如何,还有哪些独门特技,将这些都了解清楚可不是短时间的事儿,也就没那么容易了。本文就介绍一些云计算本质上的东西,云计算都需要哪些实实在在的技术支撑,哪些技术让云计算更接地气。
 
首先来说IaaS,IaaS叫做基础设施即服务。IaaS能给消费者提供的是数据中心各种虚拟资源,包括CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件。用户不用管理或控制任何云计算基础设施的物理设备,却能任意使用各种分配的虚拟资源。要将这些孤立的物理设备通过网络打通,通过将这些资源虚拟化起来,实现自如分配,整个过程就需要软件的参与和控制,这就是IaaS的奥秘。有了IaaS,才能将这些单独的物理资源集中虚拟化出来,相比以往在技术上是极大的进步。那么,IaaS主要涉及哪些技术呢?IaaS的技术基础就是虚拟化,更具体来说就是XEN和KVM,所以这方面的知识应该掌握,不用深入到XEN和KVM源代码实现层面,只需要掌握基本使用和libvirt API 编程就够用了。还有OpenStack自然不在话下,这是一个开源云计算的管理平台项目,几乎支持所有类型的云环境,提供IaaS的解决方案。OpenStack是当前IaaS中应用最为广泛的技术,所以想了解IaaS,就要从学习OpenStack入手,OpenStack是使用Python语言写的,要想深入了解需要掌握Python语言,不过随着OpenStack的不断完善,现在流行出现用脚本语言来编写的OpenStack,并受到广泛欢迎。除此之外,Eucalyptus、CloudStack、OpenNebula也都是IaaS要依仗的技术。Eucalyptus是一个用于实现云计算的开源软件基础设施,是Amazon EC2的一个开源实现,它与EC2的商业服务接口兼容,是一个面向研究社区的软件框架,Eucalyptus采用的是Java语言编写。CloudStack是开源的云平台,拥有自己的API云管理平台,也支持亚马逊Web服务API模型,它可以提供比OpenStack更完整的开发平台,相比OpenStack,CloudStack更适合那些技术能力不够强的用户使用,CloudStack采用的编程语言是Java,几乎所有软件开发工程师都接触过Java,学习起来并不难。OpenNebula(ONE)是由欧洲研究学会发起的虚拟基础设备和云端运算的计划,是一款为云计算而打造的开源工具箱。ONE允许你与XEN、KVM或VMware ESX一起建立和管理私有云,在不同的OpenNebula实例上可以运行私有云,Amazon的合作伙伴,也同样可以作为远程的云服务供应商。OpenNebula采用了C++编程语言。这么多的技术为数据中心提供了更多的选择,如果要部署IaaS就要提前学习一下这些技术,以便做到有备无患。当然,这些技术都在不断的优化和完善过程中,技术细节上仍在不断调整和修改,要经常关注这些技术的演进过程,加深自己对IaaS云的理解。
 
其次来说说PaaS,PaaS叫做平台即服务,其作为一种服务,提供的是一个基础平台,而不是某种应用。PaaS平台在云架构中位于中间层,提供中间件服务,比如有应用服务器、数据库、BPM、Portal、消息中间件,远程对象调用中间件等等。PaaS最常用的技术有VMware的CloudFoundry和RedHat的OpenShift。CloudFoundry是VMware推出的第一个开源PaaS云平台,支持多种开发框架、编程语言、应用服务以及多种云部署环境的灵活选择。CloudFoundry云平台主要有Router、Cloud Controller、Health Manager、DEA、NFS、NATS以及Service等模块组成,所有模块的实现都是开源的,都可以下载得到。绝大部分时候我们并不需要了解CloudFoundry是如何实现的,会利用CloudFoundry这个PaaS平台做二次开发就可以了,会使用CloudFoundry就行。OpenShift是全球开源解决方案领导者红帽公司推出的,面向开源开发人员开放的PaaS。OpenShift开源、免费、稳定并权限大,OpenShift提供比任何PaaS更多的灵活性,支持java、python、ruby、php、perl、nodejs等多种开发语言。CloudFoundry和OpenShift本身是由Ruby语言编写完成的,所以要掌握Ruby语言对理解PaaS很有意义,现在CloudFoundry也有采用脚本语言编写的。除了CloudFoundry和OpenShift之外,PaaS还有GAE、SAE、BAE等平台技术,这些大都影响力较小,在此就不再详述了。了解PaaS,掌握CloudFoundry和OpenShift就基本够用的,最关键的还是要学习使用这样的PaaS平台。
 
最后来说SaaS,SaaS叫做软件即服务,是一种基于互联网提供软件服务的应用模式。SaaS 是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。SaaS第一个应用程序是SiteEasy,在1998年发起的Siteeasy.com网站中,由总部位于亚特兰大的公司WebTransi开发完成。最早应用实现的是salesforce公司提出的SaaS 并运用于CRM行业。它通过Internet提供软件的模式,客户根据自己的实际需求,通过互联网向数据中心定购所需的应用软件服务,按定购服务多少和时间长短向数据中心支付费用。
 
除了三种类型云计算所需要的技术以外,最为关键的是要掌握Linux,因为基本所有的开源云计算平台都是基于Linux的。不仅要掌握Linux操作系统的使用,更重要的是对Linux系统的内核有更深的理解,采用利用好这个平台。其实Linux系统是非常强大的,比如飞机的控制系统、银行的系统、手机的系统等等都有Linux的身影,只要你能想到的东西都有Linux的存在,所以一定要掌握Linux系统。当然,介绍了三种云涉及到的这么多技术,使用的开发语言环境也各有不同,没有哪个人有精力全部掌握,这时就要有重点地,根据自己的需要去学习相应的云计算技术。

关键字:云计算

原创文章 企业网D1Net

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^