云计算课程课件10云端软件.pptx

上传人(卖家):晟晟文业 文档编号:4287038 上传时间:2022-11-26 格式:PPTX 页数:70 大小:5.02MB
下载 相关 举报
云计算课程课件10云端软件.pptx_第1页
第1页 / 共70页
云计算课程课件10云端软件.pptx_第2页
第2页 / 共70页
云计算课程课件10云端软件.pptx_第3页
第3页 / 共70页
云计算课程课件10云端软件.pptx_第4页
第4页 / 共70页
云计算课程课件10云端软件.pptx_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、云计算原理与实践Principles and Practice of Cloud Computing云计算原理与实践课程总览Outline10.1 从软件到云件 10.2 云件系统的架构设计与运行原理 10.3 云件的开发模式与效果 10.4 云件在大规模在线实训平台中的应用 10.5 实践:云件应用开发实例 Data ScienceData ScienceMachine LearningDomain expertiseMathematicsData engineering10.1 从软件到云件 10.1.1 云件的基本概念 10.1.2 从软件到云件的变迁 10.1.3 云件的关键技术10.

2、1.4 云件的开发、部署和运行模式 10.1.1云件的基本概念 随着云计算和虚拟化技术的兴起,越来越多的软件逐渐把软件主体放在云端,而客户端只需要通过互联网技术使用云端软件的服务即可,使得软件不再依赖于终端软硬件资源,这样的软件形态更多地体现为一种服务,而这样的软件形态则称之为云件(Cloudware)。10.1.2 从软件到云件的变迁 1本地部署软件架构 本地部署软件(On-Premise-Software)架构是一种完全运行在本地环境中且依赖本地资源的软件模式,传统的单机软件大都属于On-Premise-Software,这种软件需要在本地部署软件依赖的全部库和相关组件,如果有特殊硬件依赖

3、比如GPU加速器等,则需要用户自己安装相关硬件。同时,软件的管理、部署和运维也完全依赖于用户自身,产生的数据也都存储在本地,所以还需要采取额外的措施来保证系统的安全。10.1.2 从软件到云件的变迁 2 C/S软件架构 C/S软件架构,即Client/Server(客户机/服务器)软件架构,是目前广泛使用的软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理地分配到Client端和Server端,从而降低系统的通信开销。C/S架构软件具有以下优点:(1)数据的操作速度较快。(2)应用服务器运行数据负荷较轻。(3)数据的储存管理功能较为透明。10.1.2 从软件到云件的变迁 3 B

4、/S软件架构 B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的改进。在这种结构下,只需在客户机上安装一个浏览器(Browser),如Chrome或Internet Explorer,在服务器中安装Oracle、Sybase或SQL Server等数据库,在上层通过Http服务器实现Web Server服务,用户就可以通过浏览器使用软件。B/S软件架构具有以下优点:(1)B/S适用于广域网环境支持更多的客户。(2)维护和升级方式简单。(3)跨平台设备接入。10.1.2 从软件到云件的变迁 4 SaaS软件架构 在SaaS模式中,软

5、件服务商将应用软件部署在云端服务器上,客户根据自身的实际需求通过网络按需购买软件服务商提供的软件服务并支付相应的费用。SaaS提供商为企业搭建信息化所需的所有网络基础设施及软件、硬件运作平台,并负责前期实施、后期维护等一系列服务,企业无需再购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。SaaS架构有以下优点:(1)软件复用,动态资源。(2)按需付费,成本低廉。(3)快速部署,统一运维。10.1.2 从软件到云件的变迁 5云件架构 云件是一种将运行环境全部置于云端的模式,也属于SaaS的一种服务方式,主要通过互联网技术使用云端的服务。云件是未来互联网和云计算环境下软件的发展方向

6、之一,也是目前研究软件演化和软件工程的关键。10.1.2 从软件到云件的变迁 5云件架构 云件的形态主要有以下几个特性:(1)云件主体在云端运行。(2)按需资源分配。(3)云端渲染,终端显示。(4)无需安装,快速启动。(5)通过网络交付。(6)统一交互平台。(7)文件透明传输。10.1.2 从软件到云件的变迁 5云件架构 云件Web应用计算位置全云端计算终端辅助计算应用输出窗口交互图像HTML、CSS等应用输入鼠标键盘等事件HTTP请求数据存储全云端存储部分终端存储程序状态恢复可恢复不可恢复表10.1 云件和Web应用的区别10.1.2 从软件到云件的变迁 5云件架构 表10.2 云件和云桌面

7、应用的区别云件云桌面计算位置全云端计算部分依赖客户端服务类型仅包含软件服务(SaaS)桌面系统服务(DaaS)软件安装即搜即用通过浏览器下载安装程序输出窗口交互图像显存渲染信息10.1.3 云件的关键技术 1虚拟化技术 虚拟化技术可以为云件运行在云端提供虚拟化的运行环境、不同平台的操作系统及其依赖的库和组件服务。10.1.3 云件的关键技术 2云端渲染交互技术 云端渲染交互技术是将渲染过程放在云端,将生成的RGBA图像编码为流数据格式,通过互联网将数据传输到终端进行解码后直接显示,同时将终端的交互事件如鼠标、键盘等事件通过网络传输到云端,从而实现云端渲染交互过程。10.1.3 云件的关键技术

8、3容器技术 容器技术是近年来兴起的轻量级虚拟化技术,通过这种技术用户能够在几毫秒内启动一个镜像实例,且只占用很少的额外资源。利用容器技术可以实现应用的快速部署和启动,以及与本地桌面软件比拟的启动速度。同时,利用容器技术如Docker等工具,可以很容易实现微服务,将应用程序依赖的其他组件封装在Docker镜像中按需启动,进一步提高了云件的部署灵活性。10.1.3 云件的关键技术 4媒体流数据压缩技术 为了提高云件的交互用户体验,尽可能地降低交互的时延,同时保证远程渲染的输出帧质量,需要依赖相关的实时交互和流媒体数据压缩传输技术,如目前广泛使用或研究的H.264、H.265和Webm等技术,都是解

9、决云件交互用户体验的关键技术。10.1.3 云件的关键技术 5终端交互技术 云件的主体运行在云端,终端只需要配备统一的交互平台即可,纵观整个终端的软硬件平台,浏览器是能够适应不同终端平台的交互组件的首选。同时,随着近年来HTML5、CSS3等技术的发展,极大地增强了浏览器的处理和交互能力,为构建云件的终端统一交互平台奠定了坚实的基础。10.1.4 云件的开发、部署和运行模式 1云件的开发模式 随着Git和任务管理系统的兴起,云件的开发也越发地体现为云端开发过程,即利用云端IDE和编译微服务完成软件的整个开发任务,同时利用云端协作软件进行任务追踪,从代码编写和软件工程角度对软件开发过程进行云化。

10、云件的开发应当遵循微服务的理念,将软件尽可能地划分为不同的构件,并分别以服务的形式进行封装,通过相应的API接口进行复用,实现软件模块的解耦,同时方便测试过程的持续集成。10.1.4 云件的开发、部署和运行模式 2云件的部署模式 云件的部署其实就是微服务的部署。目前以Docker为代表的微服务容器技术的发展越来越成熟。Docker中包含了一系列的容器部署工具,为开发者提供了一种新颖、便捷的软件集成测试与部署方法。云件的部署应当以服务发布的形式体现,不同的构件可以单独部署,也可以集成部署。提供向下兼容的服务部署形式,保证云件的不中断运行,这也是云服务的基本需求。10.1.4 云件的开发、部署和运

11、行模式 3云件的运行模式 云件在设计时就以微服务的形式体现,云件的运行其实就是微服务的集成运行。云件与传统软件的不同点在于云件主体运行在云端,而传统软件主体运行在客户端。由于云件的主体运行在云端,计算和存储过程都发生在云端服务器上,那么对客户端来说,只需要一个交互式的服务环境即可。近年来,软件的Web化是软件演化的一种趋势,云件可以将浏览器视为运行在客户端的提供交互服务的构件。浏览器的交互过程在本质上是一个输入/输出的可视化过程,只需要将客户端的鼠标和键盘等输入发送到云端服务器,将处理后的结果返回到客户端进行渲染,就可以实现类似本地软件的使用效果。10.2 云件系统的架构设计与运行原理 10.

12、2.1 计算与存储分离的设计理念 10.2.2 基于微服务架构的云件模型 10.2.3 云件的系统级架构设计 10.2.4 云件的开发模式与效果 10.2.1 计算与存储分离的设计理念 与传统的基于标准的冯诺依曼体系结构的操作系统不同,云件模式使得计算机系统的输入、输出、存储和计算都不在单一的计算机系统中。这些操作可能分布在互联网的各个地方,再通过网络连接在一起。如输入和输出,就部署在终端机器上,而云件的存储、控制和计算则部署在云端服务器上,从而使得云件的输入、输出和计算都自成系统,通过互联网并基于相应的网络协议实现通信,这样的计算模型又被称为松耦合冯诺依曼计算模型,该模型是云件系统的设计理论

13、基础。10.2.1 计算与存储分离的设计理念 云件系统设计的关键在于如何将冯诺依曼机的五个模块进行解耦,解耦的关键在于各个模块需要自成系统,并且能够独立运行,各个部件之间通过相应的网络协议通信。10.2.2 基于微服务架构的云件模型 1微服务架构 微服务架构被提出之初,开发人员通常以业务功能划分服务,软件应用在设计时需要按照业务流程进行分割,每个子服务都能被独立地执行并完成一定业务功能,服务之间利用特定的协议进行通信调用,最后再组合成一个完整的应用程序。随着对微服务研究的深入,研究人员开始从软件工程的角度对微服务的整体架构进行设计与改进,他们按照软件交互、计算以及存储等功能模块对软件应用服务进

14、行划分。10.2.2 基于微服务架构的云件模型 1微服务架构10.2.2 基于微服务架构的云件模型 2微服务云端软件模型图10.4 传统软件结构图图10.5 微服务云件结构模型图10.2.2 基于微服务架构的云件模型 2微服务云端软件模型图10.6 云端所有软件整体结构关系图 10.2.2 基于微服务架构的云件模型 3云件的交互过程图10.7 单机软件交互简化过程图 图10.8 云件交互简化过程图10.2.3 云件的系统级架构设计 云件系统软件层架构主要由三个部分组成:Container Service、X Service和Web Service。10.2.3 云件的系统级架构设计 云件系统的

15、各服务之间的通信过程可以分为控制平面和数据平面。10.2.3 云件的系统级架构设计 由于云件系统本身采取了微服务架构进行设计,可以借助当前流行的容器编排系统(如Kubernetes、Rancher和Mesos等)实现灵活的调度策略,使云件系统的各项服务运行在最合适的环境中。10.2.3 云件的系统级架构设计 图10.12 WebRTC建立视频流传输的基本流程 10.2.3 云件的系统级架构设计 在云件的概念中,各个模块抽象为服务,云件的交互服务部署在终端,计算和存储服务部署在云端。10.3 云件的开发模式与效果 10.3.1 云件的开发模式 10.3.2 云件的效果展示 10.3.1 云件的开

16、发模式 在容器技术的支撑下,云件开发过程可以变得非常迅速,主要得益于微服务架构的持续集成(Continuous Integration,CI)和持续部署(Continuous Deployment,CD)特性。图10.14 云件开发的CI/CD结构10.3.1 云件的开发模式 Docker作为当前主流的微服务封装部署工具,能够很好地契合云件镜像的封装。10.3.1 云件的开发模式 容器技术与云件的特性非常契合,主要是因为它具有以下几个优点:1资源独立、隔离2环境一致性3轻量化4一次构建到处运行10.3.2 云件的效果展示 1云件运行环境配置 云件平台是由多组微服务组成,为了满足快速部署与灵活配

17、置等要求,系统需要部署和运行在基于微服务的IaaS平台上。云件平台系统可以运行在多台云主机上,每台云主机配置为48个核心、16GB以上的内存和500GB以上的硬盘,同时,为了保证对外服务质量,这台服务器的带宽应不低于20Mbit/s。窗口服务和容器服务则运行在另外一台云主机上,这两种服务放在一台服务器上可以通过内存进行通信,从而提高容器和Xorg之间的通信效率,减少云端服务器内部不必要的传输开销。10.3.1 云件的开发模式 2效果展示图10.16 云件分类结果图 10.3.1 云件的开发模式 2效果展示 图10.17 Sublime Text云件运行过程图 10.3.1 云件的开发模式 2效

18、果展示 图10.18 Eclipse云件运行过程图10.4 云件在大规模在线实训平台中的应用10.4.1 实训平台提出的背景 10.4.2 构建基于云件系统的大数据工程实训平台 10.4.1 实训平台提出的背景 2效果展示10.4.1 实训平台提出的背景 2效果展示 首先,构建一个面向云件服务的PaaS平台,它是云件开发、测试、部署和运维的集成操作平台,既面向开发者提供云件开发工具和云件运行环境,也面向用户提供云件服务。然后,在上面构建大数据实训环境。基于该云件服务平台研发了相关核心技术包括:基于松耦合冯诺伊曼模型的计算分散化范式、面向云件的云端操作系统、端云实时交互式渲染技术以及云件系统性能

19、检测与容器化调度技术。10.4.2 构建基于云件系统的大数据工程实训平台 10.4.2 构建基于云件系统的大数据工程实训平台 图10.20 构建在云件平台上的大数据工程实训模块 基于微服务架构和云件技术,针对高校需求设计并实现了为基于云件系统的大数据实践教学平台,该平台包括以下主要功能模块:教师端功能:定制课程实验内容、上传文件、实验管理、学生管理、查看学生算法、成绩管理、报告管理。学生端功能:查看实验内容、阅读实验指导书、算法演示、改进算法、算法对比分析、提交算法、提交报告、查看成绩、修改个人信息。平台管理功能:查看资源、查看计算作业、节点运算管理、创建容器环境、管理容器环境、恢复容器环境、

20、查看进度、强制关闭。10.4.2 构建基于云件系统的大数据工程实训平台 开发环境:提供相应的开发环境,如R、Python、Matlab及Hadoop等环境。算法库:能方便地提供数据分析和挖掘的常用及经典算法,及基于R/Python实现的代码。综合实验项目案例库:能提供不同行业的数据资源库,提供综合实验项目案例,供课程选用。数据资源库:能提供多种数据资源库,包含真实数据和模拟数据,供算法及案例选用。10.4.2 构建基于云件系统的大数据工程实训平台 10.4.2 构建基于云件系统的大数据工程实训平台 图10.21 大数据工程实训平台微服务架构和部署方案10.4.2 构建基于云件系统的大数据工程实

21、训平台 图10.22 大数据工程实训平台功能和界面 平台用户分为教师、学生和管理员三类:(1)教师端:教师登录平台后,可以以菜单的方式看到课程、内容和环境。课程管理中包含系统提供的基础课程,教师可在此基础上,根据实际情况进行内容筛选和排课;教师通过内容管理模块可对知识点内容进行编辑管理,也可进行课程拓展;还可通过环境管理模块完成容器镜像的维护工作。(2)学生端:学生登录平台后,可以看到相关的课程列表,点击相应课程可进入相应课程的学习;课程包含知识点分类列表,知识点实训的实验指导书、实验环境及实验成果的提交等菜单项;进入实验环境,也可以方便地查看实验文档,包括详细参考、实验笔记和实验视频;提交实

22、验成果后,学生可查看老师给出的评分,以及实验笔记。10.4.2 构建基于云件系统的大数据工程实训平台(3)管理员:管理员登录平台后,可以看到环境、课程、内容和用户。环境管理模块主要用于完成对系统、设备、容器等的状态检测;课程管理模块主要针对基础和拓展的课程进行管理和维护;内容管理模块可对系统和教师提供的内容进行维护;用户管理模块主要用于管理教师和学生的账号。10.4.2 构建基于云件系统的大数据工程实训平台 10.4.2 构建基于云件系统的大数据工程实训平台 10.4.2 构建基于云件系统的大数据工程实训平台 图10.24 大数据工程实训平台主要实验模块10.5 实践:云件应用开发实例 10.

23、5.1 编码10.5.2 构建10.5.3 运行 Gedit本身已经存在于Ubuntu的官方镜像源,首先,分析Gedit云件需要依赖哪些配置、资源和库;然后在编码过程中将这些依赖进行合理地整合或分解;最后,就是实现流数据处理和事件交互的程序。Gedit包含了数量众多的GUI在该示例中,选择Xorg作为Xsrver,轻量级图形环境选择Xfce4,流数据处理和事件交互则采用Pulsar程序。因此,整个编码过程也就自然分成了3个独立部分。10.5.1 编码 Dockerfile:Xorg FROM ubuntu:14.04 RUN apt-get update RUN apt-get install

24、-y xorg xserver-xorg-video-dummy wget COPY xorg.conf/etc/xorg.conf代码10-1 Xorg构建脚本 Dockerfile:Xfce4-min FROM cloudwarelabs/xorg:latest RUN apt-get update RUN apt-get install dictionaries-common RUN/usr/share/debconf/fix_db.pl&dpkg-reconfigure dictionaries-common RUN apt-get install-y gnome-themes-sta

25、ndard xfce4 RUN apt-get remove-y xscreensaver xscreensaver-data RUN mkdir-p/root/.config/xfce4/xfconf/xfce-perchannel-xml COPY xsettings.xml/root/.config/xfce4/xfconf/xfce-perchannel-xml/COPY xfce4-panel.xml/root/.config/xfce4/xfconf/xfce-perchannel-xml/RUN mkdir-p/root/.config/autostart ENTRYPOINT

26、startxfce4代码10-2 Xfce4构建脚本 Dockerfile:Gedit FROM ubuntu:14.04 RUN apt-get update RUN apt-get install-y gedit ENV DISPLAY:0 CMD gedit代码10-3 Gedit构建脚本 Dockerfile:Pulsar FROM ubuntu:14.04 RUN apt-get update RUN apt-get install-y libwebp-dev libx11-dev libxdamage-dev libxtst-dev libpng12-0 COPY build/pu

27、lsar/usr/local/bin/pulsar COPY libwebsockets.so.11/usr/lib/COPY pulsar.desktop/root/.config/autostart/ENV DISPLAY:0 ENV PULSAR_PORT 5678 CMD pulsar EXPOSE 5678代码10-3 Pulsar构建脚本 云件的构建过程选择Docker官方提供的容器镜像构建云环境作为CI的整体基础。首先,在https:/上注册一个账号,并关联自己的GitHub账号;然后,分别创建3个repository,其中构建配置填写对应的GitHub地址;最后,单击Creat

28、e&Build,等待镜像构建完成即可。10.5.2 构建10.5.2 构建 云件的运行依赖于容器环境,当前流行的Swarm、Kubernetes和Rancher等都可以作为云件系统的编排调度环境。10.5.3 运行图10.26 Rancher Host配置 运行Gedit云件需要启动3个容器,即:Xorg容器、Gedit容器和Pulsar容器。10.5.3 运行图10.27 Pulsar容器配置从软件到云件 云件系统的架构设计与运行原理 云件的开发模式与效果 云件在大规模在线实训平台中的应用 实践:云件应用开发实例 小结课内复习1云件的概念是什么?2云件形态的特征主要有哪些?3云件和Web应用

29、,以及云桌面有什么区别?4云件系统的分层架构包括哪些内容?课外思考1松耦合冯诺依曼计算模型和传统模型有什么不同?2云件作为一种应用虚拟化的形式,与桌面虚拟化的本质有哪些不同?3在线实训环境会成为一种大规模的云端服务资源吗?为什么?4如Matlab、SAS、AutoCAD等这样的大型传统桌面软件,会以云端软件的形式在云端给用户提供服务吗?动手实践1 网页实时通信(Web Real-Time Communication,WebRTC)是一个支持网页浏览器进行实时语音对话或视频对话的技术,谷歌在2010年收购Global IP Solutions公司时获得了该项技术。2011年Google开放了所有工程的源代码,在行业内得到了广泛的支持和应用,在下一代视频会议、桌面虚拟化、云端软件等场景中有着广泛的应用。任务:通过WebRTC的官方网站下载并安装使用最新的软件,运行WebRTC自带的实例程序和演示项目。任务:基于WebRTC,实现一个简单的视频会议系统。动手实践2 CloudwareHub是一个专门构建和展示云端软件的平台,能帮助用户方便地将传统软件上云,通过浏览器为终端用户提供服务。任务:通过CloudwareHub的开源项目主页学习最新的软件版本,运行自带的实例程序和演示项目。任务:选一款传统的桌面软件,利用CloudwareHub实现云端软件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(云计算课程课件10云端软件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|