免费智能真题库 > 历年试卷 > 系统架构设计师 > 2020年下半年 系统架构设计师 下午试卷 论文
  第2题      
  知识点:   范式   背景   工业   公有云   功能特性   功能性   混合云   基础设施   设计模式   私有云   微服务   云计算   云计算服务   中断   自动化

 
论云原生架构及其应用
近年来,随着数字化转型不断深入,科技创新与业务发展不断融合,各行各业正在从大工业时代的固化范式进化成面向创新型组织与灵活型业务的崭新模式。在这一背景下,以容器和微服务架构为代表的云原生技术作为云计算服务的新模式,已经逐渐成为企业持续发展的主流选择。云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化剥离,从而让云设施接管应用中原有的大量非功能特性 (如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。云原生架构有利于各组织在公有云私有云混合云等新型动态环境中,构建和运行可弹性扩展的应用,其代表技术包括容器、股务网格、微服务、不可变基础设施和声明式API等。
 
问题:2.1   请围绕“论云原生架构及其应用”论题,依次从以下三个方面进行论述:
1.概要叙述你参与管理和开发的软件项目以及承担的主要工作;
2.服务化,弹性,可观测性和自动化是云原生架构的四类设计原则,请简要对这四类设计原则的内涵进行阐述;
3.具体阐述你参与管理和开发的项目是如何向采用云原生架构的,并且围绕上述四类设计原则详细论述在项目设计与实现过程中遇到了哪些实际问题,是如何解决的。
 
 
 

   知识点讲解    
   · 范式    · 背景    · 工业    · 公有云    · 功能特性    · 功能性    · 混合云    · 基础设施    · 设计模式    · 私有云    · 微服务    · 云计算    · 云计算服务    · 中断    · 自动化
 
       范式
        (1)第一范式(1NF):如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式,r是规范化的关系。关系数据库研究的关系都是规范化的关系。
        (2)第二范式(2NF):若关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是2NF模式。
        (3)第三范式(3NF):如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选码,则称R是3NF。
        (4)BC范式(BCNF):若关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。
        上述4种范式之间有如下联系:1NF2NF3NFBCNF。
 
       背景
        .项目的承担者。
        .用户。
        .本项目和其他系统或机构的关系和联系。
 
       工业
        立体显示技术可以应用于过程控制、数值模拟、CAD/CAM(计算机辅助设计/制造)设计、工业检测、远程监视、危险产品生产安装以及远程机器人视觉显示等各个方面,可以带来前所未有的逼真视觉效果。
        目前,3D技术在专业行业的应用已经十分成熟,包括汽车设计制造、船舶设计制造、航天航空、能源动力、机械电子、建筑房产、城市规划等行业,3D技术为设计方式和用户界面带来了新的革命。3D技术常用的设计软件包括ProE、AutoCAD、3Dmax、MAYA等,这些工具已经成为行业必备的设计软件。在工业设计领域,ProE和AutoCAD已经具备了丰富的3D设计功能,并被广大工程设计人员所采用;在图形图像领域,3Dmax、MAYA已经被广大艺术和IT工作者熟练使用。
 
       公有云
        云的基础设施一般是被一个云计算服务提供商所拥有,该组织将云计算服务销售给公众,公有云通常在远离客户建筑物的地方托管(一般为云计算服务提供商建立的数据中心),可实现灵活的扩展,提供一种降低客户风险和成本的方法。
 
       功能特性
        功能特性规定了接口信号的来源、作用以及其他信号之间的关系。
 
       功能性
        功能性是指当软件在指定条件下使用时,软件产品满足明确和隐含要求功能的能力。
               适合性
               适合性是指软件产品为指定的任务和用户目标提供一组合适的功能的能力。
               准确性
               准确性是指软件产品具有所需精确度的正确或相符的结果及效果的能力。
               互操作性
               互操作性是指软件产品与一个或更多的规定系统进行交互的能力。
               保密安全
               保密安全是指软件产品保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,但不拒绝授权人员或系统对它们的访问。
               功能性依从性
               功能性依从性是指软件产品依附于同功能性相关的标准、约定或法规以及类似规定的能力。
 
       混合云
        云的基础设施是由两种或两种以上的云(私有、社区或公有)组成,每种云仍然保持独立,但用标准的或专有的技术将它们组合起来,具有数据和应用程序的可移植性(例如,可以用来处理突发负载),混合云有助于提供按需和外部供应方面的扩展。
 
       基础设施
        基础设施是指包括机房供配电系统、机房UPS系统、机房空调系统、机房弱电系统、机房消防系统等在内的,维持机房安全正常运转,确保机房环境满足信息系统设备运行要求的各类设施。
 
       设计模式
        “每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。设计模式的核心在于提供了相关问题的解决方案。
        设计模式一般有如下4个要素。
        (1)模式名称(pattern name)。模式名称应具有实际的含义,能反映模式的适用性和意图。
        (2)问题(problem)。描述了应该在何时使用模式,解释了设计问题和问题存在的前因后果。可能描述了特定的设计问题,如怎样用对象表示算法等;也可能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列先决条件。
        (3)解决方案(solution)。描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。解决方案并不描述一个特定的具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。
        (4)效果(consequences)。描述了模式应用的效果及使用模式应权衡的问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。
        设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时候使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。按照设计模式的目的可以分为创建型、结构型和行为型三大类,如下表所示。
        
        设计模式分类
               创建型设计模式
               创建型模式与对象的创建有关,抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
               创建型模式包括面向类和面向对象两种。Factory Method(工厂方法)定义一个用于创建对象的接口,让子类决定实例化哪一个类。Abstract Factory(抽象工厂)提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。Builder(生成器)将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Factory Method使一个类的实例化延迟到其子类。Prototype(原型)用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。Singleton(单例)模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。
               下面以抽象工厂模式和单例模式为例进行说明。
                      Abstract Factory(抽象工厂)
                      (1)意图。提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
                      (2)结构。抽象工厂模式的结构如下图所示。
                      
                      抽象工厂模式结构图
                      其中:
                      .AbstractFactory声明一个创建抽象产品对象的操作接口。
                      .ConcreteFactory实现创建具体产品对象的操作。
                      .AbstractProduct为一类产品对象声明一个接口。
                      .ConcreteProduct定义一个将被相应的具体工厂创建的产品对象,实现AbstractProduct接口。
                      .Client仅使用由AbstractFactory和AbstractProduct类声明的接口。
                      (3)适用性。Abstract Factory模式适用于:
                      .一个系统要独立于它的产品的创建、组合和表示时。
                      .一个系统要由多个产品系列中的一个来配置时。
                      .当要强调一系列相关的产品对象的设计以便进行联合使用时。
                      .当提供一个产品类库,只想显示它们的接口而不是实现时。
                      Singleton(单例)
                      (1)意图。保证一个类仅有一个实例,并提供一个访问它的全局访问点。
                      (2)结构。单例模式的结构如下图所示。
                      
                      单例模式结构图
                      其中:Singleton指定一个Instance操作,允许客户访问它的唯一实例,Instance是一个类操作;可能负责创建它自己的唯一实例。
                      (3)适用性。Singleton模式适用于:
                      .当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。
                      .当这个唯一实例应该是通过子类化可扩展的,并且客户无须更改代码就能使用一个扩展的实例时。
               结构型设计模式
               结构型模式处理类或对象的组合,涉及如何组合类和对象以获得更大的结构。结构型类模式采用继承机制来组合接口或实现。一个简单的例子是采用多重继承方法将两个以上的类组合成一个类,结果这个类包含了所有父类的性质。这一模式尤其有助于多个独立开发的类库协同工作。其中一个例子是类形式的Adapter(适配器)模式。一般来说,适配器使得一个接口与其他接口兼容,从而给出了多个不同接口的统一抽象。为此,类Adapter对一个adaptee类进行私有继承。这样,适配器就可以用adaptee的接口表示它的接口。对象Adapter依赖于对象组合。
               下面以适配器模式和代理模式为例进行说明。
                      Adapter(适配器)模式
                      (1)意图。将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
                      
                      类适配器结构图
                      (2)结构。类适配器使用多重继承对一个接口与另一个接口进行匹配,其结构如上图所示。对象适配器依赖于对象组合,其结构如下图所示。
                      
                      对象适配器结构图
                      其中:
                      .Target定义Client使用的与特定领域相关的接口。
                      .Client与符合Target接口的对象协同。
                      .Adaptee定义一个已经存在的接口,这个接口需要适配。
                      .Adapter对Adaptee的接口与Target接口进行适配。
                      (3)适用性。Adapter模式适用于:
                      .想使用一个已经存在的类,而它的接口不符合要求。
                      .想创建一个可以服用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
                      .(仅适用于对象Adapter)想使用一个已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。
                      Proxy(代理)模式
                      (1)意图。为其他对象提供一种代理以控制对这个对象的访问。
                      (2)结构。代理模式的结构如下图所示。
                      
                      代理模式结构图
                      其中:
                      .Proxy保存一个引用使得代理可以访问实体;提供一个与Subject的接口相同的接口,使代理可以用来代替实体;控制对实体的存取,并可能负责创建和删除它;其他功能依赖于代理的类型:Remote Proxy负责对请求及其参数进行编码,并向不同地址空间中的实体发送已编码的请求;Virtual Proxy可以缓存实体的附加信息,以便延迟对它的访问;Protection Proxy检查调用者是否具有实现一个请求所必需的访问权限。
                      .Subject定义RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。
                      .RealSubject定义Proxy所代表的实体。
                      (3)适用性。Proxy模式适用于在需要比较通用和复杂的对象指针代替简单的指针的时候,常见情况有:
                      .远程代理(Remote Proxy)为一个对象在不同地址空间提供局部代表。
                      .虚代理(Virtual Proxy)根据需要创建开销很大的对象。
                      .保护代理(Protection Proxy)控制对原始对象的访问,用于对象应该有不同的访问权限的时候。
                      .智能引用(Smart Reference)取代了简单的指针,它在访问对象时执行一些附加操作。典型用途包括:对指向实际对象的引用计数,这样当该对象没有引用时,可以被自动释放;当第一次引用一个持久对象时,将它装入内存;在访问一个实际对象前,检查是否已经锁定了它,以确保其他对象不能改变它。
                      结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。
                      Composite(组合)模式将对象组合成树型结构以表示“部分—整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。它描述了如何构造一个类层次式结构,这一结构由两种类型的对象所对应的类构成。其中的组合对象使得用户可以组合基元对象以及其他的组合对象,从而形成任意复杂的结构。proxy(代理)模式为其他对象提供一种代理以控制对这个对象的访问,其中,proxy对象作为其他对象的一个方便的替代或占位符。它的使用可以有多种形式,例如可以在局部空间中代表一个远程地址空间中的对象,也可以表示一个要求被加载的较大的对象,还可以用来保护对敏感对象的访问。proxy模式还提供了对对象的一些特有性质的一定程度上的间接访问,从而可以限制、增强或修改这些性质。Flyweight(享元)模式运用共享技术有效地支持大量细粒度的对象,为了共享对象定义了一个结构。至少有两个原因要求对象共享:效率和一致性。Flyweight的对象共享机制主要强调对象的空间效率。使用很多对象的应用必须考虑每一个对象的开销。使用对象共享而不是进行对象复制,可以节省大量的空间资源。但是,仅当这些对象没有定义与上下文相关的状态时,它们才可以被共享。Flyweight的对象没有这样的状态。任何执行任务时需要的其他一些信息仅当需要时才传递过去。由于不存在与上下文相关的状态,因此Flyweight对象可以被自由地共享。
                      Facade(外观)模式为子系统中的一组接口提供一个一致的界面,定义了一个高层接口,这个接口使得这一子系统更加容易使用。该模式描述了如何用单个对象表示整个子系统。模式中的facade用来表示一组对象,facade的职责是将消息转发给它所表示的对象。Bridge(桥接)模式将对象的抽象和其实现分离,从而可以独立地改变它们。
                      Decorator(装饰)模式描述了如何动态地为对象添加一些额外的职责。该模式采用递归方式组合对象,从而允许添加任意多的对象职责。例如,一个包含用户界面组件的Decorator对象可以将边框或阴影这样的装饰添加到该组件中,或者它可以将窗口滚动和缩放这样的功能添加到组件中。可以将一个Decorator对象嵌套在另外一个对象中,就可以很简单地增加两个装饰,添加其他的装饰也是如此。因此,每个Decorator对象必须与其组件的接口兼容并且保证将消息传递给它。Decorator模式在转发一条信息之前或之后都可以完成它的工作(例如绘制组件的边框)。许多结构型模式在某种程度上具有相关性。
               行为型设计模式
               行为模式对类或对象怎样交互和怎样分配职责进行描述,涉及算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻画了在运行时难以跟踪的复杂的控制流。它们将用户的注意力从控制流转移到对象间的联系方式上来。
               行为类模式使用继承机制在类间分派行为。本章包括两个这样的模式,其中Template Method(模板方法)较为简单和常用。Template Method是一个算法的抽象定义,它逐步地定义该算法,每一步调用一个抽象操作或一个原语操作,子类定义抽象操作以具体实现该算法。另一种行为类模式是Interpreter(解释器)模式,它将一个文法表示为一个类层次,并实现一个解释器作为这些类的实例上的一个操作。
               行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组对等的对象怎样相互协作以完成其中任一个对象都无法单独完成的任务。这里一个重要的问题是对等的对象。
               如何互相了解对方。对等对象可以保持显式的对对方的引用,但那会增加它们的耦合度。在极端情况下,每一个对象都要了解所有其他的对象。Mediator(中介者)模式用一个中介对象来封装一系列的对象交互,在对等对象间引入一个mediator对象以避免这种情况的出现。mediator提供了松耦合所需的间接性。
               Chain of Responsibility(责任链)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。Chain of Responsibility模式提供更松的耦合,让用户通过一条候选对象链隐式地向一个对象发送请求。根据运行时刻情况任一候选者都可以响应相应的请求。候选者的数目是任意的,可以在运行时刻决定哪些候选者参与到链中。
               Observer(观察者)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。典型的Observer的例子是Smalltalk中的模型/视图/控制器,其中一旦模型的状态发生变化,模型的所有视图都会得到通知。
               其他的行为对象模式常将行为封装在一个对象中并将请求指派给它。Strategy(策略)模式将算法封装在对象中,这样可以方便地指定和改变一个对象所使用的算法。Command(命令)模式将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。Memento(备忘录)模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便在以后可将该对象恢复到原先保存的状态。State(状态)模式封装一个对象的状态,使得对象在其内部状态改变时可改变它的行为,对象看起来似乎修改了它的类。Visitor(访问者)模式表示一个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作。Visitor模式封装分布于多个类之间的行为。Iterator(迭代器)模式提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴露该对象的内部表示。Iterator模式抽象了访问和遍历一个集合中的对象的方式。
               下面以中介者模式和观察者模式为例进行说明。
                      Mediator(中介者)
                      (1)意图。用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
                      (2)结构。中介者模式的结构图如下图所示。
                      
                      中介者模式结构图
                      其中:
                      .Mediator(中介者)定义一个接口用于各同事(Colleague)对象通信。
                      .ConcreteMediator(具体中介者)通过协调各同事对象实现协作行为;了解并维护它的各个同事。
                      .Colleague class(同事类)知道它的中介者对象;每一个同事类对象在需要与其他同事通信的时候与它的中介者通信。
                      (3)适用性。Mediator模式适用于:
                      .一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。
                      .一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。
                      .想定制一个分布在多个类中的行为,而又不想生成太多的子类。
                      Observer(观察者)
                      (1)意图。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
                      (2)结构。观察者模式的结构图如下图所示。
                      
                      观察者模式结构图
                      其中:
                      .Subject(目标)知道它的观察者,可以有任意多个观察者观察同一个目标;提供注册和删除观察者对象的接口。
                      .Observer(观察者)为那些在目标发生改变时需获得通知的对象定义一个更新接口。
                      .ConcreteSubject(具体目标)将有关状态存入各ConcreteObserver对象;当它的状态发生改变时,向它的各个观察者发出通知。
                      .ConcreteObserver(具体观察者)维护一个指向ConcreteSubject对象的引用;存储有关状态,这些状态应与目标的状态保持一致;实现Observer的更新接口,以使自身状态与目标的状态保持一致。
                      (3)适用性。Observer模式适用于:
                      .当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用。
                      .当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时。
                      .当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即不希望这些对象是紧耦合的。
 
       私有云
        云的基础设施是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。私有云可部署在企业数据中心中,也可部署在一个主机托管场所,被一个单一的组织拥有或租用。
 
       微服务
        微服务是一种基于一组独立部署运行的小型服务来构建应用的方法。与传统的面向服务体系结构SOA应用相比,这些小型服务主要围绕应用系统业务能力来构建,采用尽量去中心化的机制管理,使用不同技术栈开发,通过轻量级通信机制交互。
 
       云计算
               云计算相关概念
                      云计算基本概念
                      云计算(Cloud Computing)是一种通过网络统一组织和灵活调用各种ICT信息资源,实现大规模计算的信息处理方式。云计算利用分布式计算和虚拟资源管理等技术,通过网络将分散的ICT资源(包括计算与存储、应用运行平台、软件等)集中起来形成共享的资源池,并以动态按需和可度量的方式向用户提供服务。用户可以使用各种形式的终端(如PC、平板电脑、智能手机甚至智能电视等)通过网络获取ICT资源服务。
                      “云”是对云计算服务模式和技术实现的形象比喻。“云”由大量组成“云”的基础单元(云元,Cloud unit)组成。“云”的基础单元之间由网络相连,汇聚为庞大的资源池。
                      云计算核心特征
                      云计算具备四个方面的核心特征:
                      (1)宽带网络连接,“云”不在用户本地,用户要通过宽带网络接入“云”中并使用服务,“云”内节点之间也通过内部的高速网络相连;
                      (2)对ICT资源的共享,“云”内的ICT资源并不为某一用户所专有;
                      (3)快速、按需、弹性的服务,用户可以按照实际需求迅速获取或释放资源,并可以根据需求对资源进行动态扩展;
                      (4)服务可测量,服务提供者按照用户对资源的使用量进行计费。
                      云计算服务
                      自20世纪90年代末出现以来,云计算服务已经经历了十多年的发展历程。云计算服务真正受到整个IT产业的重视是始于2005年亚马逊推出的AWS服务,产业界认识到亚马逊建立了一种新的IT服务模式。在此之后,谷歌、IBM、微软等互联网和IT企业分别从不同的角度开始提供不同层面的云计算服务。云服务正在逐步突破互联网市场的范畴,政府、公共管理部门、各行业企业也开始接受云服务的理念,并开始将传统的自建IT方式转为使用公共云服务方式。
                      按照云计算服务提供的资源所在的层次,可以分为IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)。
                      IaaS是基础设施类的服务,将成为未来互联网和信息产业发展的重要基石。互联网乃至其他云计算服务的部署和应用将会带来对IaaS需求的增长,进而促进IaaS的发展;同时,大数据对海量数据存储和计算的需求,也会带动IaaS的迅速发展。IaaS也是一种“重资产”的服务模式,需要较大的基础设施投入和长期运营经验的积累,单纯出租资源的IaaS服务盈利能力比较有限。
                      PaaS服务被誉为未来互联网的“操作系统”,也是当前云计算技术和应用创新最活跃的领域,与IaaS服务相比,PaaS服务对应用开发者来说将形成更强的业务粘性,因此PaaS服务的重点并不在于直接的经济效益,而更着重于构建和形成紧密的产业生态。
                      SaaS服务是发展最为成熟的一类云服务。传统软件产业以售卖拷贝为主要商业模式,SaaS服务采用Web技术和SOA架构,通过互联网向用户提供多租户、可定制的应用能力,大大缩短了软件产业的渠道链条,使软件提供商从软件产品的生产者转变为应用服务的运营者。
               云计算技术
                      云计算技术架构
                      在云计算技术架构中,由数据中心基础设施层与ICT资源层组成的云计算“基础设施”和由资源控制层功能构成的云计算“操作系统”,是云计算相关技术的核心和发展重点,如下图所示。
                      
                      云计算技术架构
                      云计算“基础设施”是承载在数据中心之上的,以高速网络(如以太网)连接各种物理资源(服务器、存储设备、网络设备等)和虚拟资源(虚拟机、虚拟存储空间等)。云计算基础设施的主要构成元素基本上都不是云计算所特有的,但云计算的特殊需求为这些传统的ICT设施、产品和技术带来了新的发展机遇。如数据中心的高密度、绿色化和模块化,服务器的定制化、节能化和虚拟化等;而且一些新的ICT产品形式将得到长足的发展,并可能形成新的技术创新点和产业增长点,如定制服务器、模块化数据中心等。
                      云计算“操作系统”是对ICT资源池中的资源进行调度和分配的软件系统。云计算“操作系统”的主要目标是对云计算“基础设施”中的资源(计算、存储和网络等)进行统一管理,构建具备高度可扩展性,并能够自由分割的ICT资源池;同时向云计算服务层提供各种粒度的计算、存储等能力。
                      云计算关键技术
                             “基础设施”关键技术
                             云计算“基础设施”关键技术包括服务器、网络和数据中心相关技术。
                             (1)服务器相关技术。服务器是云计算系统中的基础节点。为了实现云计算的低成本目标,云计算系统中多采用X86服务器,并通过虚拟化提高对服务器资源的利用率。
                             X86服务器的虚拟化技术比较成熟。虚拟化主要有裸金属虚拟化和寄居虚拟化两种方式,其中裸金属虚拟化在性能、资源占用等方面具有综合优势,是应用最为广泛的一种虚拟化方式。
                             (2)云计算相关网络技术。云可以看作是一个庞大的网络系统。一个云内可以包含数千,甚至上万台服务器,虚拟化技术的普遍采用使实际网络节点的数量更加巨大,因此用于连接云内各个节点(云元)的网络就成为实现高效的计算和存储能力的关键环节之一。
                             云计算相关网络技术主要解决以下三个问题:
                             ①虚拟机流量的接入与控制。由于虚拟机的引入,虚拟机间流量的交换可能深入到网卡内部进行,使得原本服务器与网络设备之间在网络接入层比较清晰的界限被打破。
                             ②数据中心内部横向流量的承载。在云计算数据中心中,出于对虚拟机“热迁移”的需要,汇聚层仍然采用二层网络组网,这使得汇聚层二层网络规模大大增加,原有生成树协议的阻塞模式将造成链路的大量浪费。
                             ③数据、存储网络的融合。传统数据中心中存在两类网络:连接服务器的以太网,连接服务器和存储设备的光纤存储网(FC)。两张网络的并存提高了建设和运行管理成本,为了适应云计算低成本的需要,数据网络和存储网络的融合成为一种趋势。
                             (3)数据中心相关技术。云计算使数据中心向大型化发展,也带来节能的迫切需求。据统计,2010年数据中心能耗已经占全球总能耗的1.3%,绿色化刻不容缓。
                             在数据中心的能耗中,IT设备、制冷系统和供配电系统占主要部分,因此数据中心的节能技术主要围绕这三个方面。对于IT设备而言,其节能技术发展重点是在相同负载下,通过虚拟化、处理器降频、自动休眠和关闭内核等技术,使设备在获得更好性能的同时降低耗电量。对制冷系统来说,一方面可通过尽量采用自然冷却(Free Cooling)的方式降低能耗;另一方面,可通过热管理技术(冷热风道设计、送风和会风路径设计等)改善数据中心气流组织,实现制冷量的精确供给和按需分配,从而节省制冷系统的能耗。对供配电系统来说,主要节能技术包括选用高效率的、模块化的UPS电源;进行合理的IT设备与供电设备布局,减少供电线路损耗;采用高压直流提高供电可靠性和电源使用率、降低电量损耗并增强系统可维护性。
                             “操作系统”关键技术
                             云计算“操作系统”的主要关键技术包括实现底层资源池化管理的“资源池”管理技术和向用户提供大规模存储、计算能力的分布式任务和数据管理技术。
                             (1)“资源池”管理技术。“资源池”管理技术主要实现对物理资源、虚拟资源的统一管理,并根据用户需求实现虚拟资源(虚拟机、虚拟存储空间等)的自动化生成、分配、回收和迁移,用以支持用户对资源的弹性需求。
                             云计算“资源池”管理技术与传统IT管理软件的主要区别是实现了虚拟资源的“热迁移”,即在物理主机发生故障或需要进行维护操作时,将运行在其上的虚拟机迁移至其他物理主机,同时保证用户业务不被中断。
                             “热迁移”的重要前提是物理服务器使用共享存储器,并且虚拟机的迁移与网络配置的迁移同时进行。
                             (2)分布式任务和数据管理技术。云计算对分布式任务和数据管理的需求主要来源于业界对“大数据”的处理需求。分布式任务管理技术要实现在底层大规模ICT资源上进行分布式的海量计算,并对大量结构化与非结构化的数据进行存储与管理。
                      云计算技术发展
                             GPU云化降低高性能计算使用门槛
                             计算多样化的时代,数据的爆炸愈演愈烈,人工智能、虚拟现实等技术的突飞猛进对高性能计算的需求陡然剧增,CPU性能增速放缓,由CPU和GPU构成的异构加速计算体系,成为整个计算领域的必然趋势,GPU在高性能计算领域的作用愈发明显。
                             AI基础设施市场爆发,GPU用量猛增。近几年,国家政策的导向与资本市场的推动造就了人工智能产业的快速发展,生态逐渐趋于完善,在一定程度上拉动了对基础设施的算力需求。GPU服务器的超强并行计算能力与人工智能相得益彰,得到长足发展。
                             GPU云化可大幅缩减交付周期与使用成本,降低使用门槛。GPU服务器势头强劲的同时也伴随一些问题,服务器造价高昂、交付实施周期长、配置复杂等限制了GPU的使用范围。GPU云化成为破解这一症结的有效方案,GPU云主机可以实现小时级的快速交付,更及时地响应用户需求,灵活的计费模式实现真正的按需计费,大大减少了使用成本。GPU云服务使GPU的强大算力向更宽广的范围蔓延,深度赋能产学研领域。
                             GPU云服务可针对不同应用场景优化配置,易用性大幅提升。根据中国信息通信研究院的可信云GPU评估结果显示,国内主流云服务商的GPU产品均针对特定的使用场景进行了优化,对科学计算、图形渲染、机器学习、视频解码等热门应用领域分别推出不同规格的实例,更加贴合应用;预先集成的GPU加速框架,免除了纷繁复杂的配置工作。
                             服务网格开启微服务架构新阶段
                             (1)微服务架构技术发展愈加成熟。微服务作为一种崭新的分布式应用解决方案在近两年获得迅猛发展。微服务指将大型复杂软件应用拆分成多个简单应用,每个简单应用描述着一个小业务,系统中的各个简单应用可被独立部署,各个应用之间是松耦合的,每个应用仅关注于完成一件任务并很好地完成该任务。相比传统的单体架构,微服务架构具有降低系统复杂度、独立部署、独立扩展、跨语言编程等特点。与此同时,架构的灵活、开发的敏捷同时带来了运维的挑战。应用的编排、服务间的通信成为微服务架构设计的关键因素。目前,在微服务技术架构实践中主要有侵入式架构和非侵入式架构两种实现形式。
                             (2)微服务架构行业应用深入,侵入式架构占据主流市场。微服务架构在行业生产中得到了越来越广泛的应用,例如Netflix已经有大规模生产级微服务的成功实践。而以SpringCloud和Dubbo为代表的传统侵入式开发架构占据着微服务市场的主流地位。侵入式架构将流程组件与业务系统部署在一个应用中,实现业务系统内的工作流自动化。随着微服务架构在行业应用中的不断深入,其支持的业务量也在飞速发展,对于架构平台的要求也越来越高。由于侵入式架构本身服务与通信组件互相依赖,当服务应用数量越来越多时,侵入式架构在服务间调用、服务发现、服务容错、服务部署、数据调用等服务治理层面将面临新的挑战。
                             (3)服务网格推动微服务架构进入新时代。服务网格是一种非侵入式架构,负责应用之间的网络调用、限流、熔断和监控,可以保证应用的调用请求在复杂的微服务应用拓扑中可靠地穿梭。服务网格通常由一系列轻量级的网络代理组成(通常被称为SideCar模式),与应用程序部署在一起,但应用程序不需要知道它们的存在。服务网格通过服务发现、路由、负载均衡、健康检查和可观察性来帮助管理流量。自2017年初第一代服务网格架构Linkerd公开使用之后,Envoy、Conduit等新框架如雨后春笋般不断涌现。2018年初Google、IBM和Lyft联合开发的项目Istio的发布,标志着服务网格带领微服务架构进入新的时代。
                             无服务架构助力企业应用开发函数模块化
                             近年来,互联网服务从最早的物理服务器托管、虚拟机、容器,发展到如今的函数即服务(FaaS),即无服务架构。无服务架构是一种特殊类型的软件体系结构,在没有可见的进程、操作系统、服务器或者虚拟机的环境中执行应用逻辑,这样的环境实际上运行在操作系统之上,后端使用物理服务器或者虚拟机。它是一种“代码碎片化”的软件架构范式,通过函数提供服务。函数即一个可以在容器内运行的小的代码包,提供的是相比微服务更加细小的程序单元。具体的事件会唤醒函数,当事件处理完成时完成调用,代码消失。
                             2014年,AWS推出首个业界云函数服务Lambda。随后几年,各大云计算厂商相继推出自己的云函数服务,不同厂商的函数计算服务所支持的编程语言和函数触发的事件源各有不同。随着无服务架构的兴起,越来越多的开源项目如OpenWhisk、OpenFaaS、Kuberless等开始参与其中,并凭借各自特点正在影响着无服务架构的技术走向。
                             无服务架构将服务器与应用解耦,降低了运维成本,带动了规模经济效益。无服务架构的横向伸缩是完全自动化高弹性的,由于只调用很小的代码包,调用和释放的速度更快了,用户只需为自身需要的计算能力付费,计费粒度可细化至秒级。服务器部署、存储和数据库相关的所有复杂性工作都交由服务商处理,软件开发人员只需专注于与核心业务相关的开发工作,更有效地贯彻敏捷开发理念。同时,服务商运营管理着预定义的应用进程甚至是程序逻辑,当同时共用同一服务的用户达到一定量级将会带来较大的规模经济效益。
                             无服务架构促进持续部署成为新常态。无服务架构可以用来实现业务灵活性的持续部署。通过全自动化的基础设施堆栈的配置和代码部署,让任何并入主干中的代码更改都自动升级到包括生产环境在内的所有环境,可以对任何环境进行应用或回滚变更。当前主流技术架构下持续部署对许多公司仍旧难以实现,无服务技术可以有效弥补用户运维水平的不足,将持续部署带来的红利惠及更广范围。
                             无服务架构打破了以往的惯性思维,并提供了一个极具成本效益的服务。无服务架构仅有两年的历史,目前仍处于起步阶段。但在未来这个领域还会有更大的进步,它将带来软件开发和应用程序部署的一种全新体验。
                             IT运维进入敏捷时代,智能化运维尚处起步阶段
                             (1)IT运维从基础运维向平台运维、应用运维转型升级。随着云计算的发展,IT系统变得越发复杂,运维对象开始由运维物理硬件的稳定性和可靠性演变为能够自动化部署应用、快速创建和复制资源模板、动态扩缩容系统部署、实时监控程序状态,以保证业务持续稳定运行的敏捷运维。同时,开发、测试、运维等部门的工作方式由传统瀑布模式向DevOps(研发运营一体化)模式转变。从软件生命周期来看,第一阶段开发侧需运用敏捷实践处理内部的效率问题,第二阶段需基于持续集成构建持续交付,解决测试团队、运维上线的低效问题,第三阶段持续反馈需使用可重复、可靠的流程进行部署,监控并验证运营质量,并放大反馈回路,使组织及时对问题做出反应并持续优化更改,以提高软件交付质量,加快软件发布速度。
                             (2)DevOps提升软件生命周期效率。DevOps被定义为一组过程、方法与系统的统称,强调优化开发(Dev)、质量保障(QA)、运维(Ops)部门之间的沟通合作,解决运维人员人工干预较多、实时性差等痛点,变被动运维为主动运维,通过高度自动化工具链打通软件产品交付过程,使得软件构建、测试、发布更加快捷、频繁和可靠。据中国信息通信研究院的DevOps能力成熟度评估结果显示,金融机构核心业务仍采用集中式管理方式为主,但外围业务已经开始或已使用了分布式架构,自动化、智能化运维推动金融行业的业务创新。而运营商向云化转型则更注重对云管理平台的需求,如能够支持资源的动态分配和调度、业务监控、故障分析预警、数据库监控以及日常运维的全流程。随着非结构化数据数量激增,运营商通过数据挖掘和分析技术,以提升客户满意度和业务效率是未来的发展目标。DevOps实践贯穿软件全生命周期,提升了传统行业整体效率。
                             (3)智能化运维将成未来发展趋势。DevOps拉通了运维管理体系,海量数据计算、存储、应用和安全等多种需求出现,运维需借助先进的自动化运维管理模式来实现大体量下的系统管理。在大数据技术的背景下,智能运维AIOps被提出,即Artificial Intelligence for IT Operations。AIOps是将人工智能应用于运维领域,通过机器学习的方式对采集的运维数据(日志、监控信息、应用信息等)做出分析、决策,从而达到运维系统的整体目标。目前,AIOps主要围绕质量保障、成本管理和效率提升三方面逐步构建智能化运维场景,在质量保障方面,保障现网稳定运行细分为异常检测、故障诊断、故障预测、故障自愈等基本场景;在成本管理方面,细分为指标监控、异常检测、资源优化、容量规划、性能优化等基本场景;在效率方面,分为智能预测、智能变更、智能问答、智能决策等基本场景。AIOps虽然在互联网、金融等行业有所应用,但仍处于发展初期,未来智能化运维将成为数据分析应用的新增长点和发展趋势。
                             边缘计算与云计算协同助力物联网应用
                             边缘计算是指在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供边缘智能服务,满足行业数字化在敏捷联接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求。
                             边缘计算与云计算互为补充。在当今物联网迅猛发展的阶段,边缘计算作为物联网的“神经末梢”,提供了对于计算服务需求较快的响应速度,通常情况下不将原始数据发回云数据中心,而直接在边缘设备或边缘服务器中进行数据处理。云计算作为物联网的“大脑”,会将大量边缘计算无法处理的数据进行存储和处理,同时会对数据进行整理和分析,并反馈到终端设备,增强局部边缘计算能力。
                             边缘计算与云计算协同发展,打造物联网新的未来。在边缘设备上进行计算和分析的方式有助于降低关键应用的延迟、降低对云的依赖,能够及时地处理物联网生成的大量数据,同时结合云计算特点对物联网产生的数据进行存储和自主学习,使物联网设备不断更新升级。以自动驾驶汽车为例,通过使用边缘计算和云计算技术,自动驾驶汽车上的边缘设备将传感器收集的数据在本地进行处理,并及时反馈给汽车控制系统,完成实时操作;同时,收集的数据会发送至云端进行大规模学习和处理,使自动驾驶汽车的AI在可用的情况下从云端获取更新信息,并增强局部边缘的神经网络。
                             云网融合加速网络结构深刻变革
                             云网融合已经成为ICT发展的趋势。伴随着互联网进入大流量、广互联时代,业务需求和技术创新并行驱动加速网络架构发生深刻变革,云和网高度协同,不再各自独立。云计算业务的开展需要强大的网络能力的支撑,网络资源的优化同样要借鉴云计算的理念,随着云计算业务的不断落地,网络基础设施需要更好的适应云计算应用的需求,更好的优化网络结构,以确保网络的灵活性、智能性和可运维性。
                             云间互联是云网融合的一个典型场景。以云间互联为目标的网络部署需求日益旺盛。随着云计算产业的成熟和业务的多样化,企业可根据自身业务需求和实际成本情况选择不同的云服务商提供的云服务,这也形成了丰富的云间互联业务场景,如公有云内部互通、混合云和跨云服务商的公有云互通。据中国信息通信研究院的混合云评估结果显示,当前混合云的组网技术主要以VPN和专线为主,而SD-WAN由于其快速开通、灵活弹性、按需付费等特性也逐渐被人们所关注。在云间互联场景下,云网融合的趋势逐渐由“互联”向“云+网+ICT服务”和“云+网+应用”过渡,云间互联只是过程,最终目的是达成云网和实际业务的高度融合,包括服务资源的动态调整、计算资源的合理分配以及定制化的业务互通等。
                             云网融合的另一个场景是电信云。电信云基于虚拟化、云计算等技术实现电信业务云化,基于NFV、SDN实现网络功能自动配置和灵活调度,基于管理与编排实现业务、资源和网络的协同管理和调度。电信云与云间互联不同,它更关注的是运营商网络的云化转型,包括核心网、接入网、传输网以及业务控制中心等多个层面的网元都可以按云化的方式部署,最终实现运营商网络的软化和云化。
                             开源技术成为云计算厂商共识
                             如今,开源社区逐渐成为云计算各巨头的战场,云计算厂商开始纷纷拥抱开源技术。
                             (1)容器方面。2017年,微软、AWS等云计算巨头厂商先后以白金会员身份加入Linux基金会旗下的云原生计算基金会(CNCF),以加强对Kubernetes开源技术的支持。阿里云更是在2017年两度晋级,从黄金会员到白金会员。截至2018年3月,CNCF白金会员的数量达到18家,黄金会员数量8家,银牌会员的数量148家。
                             (2)虚拟化管理方面。以全球最大的云计算开源社区OpenStack为例,截止到2018年7月,共有白金会员8家,黄金会员20家,合作伙伴104家。其中,我国企业占据了一半的黄金会员席位。同时,华为、九州云、烽火通信、EasyStack、中兴等厂商在OpenStack各版本贡献中持续处于全球前列。此外,OpenStack基金会的会员还包括Intel、Red Hat、Rackspace、爱立信等国际巨头厂商。
                      云计算风险管理
                             云计算带来风险点变化
                             与传统IT系统相比,云计算面临的风险点发生变化,主要体现在如下几个方面:
                             (1)传统安全边界消失。传统自有IT系统是封闭的,对外暴露的只是网页服务器、邮件服务器等少数接口。因此,传统IT系统以“边界”为核心,利用防火墙、入侵防御等手段可以有效阻挡攻击。而在云计算环境下,云暴露在公开的网络中,虚拟化技术使得安全边界概念消失,基于物理安全边界的防护机制难以在云计算环境中得到有效的应用。
                             (2)用户具有动态性。云计算环境下,用户的数量和分类变化频率高,具有动态性和移动性强的特点,静态的安全防护手段作用被削弱,安全防护措施需要进行动态调整。
                             (3)更高的数据安全保护要求。云计算将资源和数据的所有权、管理权和使用权进行了分离,资源和数据不在本地存储,用户失去了对资源和数据的直接控制,再也不能像传统信息系统那样通过物理控制、逻辑控制、人员控制等手段对数据的访问进行控制。面对用户数据安全保护的迫切诉求和庞大的数据规模,云计算企业需要具有更高的数据安全保护水平和更先进的数据保护手段,以避免数据不可用、数据泄露等风险。
                             (4)合规检查更难。云计算企业必须符合广泛的、不断变化的法律法规要求。随着信息领域的迅速发展,各国、各行业都在加强相关的法律法规建设,云计算企业合规清单不断壮大,涉及网络、数据、信息等方方面面。由于云计算可能存在数据存储位置未知、数据来源难追溯、安全控制和责任缺乏透明性等问题,使得云计算企业和云客户在面临合规性检查时存在困难。如今年生效的欧盟《一般数据保护条例》(GDPR),首次对数据处理者的数据保护能力进行严格要求,赋予数据主体更多的权利,适用范围也大幅扩张。对于云服务商来说,在欧盟境内设立分支机构或服务于欧盟客户时应满足GDPR要求,而即使服务于非欧盟客户,非欧盟客户又服务于欧盟客户时,云服务商也适用GDPR。不仅适用场景繁多,云服务商为满足GDPR要求所开展的工作也更加复杂。数据遍布于云环境,如何提高数据掌控与保护能力,满足用户多种权利,如何快速识别数据泄露事件,及时上报监管部门,都是云服务商合规的难点。
                             (5)多种外部风险。云计算企业搭建云平台时,可能会涉及购买第三方厂商的基础设施、运营商的网络服务等情况。基础设施、网络等都是决定云平台稳定运行的关键因素。因此,第三方厂商和运营商的风险管理能力将影响云计算企业风险事故的发生情况。同时,云计算企业在运营时,可能将数据处理与分析等工作分包给第三方合作企业,分包环节可能存在数据跨境处理、多方责任难界定等风险。
                             如下图所示云计算安全风险架构,对于云计算平台,IaaS层主要考虑基础设施相关的安全风险,PaaS层需要保证运行环境和信息的安全,SaaS层从应用、Web、网络、业务、内容、数据等方面保证应用安全。在云平台的运营过程中,涉及复杂的人员风险、管理流程风险和合规风险。同时,云计算开源技术使用率不断攀升,开源风险也成为云计算领域的关注重点。
                             
                             云计算安全风险架构
                             云计算带来风险责任变化
                             不同云计算企业提供云服务的侧重点不同,企业在使用云服务时,可能会涉及与多个云服务商的合作。任何一个云服务的参与者都需要承担相应的责任,不同角色的参与者在承担各自责任的同时,还需要与其他参与者协同合作,共同规避云平台风险事件的发生。
                             云计算责任共担模式在业界已经达成共识,但还没有统一的责任共担模型。已有部分厂商根据业务特点,建立了自己的责任共担模型。以亚马逊AWS为例,AWS作为IaaS+PaaS为主的服务提供商,负责管理云本身的安全,即保护运行所有AWS云服务的基础设施。客户负责“云内部的安全”,即业务系统安全。这种模式对于国内市场来说,可能会有局限性。在国内,尤其对于SaaS模式,很多用户仍会有“上云,安全就由云服务商负责”的误解。实际上,SaaS模式下数据安全应由云服务商和客户共同负责,云客户应提高安全使用SaaS服务的能力,避免发生误删数据等风险事故。同时,不少信息技术水平较弱的客户,在接触云计算初期,安全风险防控能力不够强,购买SaaS服务后,会使用而不懂如何去进行安全防护,云服务商需要建立更强大的生态以保障云客户安全。
                             云服务提供商应基于云客户的需求,提供云主机等服务和相应的安全策略,同时负责维护云平台的高可用,在出现风险事件时,对基础环境、主机环境、网络环境甚至是应用环境进行故障定位、处置和总结。针对国内市场,在SaaS模式下,云服务商应充分考虑云客户安全防护能力水平,提前告知服务使用方法,在云客户存在疑问时,及时提供解答和帮助,避免发生不必要的安全事故。
                             云客户应基于云服务提供商提供的服务产品使用和安全说明,正确使用服务或产品,避免因为误操作、疏忽等因素造成云平台的风险,同时云客户应按照本公司风险管理要求,对云上信息系统进行风险评估与治理。
                             数据保护贯穿数据使用的整个生命周期,需要云客户与云服务提供商共同维护数据安全。
                             云计算风险管理手段多样化
                             传统IT系统在进行风险管理时,主要通过安全厂商进行安全检查、基于安全软件实现安全防护,而随着云计算风险点和风险责任的变化,除安全厂商外,云计算风险管理需要联动社会多方以提高风险管理能力,包括保险企业、第三方认证机构、监督管理机构等。
                             云计算风险管理手段主要包括:通过事前评估规避风险、事中监控发现风险、事后处置解决风险,建立完善的风险评估体系,全方位保障云平台稳定运行;以金融带动风险管理发展,通过云保险分担事故带来的损失;联合云计算企业、云客户、安全厂商多方建立云计算风险信息共享平台,实现企业互惠共赢。
               云计算产业体系
               云计算产业由云计算服务业、云计算制造业、基础设施服务业以及支持产业等组成,如下图所示。
               
               云计算产业体系
                      云计算服务业
                      云计算服务业包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。IaaS服务最主要的表现形式是存储服务和计算服务,主要服务商如亚马逊、Rackspace、Dropbox等公司。PaaS服务提供的是供用户实施开发的平台环境和能力,包括开发测试、能力调用、部署运行等,提供商包括微软、谷歌等。SaaS服务提供实时运行软件的在线服务,服务种类多样、形式丰富,常见的应用包括客户关系管理(CRM)、社交网络、电子邮件、办公软件、OA系统等,服务商有Salesforce、GigaVox、谷歌等。
                      基础设施服务业
                      基础设施服务业主要包括为云计算提供承载服务的数据中心和网络。数据中心既包括由电信运营商与数据中心服务商提供的租用式数据中心,也包括由云服务提供商自建的数据中心。网络提供商现仍主要是传统的电信运营商,同时谷歌等一些云服务提供商也已经开始自建全球性的传输网络。
                      云计算制造业
                      云计算制造业涵盖云计算相关的硬件、软件和系统集成领域。软件厂商包括基础软件、中间件和应用软件的提供商,主要提供云计算操作系统和云计算解决方案,知名企业如威睿(VMware)、思杰(Citrix)、红帽、微软等;硬件厂商包含网络设备、终端设备、存储设备、元器件、服务器等的制造商,如思科、惠普、英特尔等。一般来说,云计算软硬件制造商通过并购或合作等方式成为新的云计算系统集成商的角色,如IBM、惠普等,同时传统系统集成商也在这一领域占有一席之地。
                      云计算支持产业
                      云计算支持产业包括云计算相关的咨询、设计和评估认证机构。传统IT领域的咨询、设计和评估机构,如Uptime、LEED、Breeam等,均以不同程度涉足云计算领域。
               云计算对电子商务的发展影响
                      云计算在电子商务中的应用优势
                             投入成本节约化
                             传统电子商务企业为了维持正常的运作,需要购入大量的服务器、计算机等设备,并为设备更新及维修花费大量资金。然而,随着云计算逐渐应用到电子商务行业,电商企业只需要链接互联网,就能够使用强大的云计算功能。具体来说,云计算通过构建虚拟数据中心,把用户端的存储、传输以及计算功能聚集并形成一个虚拟数据池,通过网络传输数据信息,从而为客户端提供服务。因而,云计算的应用为电子商务企业节省了大量的设备准备及人才培养费用,大大降低了电商行业的投入成本。
                             数据存储安全化
                             传播快速、分布广泛的互联网在为网络用户带来便利的同时,也滋生了网络病毒的恶意传播,严重威胁着网络系统安全,一旦网络威胁发生、电子商务数据泄露,电商企业将面临巨大的经济损失。而云计算的应用,可以大大提高数据存储的安全性,为电商企业的发展提供安全保障。简单来说,云计算把电子商务数据存储到“云”中,“云”提供商自身专业的安全保护策略以及系统安全架构可以为电商企业的信息安全保驾护航。同时,相对于传统存储方式,云计算的权限管理十分严格,共享数据只能够向自身指定的群体传输。
                             商业活动便捷化
                             云计算的应用促进了商业活动进一步跨越时间以及空间范围的障碍,能够更加自由地进行移动交易。在云计算环境下,用户可以更加便捷地搜索所需求商品、浏览推荐产品、完成网络购物。云计算依靠联合众多个体计算机而形成一个整体,产生强大的计算能力,合理地调度信息资源、科学地分配计算任务,大大提高了商业活动的效率,为网络购物提供了个性化、自由化服务。
                             数据资源共享化
                             依靠云计算技术,电子商务行业能够把不同终端设备之间的数据互通互联,形成数据资源中心,存储在云端,并对合法访问云端的申请授予权限,用户通过终端设备联网,能够随时、随地对共享数据资源进行调取与访问。同时,用户可以自由地在共享资源中选择自己需求的信息,极大地方便了用户使用共享信息。相对于传统共享模式,当计算机出现故障时,共享数据受到的影响极小,因为云计算技术能够快速定位故障计算机,及时备份数据,同时选择另外的服务器来完成存储数据的任务。
                      云计算应用背景下电子商务模式的转变
                      商务模式作为为企业创造利益的手段、一种商业活动的工具,具有紧跟时代发展、不断创新变革的特点。随着云计算技术的不断深入应用,电子商务模式也发生了革命性的转变。云计算应用背景下电子商务模式的转变可以体现在以下三个方面:
                      (1)应用模式方面。传统应用模式依靠的是计算机本地系统进行操作,而在云计算技术应用下,电子商务企业将ERP、PDM以及OA等数据资源存储在云端,云端下再链接人工服务。
                      (2)消费模式方面。传统的电商消费模式依靠的是由单机许可使用计算机软件产品及硬件产品,而云计算背景下企业使用的硬件及软件设备可以直接向SAAS层级过渡;同时,用户的消费模式逐渐转变到移动终端支付模式。
                      (3)外包模式方面。随着云计算在电子商务行业的应用,外包模式的应用范围已经不再仅仅局限于IT行业,并且已经逐步拓展到电商领域。在电子商务领域,外包模式包含人才资源外包、管理团队外包、决策运营外包等众多内容。并且基于SAAS模式,电子商务企业可以自由使用外包模式。外包模式的应用,促进了电子商务企业拓宽业务领域,完成行业升级转型。
 
       云计算服务
        自20世纪90年代末出现以来,云计算服务已经经历了十多年的发展历程。云计算服务真正受到整个IT产业的重视是始于2005年亚马逊推出的AWS服务,产业界认识到亚马逊建立了一种新的IT服务模式。在此之后,谷歌、IBM、微软等互联网和IT企业分别从不同的角度开始提供不同层面的云计算服务。云服务正在逐步突破互联网市场的范畴,政府、公共管理部门、各行业企业也开始接受云服务的理念,并开始将传统的自建IT方式转为使用公共云服务方式。
        按照云计算服务提供的资源所在的层次,可以分为IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)。
        IaaS是基础设施类的服务,将成为未来互联网和信息产业发展的重要基石。互联网乃至其他云计算服务的部署和应用将会带来对IaaS需求的增长,进而促进IaaS的发展;同时,大数据对海量数据存储和计算的需求,也会带动IaaS的迅速发展。IaaS也是一种“重资产”的服务模式,需要较大的基础设施投入和长期运营经验的积累,单纯出租资源的IaaS服务盈利能力比较有限。
        PaaS服务被誉为未来互联网的“操作系统”,也是当前云计算技术和应用创新最活跃的领域,与IaaS服务相比,PaaS服务对应用开发者来说将形成更强的业务粘性,因此PaaS服务的重点并不在于直接的经济效益,而更着重于构建和形成紧密的产业生态。
        SaaS服务是发展最为成熟的一类云服务。传统软件产业以售卖拷贝为主要商业模式,SaaS服务采用Web技术和SOA架构,通过互联网向用户提供多租户、可定制的应用能力,大大缩短了软件产业的渠道链条,使软件提供商从软件产品的生产者转变为应用服务的运营者。
 
       中断
        中断是异步发生的,是来自处理器外部的I/O设备的信号的结果。硬件中断不是由任何一条专门的指令造成的,从这个意义上来说它是异步的。硬件中断的异常处理程序常常被称为中断处理程序(interrupt handler)。
               硬中断与软中断
               硬中断是由硬件产生的,例如磁盘、网卡、键盘、时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上。
               软中断是一组静态定义的下半部分接口,可以在所有的处理器上同时执行,即使两个类型相同也可以。但是一个软中断不会抢占另外的一个软中断,唯一可以抢占软中断的是硬中断。
               可屏蔽中断与不可屏蔽中断
               可屏蔽中断和不可屏蔽中断都属于外部中断,是由外部中断源引起的。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。
               CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(Non Maskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Interrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。IF位可以由用户控制,指令STI或Turbo C的Enable()函数,将IF位置1(开中断),指令CLI或Turbo_c的Disable()函数,将IF位清0(关中断)。
               中断优先级
               当多个中断源同时请求中断时,而CPU一次只能响应其中的一个中断,同时为了能响应所有中断,就引入中断优先级来处理。系统会根据引起中断事件的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。中断优先级有两种:查询优先级和执行优先级。
               查询优先级是不可以更改和设置的,在该方式下当多个中断源同时产生中断信号时,中断仲裁器会选择中断源优先处理的顺序,此过程与是否发生中断服务程序的嵌套毫不相干。当CPU查询各个中断标志位的时候,会依照优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高查询优先级的中断标志位,但并不代表高查询优先级的中断可以打断已经并且正在执行的低查询优先级的中断服务。
               由于可屏蔽的中断源很多,故需要对其进行管理,如区分是哪个中断源发出的中断信号?哪个中断源最优先及怎样处理多级中断嵌套等。为此,可使用中断控制器对多个可屏蔽中断源进行管理。
               中断控制器能够对中断进行排队管理,避免中断信号的丢失,同时支持对不同中断进行优先级的配置,使高优先级中断能够中断低优先级中断,满足系统中具有更高时间约束特性功能的需要。
               中断嵌套
               当处理器正在处理一个中断时,有比该中断优先级高的中断源发出中断请求时,如果处理器正在执行中断处理程序,那么处理器会对高优先级的中断进行立即处理,处理完之后再返回到低优先级的中断服务程序继续执行。这样就形成了中断服务程序中套用中断服务程序的情况,即中断嵌套。可嵌套中断的处理流程和中断服务框图如下图所示。
               
               可嵌套中断处理流程
 
       自动化
        简而言之,就是将我们日常手动进行的一些工作通过工具,系统自动来完成,解放我们的双手,例如:没有工具前,我们安装系统需要一台一台裸机安装,如2000台,可能需要10人/10天,而现在通过自动化工具,只需几个简单命令就能解决这个问题。还有如机器人类程序,自动完成以往每天人工干预的工作,使其自动完成、汇报结果,并具备一定的专家系统能力,能做一些简单的是/非判断、优化选择等。应该说,自动化运维是运维工程师职业化的一个追求,利己利公,虽然这是一个异常艰巨的任务,不断变更的业务、不规范化的应用设计、开发模式、网络架构变更、IDC变更、规范变动等因素,都可能会对现有自动化系统产生影响,所以需要模块化、接口化等工作。自动化相关工作,是运维工程师的核心重点工作之一,也是价值的体现。
        总结一下运维中关键技术:大量高并发网站的设计方案;高可靠、高可伸缩性网络架构设计;网站安全问题,如何避免被黑?南北互联问题,动态CDN解决方案;海量数据存储架构。
   题号导航      2020年下半年 系统架构设计师 下午试卷 论文   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
 
第2题    在手机中做本题