zoukankan      html  css  js  c++  java
  • 001 云开发基础

    学习目标:

      1. 了解传统业务的特点

      2. 了解传统应用的开发模式

      3. 了解云计算的基本概念

      4. 了解云时代的业务特点和开发模式

    目录:
      1. 传统应用开发

        1.1 传统IT架构的特点

        1.2 业务驱动下的IT架构变革

        1.3 “互联网+”带来的挑战

      2. 云端应用开发

        2.1 云计算简介

        2.2 云计算解决的问题

        3.3 云时代的开发模式

    [A] 传统IT架构的特点

      1. 在传统的IT架构下,企业进行内部的信息化建设,用于加快企业发展,提高工作效率。

        企业信息化建设:

          OA管理系统

          ERP管理系统

          CRM管理系统

          学生档案管理系统

          资产管理系统

          。。。。。。

      2. 传统IT结构下的信息化建设的特点:

          1. 在企业内部应用

          2. 需求变化慢

          3. 用户规模小

          4. 需求变化慢

          5. 技术复杂度低  

          6. 迭代升级缓

      3. 传统应用的开发模式

          软件开发模式:

            瀑布开发模型:标准化,阶段清晰,环环相扣

                            

          软件架构开发模式:

            单体架构:开发速度快,成本低

                      

    [B] 业务驱动下的IT架构变革

      1. 业务发展带来的挑战:

        1. 不同语言开发的应用之间如何通信

        2. 易产生数据孤岛

        3. 代码复用度差

        4. 用户规模变大

        5. 的服务器压力大

         。。。。。。

      2. IT架构如何支撑业务发展

        1. 硬件基础设施方面

          问题:随着用户增多,服务器的集群规模也需要不断扩大,需要能够快速响应业务的变化,所以此时对于硬件设施的建设要求会更高。

          解决方案1:自建机房,拓展服务器集群

               所需要承担的工作如:

                  规划建设类:机房设计,土建。。。。。。

                  部署类:服务器,存储。。。。。。

                  运维类:监控,告警,安全运维。。。。。。

                  业务不熟,安全运维,可用性,可靠性

          缺点:成本太高,周期太长

          解决办法2:租用服务器IDC

              IDC是互联网数据中心(Internet Data Center)的简称。传统IDC分为实体服务器托管和租用两种类型。

              实体服务器托管:用户自行购买硬件发往运营商机房进行托管,期间设备的监控和管理工作均由用户单方独立完成,IDC数据中心提供IP接入,宽带接入,电力供应和网络维护等

              租用:由IDC数据中心租用实体设备给客户使用,同时负责环境的稳定,用户无需购买买硬件设备。

          特点:大大降低了成本

        2. 软件架构

          问题:传统的单体应用架构造成大量的信息孤岛,各个业务部门软件之间不能互通,代码的复用度比较低,所以必须要有新的架构来改善现有状况

          解决办法:面向服务的框架(Service-Oriented Architecture,SOA)

               SOA架构思想是将重复公用的功能抽成组件,以服务的方式给更系统提供服务

               ESB企业服务总线作为项目和服务之间的桥梁

                    

           特点:部分解决传统软件架构下的问题

    [C] “互联网+”带来的挑战

      1. “互联网+”时代的业务特点:

        1. 用户规模大,接入方式多

        2. 集中式访问,流量突增

        3. 大数据

        4. 市场需求变化很大

         。。。。。。

      2. 在应对“互联网+”时代到来时,传统技术设施建设的局限性:

        1. 服务器设备,机房专人维护,前期投入成本高

        2. 倍数部署,资源利用率差,资源浪费

        3. 流量突增难以应对,不够灵活

      3. 是否可以按需付费,弹性伸缩?

        of course  ——>  云开发

    [D] 云计算的简介

      1. 云计算定义

        云计算是一种新的提供资源按需租用的服务模式

        云计算是一种新型的互联网数据中业务

      2. 传统IDC与云计算的区别

        传统IDC:

          1. 自己购买硬件发往机房,业务系统自己维护,成本高;

          2. 简单的集约化管理,无法快速大规模资源交付;

          3. 交付周期长;

        云计算:

          将规模化的硬件服务器整合虚拟到云端,为用户提供从基础设施(IaaS)到业务基础平台(PaaS)再到应用的层(SaaS)的连续的整体的全套的服务

                          

      3. 云计算的特征

                        

       4. 云计算的服务模式

        1. SaaS

          (Software as a Service) 软件即服务,SaaS侧重于服务,通过网络提供软件程序服务

          类似于:在饺子店吃饺子  ——>  用户只需要付费即可,商家提供一切服务

        2. PaaS

          (Platfrom as a Service) 平台即服务,PaaS侧重于平台,以服务器平台或者开发环境提供服务

          类似于:煮好的饺子  ——>  用户只需要提供餐桌,餐具即可享用

        3. IaaS

    ·      (Infrastructure as a Service) 基础设施即服务,IaaS注重计算资源的共享,消费者通过Internet从资源池中获取IT相关基础设施资源

          类似于:超市的速冻饺子  ——>  用户不必从和面开始工作

    [E] 云计算解决的问题

      1. 规模大,按需付费

        √  成本大大降低

      2. 弹性

        √  优雅的应对流量突增,灵活拓展

      3. 可靠,快速故障恢复

        √  保证应用高可用

      4. 极速,安全,易用

        √  几分钟时间即可轻松获取一个,数百个甚至数千个服务器实例,用户可一键购买,配置,扩展,管理自己的服务,全方位保证应用

      有了云计算,使用者所需要关注的点大大减少:

                          

      云计算仍存在的问题:

        1. 有拓展能力,但不够灵活

        2. 迭代,更新困难

        3. 代码有一定的复用能力,大那是复用度比较低

        4. 各个业务系统数据部分开始打通,但是数据孤岛仍然存在

    [F] 云时代开发模式

      1. 特点:基于与特性进行开发,开发出来的软件具有水平拓展,低门槛准入和高解耦复用等云计算特性

        云时代开发变革:

          开发模式:理论支撑

          软件架构:实践指导

      2. 开发模式的转变    

        传统开发模式转变为敏捷开发

          敏捷开发是一种应对需求快速变化的软件开发能力

        敏捷开发特点:
          1. 迭代快,开发周期短;

          2. 面对面交流,只写必要文档;

          3. 每天都输出成果,客户能看得到

          4. 沟通多,容易发现问题

      3. DevOps

        DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程是的软件构建,测试,发布更加快捷,频繁和可靠。

        DevOps其实包含了三个部分:

          1. 开发

          2. 测试

          3. 运维

      4. 软件架构的演变——微服务架构

        在云开发时代,传统的单体架构转变为微服务架构,即把一个庞大的application拆分成几个小的独立的服务,再把独立的服务穿起来的一个架构设计。

        微服务架构特性:

          1. 日日可更新  

              基于DevOps和微服务架构,通过灰度发布,金丝雀等方法,让变更不再头疼

          2. 时时可更新

              面对双十一流量洪峰,记性弹性扩缩容,基于不同的仓库数据,实时更新,热生效

          3. 能力可积累

              开发的代码或者接口,都可以进行服用,达到越来越快的效果

          4. 技术可共存

              基于微服务的spring cloud或者service mesh可以进行跨语言,跨系统的对话,不排他

        传统应用和云端应用的区别:

                          

      技术栈区别:

                          

      云时代开发的分类:

        1. 本地应用迁移到云端

            已有应用使用云计算资源,实现弹性伸缩,减少成本以及维护工作,适合旧系统迁移,无需系统重构

        2. 基于云端特性开发

            基于云计算资源,运输局库等进行开发工作,负载能力有一定的提升,但还不足以应对高并发,市场快速变化需求

        3. 云原生应用开发

            基于微服务架构,容器,持续继承,devops等;适合新业务,需求快速变化,高并发等互联网应用场景

        4. 无服务器Serviceless

            业务代码委托给平台,通过事件触发,使用简单,高效,大幅降低开销

  • 相关阅读:
    ROW_NUMBER() OVER (PARTITION BY yy ORDER BY zz) in Linq
    Oracle-sql分页方法
    Lambda
    ISNULL做简单的显示字段逻辑
    Select2使用方法汇总
    mysqldump 定时备份数据(全量)
    ubuntu16.10下安装erlang和RabbitMQ
    XShell连接本地Ubuntu虚拟机
    Haroopad 安装到 Mac OSX
    Swagger 生成API文档
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/14434413.html
Copyright © 2011-2022 走看看