服务器技术有哪些
首先非常感谢在这里能为你解答这个问题,让我带领你们一起走进这个问题,现在让我们一起探讨一下。
现在,人们对云计算已经不陌生了,耳朵都听出老茧来了。可很多人其实对云计算并谈不上有多了解,除了真正开发云计算业务的人员,其他人是只知其一,不知其二,只泛泛了解而已。说起云计算,当然离不开要谈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系统。当然,介绍了三种云涉及到的这么多技术,使用的开发语言环境也各有不同,没有哪个人有精力全部掌握,这时就要有重点地,根据自己的需要去学习相应的云计算技术。
在以上的分享关于这个问题的解答都是个人的意见与建议,我希望我分享的这个问题的解答能够帮助到大家。
在这里同时也希望大家能够喜欢我的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。
我最后在这里,祝大家每天开开心心工作快快乐乐生活,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!