下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

教大家怎样开发流畅的云计算框架

作者:课课家教育     来源: http://www.kokojia.com点击数:819发布时间: 2017-04-28 16:00:14

标签: 云计算云应用云计算框架

  云计算的基础设施会变成互联网的水电煤,这是很准确的一个比喻。提供云计算基础设施的公司就是发电厂,我们今天不会关心哪家发电厂更大,虽然他们确实都很大,但也仅此而已。今天课课家教育平台将教大家怎样开发流畅的云计算框架,大家要认真阅读!

     如今的云计算应用程序是现代数据中心架构的一个直接扩展。基于专为移动应用程序设计的微小虚拟机(VM)而构建的新型架构可实现更小型的应用程序和更低的延迟。研究人员设想将这些微小VM应用于诸如打印服务器、动态主机配置协议、VoIP服务等服务。流畅的云计算架构需要重新思考VM瘦身、即时配置以及跨不同物理服务器的VM迁移等问题。

教大家怎样开发流畅的云计算框架_云计算_云应用_云计算框架_课课家教育

  NEC的高级研究人员Felipe Manco在加州Santa Clara举办的USENIX HotCloud研讨会上介绍了其之前在超流畅云计算方面所做的工作。“传统的云计算基础设施被限制在数据中心和核心网络。在过去的几年中,运营商已在网络的不同位置部署着处理能力。这一基本思想让在更接近于客户或企业内部的更小型服务器上部署云计算服务成为了可能。”Manco说。

  一个流畅云计算的要求如下:

  这个新的架构有四个基本属性:位置独立性、时间独立性、规模独立性以及硬件独立性。位置独立性意味着,可根据应用程序需求跨不同网络设计实现服务器部署的能力。

这个新的架构有四个基本属性:位置独立性、时间独立性、规模独立性以及硬件独立性。

  惠普实验室互联网与计算平台研究中心的首席架构师Mike Schlansker说,这个新架构为应用程序开发人员、电信企业以及客户提供了把应用程序部署在何处的权利。例如,在靠近客户的位置部署应用程序可减少延迟。这将使提供诸如VoIP电话这类要求低延迟的服务成为了可能。

  时间独立性是指应具有短时间启动虚拟机的能力,具体时间从几毫秒到几小时各不相同。规模独立性需要开发管理工具以便于在一台单一服务器上运行成百上千的虚拟机。硬件独立性需要能够在网络边缘的较小型服务器上运行云计算应用程序。

  考虑新的云计算应用程序:

  Manco相信,这个新式架构一定能够让各种现有应用程序变得更为高效,它可以让原本老旧的应用程序焕然一新。虚拟CDN可以按需提供,其现金节点可实现动态填充和取消。

  这些微云服务还将适用于为客户的内部设备提供后端服务,以便于提高维护、降低成本、加快推出新服务。使用在小虚拟机上运行的微云服务将有助于隔离各个应用程序,从而解决安全性问题和满足性能需求。另一个用例则是提供个性化的边缘服务,例如家长控制电视服务、云计算存储、通知和去除广告等。

  使用unikernel缩小虚拟机规模:

  这个新式架构的关键要求就是,每台虚拟机都应拥有一个非常小的资源以满足内存和处理方面的要求。这些服务还应针对平台进行量身定制,从而实现对数以千计的服务器进行按需配置和按需消除配置。

  Manco表示,这种新式架构的最佳实践就是使用开销远低于传统虚拟机的unikernel虚拟机。他们已经基于Xen虚拟机基础设施建设了一个初始平台。在未来,可能把类似的原理应用到容器中。但是Manco相信,unikernel可进一步提高现有容器的隔离性和安全性。

  如果要提高Xen的虚拟特征,还需要付出大量的工作。它的设计初衷并不是为了支持数以千计短时间运行的虚拟机的。NEC实现了Xen工具堆栈的一个新实践以提升性能。其他已完成的工作可改善Xen控制台以便于更为动态地配置新虚拟机。

  推动小虚拟机的极限:

  使用这个改进的Xen内核NEC展示了按需启动10000个客户虚拟机的能力。启动如此多数量虚拟机的挑战之一在于增加新虚拟机的增量时间会迅速增加。研究团队发现,与LXC容器的135毫秒相比,在新架构上增加第一万台虚拟机的时间为3.5秒。

  Manco承认,实际应用中可能并不会出现同时维持如此大数量虚拟机的情况。对于刚入门者来说,Xen的调度问题有可能会降低每一个虚拟机的性能。问题是,传统Xen调度程序使用一个循环方式从每一个虚拟机那里收集输入。一个好的做法就是按需启动虚拟机而不是在内存中保持大量运行的虚拟机。

  虚拟机位置至关重要:

  另一个好的做法就是在单台服务器上启动大量小虚拟机和在多台服务器上启动大量虚拟机之间进行权衡。如果应用程序将执行具有较大工作量的处理任务(如打印服务器),那么它们需要在多台服务器上进行启动。在另一方面,应用程序如果是执行一些诸如DNS查询这样的简单任务,那么就可以在一台单一的服务器上启动虚拟机。

  一家云计算分析公司Cloud Physics的CTO Irfan Ahmad表示,“对于为众多类别服务提供无缝用户体验来说,针对快速移动的虚拟机开发一个架构是非常重要的。”当他还在VMware工作时,他们就遇到了这样的虚拟机挑战,即VoIP电话被虚拟机移动而打断。

  Manco说,实际使用这个灵活的云计算基础设施还需要我们付出大量的努力。从长远来看,它承诺有望减少网络设备、有线电视盒和企业设备的成本。通过移动更多的功能和控制边缘服务器,它还能为物联网应用程序带来同样的灵活性。通过今天对这一领域的进一步深入研究,企业将能够在明天更好地利用好开发更多的流畅云计算应用程序。

  知识分享:

  SaaS的用户体验设计:

SaaS 应用程序代表着一种新一代应用程序设计方式。

  SaaS 应用程序代表着一种新一代应用程序设计方式。尽管在我目前看到的文档中没有明确地指出,但是看起来SaaS程序也带来了一种新的UI设计方式,这种方式与大多数其他行业中的产品设计流程更一致。这种方式包含一个称为用户体验设计 (UXD) 的流程,在这个流程中由产品团队而不是开发团队设计GUI。

  UXD的主要目的是,确定哪些特性会让应用程序对于目标客户最有价值,并在设计中融入这些知识。尽管对于是否应该在所有类型的软件的开发中都执行这个流程有争议,但是在SaaS应用程序开发中这种做法非常普遍。出现这种现象的原因可能是,SaaS可以实现的业务模型与传统软件不同,需要执行UXD;而且通过开发SaaS可以节省大量时间和资金,让开发商有能力执行UXD。

  1.3 SaaS使用的技术

  由于SaaS层离普通用户非常接近,所以在SaaS层所使用到的技术,大多耳熟能详,下面是其中最主要的五种:

  (1)HTML :标准的Web页面技术,现在主要以HTML4为主,但是即将推出的HTML5会在很多方面推动Web页面的发展,比如视频和本地存储等方面。

  (2)Javascript :一种用于Web页面的动态语言,通过JavaScript ,能够极大地丰富Web页面的功能,最流行的JS框架有jQuery和Prototype 。

  (3)CSS :主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。

  (4)Flash :业界最常用的RIA(Rich Internet Applications)技术,能够在现阶段提供HTML等技术所无法提供的基于Web的富应用,而且在用户体验方面,非常不错。

  (5)Silverlight :来自业界巨擎微软的RIA技术,虽然其现在市场占有率稍逊于Flash,但由于其可以使用C#来进行编程,所以对开发者非常友好。

  在SaaS层的技术选型上,首先,由于通用性和较低的学习成本,大多数云计算产品都会比较倾向HTML 、JavaScript和CSS这对黄金组合,但是在Html5被大家广泛接受之前,RIA技术在用户体验方面,还是具有一定的优势,所以Flash和Silverlight也将会有一定的用武之地,比如VMware vCloud就采用了基于Flash的Flex技术,而微软的云计算产品肯定会在今后大量使用Silverlight技术。

     小结:云计算框架这个概念可能不太确切,OpenStack是IaaS,OpenShift、CloudFoundry是PaaS。不过这三个都是开源项目,要看未来的话你可以了解一下该项目都有哪些人支持,首先,你可以到各个项目首页上查看支持的厂商有哪些,也可以了解一下社区的活跃度如何。如果大家还想了解更多相关方面的内容的话呢,请关注课课家教育!

赞(18)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程