第1章 分布式PaaS平台介绍

                                               第1章 分布式PaaS平台介绍


1.1 什么是PaaS、

1.1.1 开发与运维之间的困局

    有两个独立的团队对生产运行的服务负责,它们分别是【开发团队】和【运维团队】。

1.1.2 DevOps的自动化

    DevOps定义了如下明确的目标:

    。更小、更频繁的变更意味着更少的风险;

    。让开发人员更多地控制生产环境;

    。更多地以应用程序为中心来理解基础设施;

    。定义简洁明了的流程,尽可能地自动化;

    。促成开发人员与运营人员的协作;

1.1.3 云计算的IaaS

     云计算,它将原本分散在全球各地的IT资源集中起来,通过虚拟化、分布式、多租户、自动服务、

 自动计费的方式递送给用户。云计算很巧妙地将服务模型划分为IaaS(基础设施即服务)、PaaS(平台即服务)、

SaaS(软件即服务)。

    IaaS关注基础架构中最基础的存储、计算、网络三大服务,它的出现很好地解决了中小IaaS企业对底层资源

管理复杂的问题。IaaS直接面向的用户是运维人员,而PaaS面向的用户是开发人员。

1.1.4 PaaS的到来

    PaaS将关注点从原有的基础资源上升到应用层面,它的目标是提供一个可简单操作的平台来帮助开发人员运行、

管理Web应用,它的关注点围绕着开发者的可运行代码。PaaS提供一个环节给开发者创建、管理、部署应用,其收益

不仅包括了IaaS原有的规模效应、固有成本,更看重的是提高代码发布的效率。在资源层面,PaaS提供底层计算、存储、

网络、虚拟化、中间件等服务。

1.1.5 PaaS的约束与开放

    约束型的PaaS平台会高效地利用底层计算、存储、网络资源,但对于开发者来说,它们不得不遵循一套独立的规范

和API(应用程序接口),甚至连基本的开发语言也要随着平台而改变。

     开放型的PaaS平台不再对开发者的代码进行侵入式的约束,而是提供足够的自由,开发人员保留其原有编程语言、

框架和容器组件。开放型PaaS还会逐步地与 版本控制、迟持续集成、测试等开发过程工具进行集成。

1.1.5 PaaS解决的具体问题

   1)PaaS提供的是一个应用的聚合,这里包含了功能各异的服务组件。

   。应用服务中间件

   。数据存储服务

   。消息服务

   2)PaaS要提供服务发现、可伸缩性、状态管理功能。

   。服务发现

   。可伸缩性

   。状态管理

   3)PaaS中的服务监控、恢复与容灾

    是指对于应用聚合中的每一个组件,如何做到简单、自定义地监控,并且在服务异常时启动服务的

快速恢复功能。功能值跨越数据中心的平台级故障恢复,涉及两个数据中心之间的逻辑计算单元如何保持

通信,如何保持唯一性,业务数据如何进行备份。

   4)PaaS的Portal门户

   PaaS提供了一个对用户友好的Portal,可以基于UI进行资源的聚合,并且可以快速地查找到配置信息、
  
计费信息。

   5)ITIL服务管理的相关内容

   ITIL(Information Technology Infrastructure Library,即信息技术基础架构库)由英国部门CCTA在20世纪

80年代末期制定,现由英国商务部OGC负责管理,主要适用于IT服务管理。ITIL为企业的IT服务管理实践提供了一个

客观、严谨、可量化的标准和规范。

    6)PaaS平台的安全管控

    PaaS平台的安全管控包括三方面:PaaS平台的组成组件自身的安全控制;PaaS中提供的服务安全控制;PaaS对

对外部提供服务的统一出口的安全控制。

    7)部署发布的相关内容

    最后开发的代码任何通过工具自动、快速地发布到平台也要考虑的,这部分与开发过程相关,包括代码单元测试、

集成测试、打包、版本控制、部署等。


1.2 什么是分布式计算

1.2.1 分布式计算与PaaS

    分布式计算是专门研究分布式系统的计算机科学领域。一个分布式系统由若干组件组成,这些组件通过在网络上传递

消息来进行通信与协调,从而完成一个统一的任务。分布式计算研究如何将分散的计算、存储、网络资源集合起来形成一个

巨大的计算系统,该系统可以抽象成一个本地操作系统,它有强大的计算能力及海量存储空间,计算任务之间的通信如同在

本地一样简单、透明。

    广义上的分布式系统无处不在,只要一个业务操作多个组件协作完成任务,组件之间跨网络进行通信,则可以认为这是

一个分布式系统。狭义的分布式系统则完整地定义了一系列组件来形成一致、整体的标准,包括抽象原型、组合方式、通信

协议等。

    PaaS平台实际上是一个完整的分布式系统,它必须将独立的计算资源整合起来形成一个抽象的大计算系统。

1.2.2 分布式平台的挑战

    1.可扩展性

    在分布式平台上运行着如下异构的基础资源:网络、服务器硬件、操作系统、中间件、编程语言等。

    2.可伸缩性

    解决方法分为两步:

    。资源透明扩容

    。计算任务的分解

    3.容错性

    4.安全性

    一方面:数据的保密性,涉及如何定义数据的访问权限,如何保护敏感信息不被非授权人员查看;

    二服务的可用性,如何防止外部攻击破坏正常的服务可用性。

    5.并发性

    并发性问题在单一操作系统组件上也会出现。
博主

让学习成为习惯,坚持-共享-开源-自由! 成功者决不放弃,放弃者绝不成功!

相关推荐

嗨、骚年、快来消灭0回复。