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

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

  • 相关阅读:
    【LeetCode】048. Rotate Image
    【LeetCode】036. Valid Sudoku
    【LeetCode】060. Permutation Sequence
    【LeetCode】001. Two Sum
    【LeetCode】128. Longest Consecutive Sequence
    【LeetCode】081. Search in Rotated Sorted Array II
    【LeetCode】033. Search in Rotated Sorted Array
    顺时针打印矩阵
    矩形覆盖
    二维数组中的查找
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/14434413.html
Copyright © 2011-2022 走看看