基于Cloud Foundry的PaaS云解决方案_第1页
基于Cloud Foundry的PaaS云解决方案_第2页
基于Cloud Foundry的PaaS云解决方案_第3页
基于Cloud Foundry的PaaS云解决方案_第4页
基于Cloud Foundry的PaaS云解决方案_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Cloud Foundry的PaaS云解决方案目录传统应用架构和互联网应用微服务架构PaaS和容器Pivotal PaaSPCF功能架构PCF对开发环境的支持PCF对DevOps的支持PCF对云本应用的支持应用迁移到PCF的实际效果PCF案例分享Pivotal公司介绍员工数公司市场估值3000+1.5B+$.ETCPivotal Cloud Foundry大数据套件Lab服务可伸缩的存储和计算: HDFS/Object内存计算:数据加载、查询、实时处理IaaS云抽象 (可迁移)自动化: 应用供应和生命周期管理服务注册和服务目录XXPivotal对开源支持的承诺所有的软件均开源,同时提供有增

2、强的商业版。开源和商业版重叠部分完全一样。把互联网成功实践技术推广到企业用户支持客户对技术的自主可控传统应用架构和互联网应用架构双轨运行(Bi-Modal)现代应用框架 + SQL可深度扩展的分析数据平台MPP Database实时数据平台重量级应用中间件传统磁盘RDBMSOLTP应用 统一OLTP应用 /OLAP 实时分析ETL传统数据仓库OLAP应用 服务平台Neo4J移动框架DS应用分发Jenkinscassandra数据同步云存储MongoDBTracker推送Redis流处理传统应用和互联网业务应用的需求不同带来的技术要求需求是持续发展的是一个产品,持续发展用户访问量难以预测,而且一

3、般是持续增长用户访问的并发量是万级、十万、百万在线业务,业务不能停顿,互联网应用24小时服务,任何时候中断服务都是事故。传统应用特征互联网应用特征需求比较固定是个项目,完成以后就是运维用户访问量可以预测,较为固定用户访问的并发量在百级、千级非在线业务,允许一定时间的业务停顿(比如夜间停机),包括系统维护等,敏捷业务,敏捷开发持续集成应用平台的弹性支持海量并发业务不停顿,灰度发布,发布回滚,系统在线升级。互联网应用技术要求云原生应用架构云原生应用框架云原生应用平台产品(互联网应用)和项目(传统应用)的区别产品不是项目传统应用的开发模式:提供一些被认为是完整的软件。一旦开发完成,软件将移交给维护部

4、门,然后,开发组就可以解散掉了。互联网应用(微服务)认为认为开发组应该负责产品的整个生命周期。一个常见的证明是:Amazon的“你编译,你运维(you build, you run it)”的理念,它要求开发团队对软件产品的整个生命周期负责。这要求开发者每天都关注软件产品的运行情况,并与用户联系的更紧密,同时承担一些售后支持。成熟的产品会与业务功能进行绑定。除了把软件看成既定功能的集合外,会进一步关心“软件如何帮助用户实现业务功能”这样的问题。采用整体型的架构也有其应用场景,但是越小的服务粒度越容易促进用户与服务运营商之前的关系。传统一体化架构和微服务架构的概念模型关系数据库数据访问服务/EJ

5、B/Java BeanHTMLJavaScriptMVC服务传统一体化架构的应用浏览器HTTPHTTPHTTPHTTPHTTPHTTPAMQPAMQP关系型数据库Key/Value数据库(NoSQL)图形数据库微服务支持开发的组织架构围绕业务能力规划界面开发人员中间件业务开发人员数据库管理员业务能力A业务能力B业务能力C烟囱式功能开发团队烟囱式应用架构跨功能开发团队微服务架构数据访问服务/EJB/Java BeanHTMLJavaScriptMVC服务围绕业务能力进行组织微服务架构有以下几个特点:每个服务只需要做好一件事,更加专注和简单用合适的工具来做合适的事情服务(产品)之间是松耦合的,独立

6、部署服务(产品)的团队之间是相互独立的单一功能的改变只需要重新构建部署相应的服务即可SOA和微服务微服务去中心化,才能无限扩展,才能持续成长,支持海量并发,强化终端、弱化管道服务是一个部署单元,可以直接部署松耦合、高内聚,REST接口或消息每个服务可以选择特定的技术,Node.JS开发Web页面,C+做高性能要求,分散治理无单点设计、可监控、可测试、可回滚、可禁用、短事务与柔性事务、异步设计、无状态集成设施自动化,基于容器部署微服务架构将系统以组件化的方式分解为多个服务,服务之间相对独立且松耦合,单一功能的改变只需要重新构建部署相应的服务即可SOA架构ESB就是汇集中心点,ESB影响了系统的扩

7、展性,把接口复杂化。服务还不是直接部署单元,部署要做特定设计SOAP、BPEL等复制协议,集中式框架服务的实现都是基于J2EE实现,一个技术难以适应各种技术要求集中治理SOA和微服务微服务分散治理分散数据管理强调服务间事务的协调,一致性只能是最终一致性以及通过补偿运算处理问题。BASE(Basically Available为基本可用,Soft-state为软状态/柔性事务,EventualConsistency 为最终一致性)适合互联网金融业务SOA架构集中治理集中数据管理支持数据库的事务性,难以支持分布式事务ACID(原子性、一致性、隔离性、持久性)适合核心帐务之类严格事务性的应用微服务特

8、征-容错性设计微服务要求应用需要有能容忍服务的故障的设计,客户端需要尽可能的优化这种场景的响应。这将让微服务团队时刻的想到服务故障的情况下用户的体验。为每个应用的服务及数据中心提供日常故障检测和恢复。这种产品中的自动化测试可以让大部分的运维团队正常的上下班。由于服务可以随时故障,快速故障检测,乃至,自动恢复变更非常重要。微服务应用把实时的监控放在应用的各个阶段中,检测构架元素(每秒数据库的接收的请求数)和业务相关的指标(把分钟接收的定单数)。监控系统可以提供一种早期故障告警系统,让开发团队跟进并调查。对于微服务框架来说,这相当重要,因为微服务相互的通信可能导致紧急意外行为。监控是至关重要的,它

9、能快速发现这种紧急不良行为,让我们迅速修复它。微服务团队期望清楚的监控和记录每个服务的配置,比如使用仪表盘显示上/下线状态、各种运维和业务相关的指标。对断路器(circuit breaker,定时检测服务状态)状态、目前的吞吐量和时延细节,我们也会经常遇到。微服务特征基础设施自动化提交修改的代码自动的构建和测试(单元测试、静态代码分析)代码和构建包仓库自动集成测试验收测试、性能测试、压力测试应用在线升级,无业务停顿Build Pipeline Operations微服务特征-运行在容器中软件工厂根据反馈快速迭代开发水平伸缩支持多样化的客户端持续交付基础设施应用传统的一体架构微服务架构物理机器/

10、虚拟化Cloud Foundry目录传统应用架构和互联网应用微服务架构PaaS和容器Pivotal PaaSPCF功能架构PCF对开发环境的支持PCF对DevOps的支持PCF对云本应用的支持应用迁移到PCF的实际效果PCF案例分享物理服务器网络、存储操作系统数据库Web 服务器应用服务器应用TraditionalIaaS数据库Web 服务器应用服务器应用IaaS应用PaaSPaaSPaaS云解决了什么问题?IaaS: 硬件的自动化管理,人与机器的解耦合 获得效率/提高资源利用率PaaS: 应用的自动化管理,应用与OS的解耦合获得弹性/简化运维IaaS应用SaaSSaaS应用多租户模型应用应用

11、PaaS支持传统应用和云本应用云原生应用(云本)DevOps持续交付持续集成ContainersMicro servicesPaaS云技术基础-基于轻量级OS容器物理服务器虚拟化Guest OSGuest OSGuest OS应用服务器应用服务器应用服务器AppAppApp物理服务器虚拟化Diego(Linux/Win容器引擎)操作系统(Linux/Win)虚拟OSLinux/Win容器是隔离的,只有10M左右的库文件,非常的轻量级,节省OS运行所需资源。虚拟OSGardenApp应用服务器虚拟OSWardenApp应用服务器虚拟OSWardenApp应用服务器虚拟OSWardenApp应用服

12、务器虚拟OSWardenApp应用服务器虚拟OSWardenApp应用服务器轻量级的体现:100个应用实例和容器冷启动 = 75secs100个应用实例和容器扩展到400个= 110secs40个故障应用实例和容器完全恢复 = 60secs?=隔离PIDUserNetworkcgroups+内容/应用+启动进程运行容器是什么allows Diegos abstractions to be flexibleGarden容器的抽象目录传统应用架构和互联网应用微服务架构PaaS和容器Pivotal PaaSPCF功能架构PCF对开发环境的支持PCF对DevOps的支持PCF对云本应用的支持应用迁移到

13、PCF的实际效果PCF案例分享Cloud Foundry基金会 PaaS业界标准基金会成员共享CF的开源代码,不能单独修改,以避免碎片化Pivotal作为原厂商和主要贡献者,在基金会运作初期对CF有很强的推动力和引导力,第1年Pivotal有5票投票权,第2年3票,第3年为1票,此外还有EMC/VMware联盟纳入Linux基金会体系,提供管理、运作和宣传迄今为止共50个基金会成员,并在不断壮大PLATINUMGOLDSILVERPivotal对CF的代码贡献Source: , October 2015IndependentDocker庞杂的生态圈PCF一体化的PaaS和Docker生态圈的对

14、比功能项PCF全内置支持Docker生态常用应用服务MySQL,Redis,RabbitMQ,SpringXD自己找开源移动计算消息推送、数据同步,API-Gateway、用户管理、应用分发、应用分析无应用支撑服务APM,Session共享,SSO、远程文件服务、API管理无微服务Spring Cloud, Spring Boot无数据分析服务Kafka、MongoDB、PHD自己找开源数据服务GemFire、Neo4J、RiakCS、Cassandra无DevOps服务Jenkins、Git、Artifactory自己找开源平台服务ELK、KLA、平台自身监控无用量计费内置,并包括服务自己定

15、制自动弹性伸缩业务SLA的全自动弹性伸缩仅基于系统资源指标如CPU、内存等的弹性伸缩故障恢复应用级+系统级仅容器多IDC的高可用性内置支持定制应用和配置解耦Service Broker无路由PCF GoRouter自己日志聚合PCF Doppler自己定制访问控制PCF UAA+Login管理自己定制应用构建PCF BuildpackDockerfile集群管理DiegoMarathon,Apache AUROR,Docker Swarm 调度DiegoMesos,K8s资源管理DiegoMesos,K8s多OS的应用支持支持Linux,.Net/WinLinux应用容器GardenDocke

16、r和IaaS集成BOSHDocker Machine语言和中间件的中立性,支持丰富的语言和中间件,不能只支持几种语言,而且提供定制的方式支持特定语言。支持容器技术,应用在容器中运行,通过容器实现应用运行环境的隔离,除了支持Linux容器,还要支持Windows .net的应用运行环境。支持应用运维的自动化,包括应用一键部署、故障自动恢复、自动弹性伸缩,不依赖于脚本实现,而且平台本身就支持这些功能,当然可以定制各种策略。应用和配置分离,PCF的Service Broker是一种非常好的应用和配置的分离实践,应用在不同的环境下部署不需要改一行代码,也不需要改一行配置。配置通过服务绑定的方式实现。P

17、aaS平台本身的系统在线成长,支持多重、多级别的高可用性,系统本身能够在线升级,系统扩容缩容不影响业务运行,无论是应用、服务还是系统本身升级,均不会导致业务停顿。系统一旦上线,就像是一个生命诞生,持续发展壮大,即使是像蛇一样蜕皮升级长大,也不会休克,生命续存期间业务不停顿,直到系统下线生命结束。除了支持应用运行,还要提供产品级的丰富的应用所需的服务支撑,如数据库服务 (mySQL),NoSQL服务,消息中间件服务,缓存服务,云存储服务等。对开发、测试者来说,PaaS必须支持DevOps的全生命周期,从代码版本管理、代码自动构建、库管理,到自动测试、自动部署等持续交付的全流程支撑。多租户的实现,

18、通过租户管理隔离不同的组织架构,但是又共享统一的硬件资源。提供或支持通用的应用服务,如APM服务、日志聚合分析服务,通知提醒服务。对于应用都需要的功能,不需要每个应用都去开发一次。PaaS需具备的功能Container SchedulingApplication FrameworkServicesPlatform RuntimeRoutingDatabaseConfigurationService DiscoveryBig DataObject StorageMobileBuild CIUser ProvidedLogging & MetricsMessagingCircuit Breaker

19、s12 Factor AppsRESTful ServicesMicroservices.NETSpring BootNode.jsRuby on RailsOperationsZero Downtime DeploymentsFailover & RecoveryScalingSecurity PatchingPlatformUpgradesInfrastructureOpenStackAmazonVMwareApplication FrameworkServicesDatabaseObject StorageUser ProvidedCircuit Breakers.NETSpring B

20、ootNode.jsRuby on RailsPaaS应用运行时和运维自动化系统在线自升级OpenStackAmazonVMwareIaaS基础设施自动化(CPI)虚机故障自动恢复物理机故障自动恢复高可用性区网络隔离自动弹性伸缩应用安全组APM 应用一键部署应用计量服务计量系统提醒自动容器调度容器故障自动恢复应用故障自动恢复多IaaS混合支持虚机全生命周期管理应用灰度发布应用发布回滚异地双活日志自动采集聚合PaaS应用平台JavaTomcatGoPHPRubyNode.JSPython.NetWeblogicWebsphereC/C+JettyPlayResinPaaS应用通用功能平台化Ses

21、sion共享日志分析APM应用和配置解耦服务自动安装、升级服务套餐化平台定制租户管理动态路由SSOLDAP集成Build CIPaaS应用服务Spring微服务框架远程文件共享API管理PaaS CI/CDDevOps服务Spring Boot服务注册和自动发现集中配置管理短路开关和监控数据消息服务mySQLMongoDBCassandraNeo4JRedisKafkaRabbitMQRiakCS流服务移动计算服务应用分发API Gateway数据同步应用分析大数据服务Pivotal HadoopGreenPlum服务EclipseJava插件微软Studio插件GitHubJenkinsAr

22、tifactoryPaaS(PCF)功能架构图运维自动化门户容器集群管理容器引擎容器注册系统安全性CaaS/Docker也有的功能系统监控PCF 的设计原则遵循十二要素严格区分PaaS和IaaS的功能,PaaS专注于应用层,IaaS专注于基础设施的自动化区分应用和服务,应用需要即时弹性,而且需要运维的高度自动化(部署、故障恢复、自动扩容缩容),应用多是无状态,无状态即公牛机制,通过服务来实现有状态,而服务不太需要即时弹性,服务更多是有状态,服务的运维自动化即时性要求不高,有状态就要去有备份、恢复等。服务的运维需要各种工具,很多时候会需要人工介入,比如数据库调优、故障恢复,而应用的运维可以高度自

23、动化、无需人工介入,主要通过日志分析,服务更适合运行在虚机,而应用适合运行在容器中。由于服务的有状态,不容易实现即时恢复,所以服务的可用性要求、资源独享性更高,共享OS内核不适合服务。实现应用平台功能,应用平台和服务通过BOSH来驱动IaaS云原生应用的十二要素1. 基准代码:一份基准代码,多份部署。基准代码和应用之间总是保持一一对应的关系。所有部署的基准代码相同,但每份部署可以使用其不同的版本。2. 依赖:显式声明依赖关系。应用程序一定通过依赖清单,确切地声明所有依赖项。3. 配置:在环境中存储配置。将应用的配置存储于环境变量中。环境变量可以非常方便地在不同的部署间做修改,却不动一行代码。4

24、. 后端服务:把后端服务当作附加资源。应用不会区别对待本地或第三方服务。对应用程序而言,两种都是附加资源。5. 构建,发布,运行:严格区分构建,发布,运行这三个步骤。6. 进程:以一个或多个无状态进程运行应用。应用的进程必须无状态且无共享。7. 端口绑定:通过端口绑定提供服务。应用完全自我加载而不依赖于任何网络服务器就可以创建一个面向网络的服务。8. 并发:通过进程模型进行扩展。开发人员可以运用这个模型去设计应用架构,将不同的工作分配给不同的进程类型。9. 易销毁性:快速启动和优雅终止可最大化健壮性。应用的进程是可销毁的,意思是说它们可以瞬间开启或停止。10. 开发环境与线上环境等价:尽可能保

25、持开发、预发布、线上环境相同。应用想要做到持续部署就必须缩小本地与线上差异。11. 日志:把日志当作事件流。应用本身考虑存储自己的输出流。不应该试图去写或者管理日志文件。12. 管理进程:后台管理任务当作一次性进程运行。一次性管理进程应该和正常的常驻进程使用同样的环境。VMWare vSphereOpenStackCloud StackAWSCPI (Cloud Programming Interface)BOSH (IaaS运维自动化)服务运维自动化服务解决有状态问题Bosh deploymentCf push动态路由服务/API管理服务应用微服务Spring BootSpring Clou

26、d 服务.Net容器调度数据微服务ETL批处理流数据数据处理mySQLRedisRabbitMQGemFire会话共享CassandraPostgreSQL平台运营层应用运行时CI/CD自愈弹性伸缩监控管理租户管理PCF 逻辑架构VMWare vSphereOpenStackCloud StackAWS调用IaaS接口标准-CPI (Cloud Programming Interface)BOSH (IaaS运维自动化)服务Bosh deploymentCf push应用和微服务调用标准Restful HTTP容器-OCI标准mySQLRedisRabbitMQGemFire会话共享Cassa

27、ndraPostgreSQL平台运营层应用打包标准BuildpackSSO标准Oath2/SAML用户目录标准LDAPPaaS涉及的标准服务运维自动化标准Service Broker应用交付标准十二要素服务安装包标准BOSH Release日志采集标准RELPCloud Foundry逻辑视图PC 浏览器访问CF命令行Mobile App访问STS开发工具动态路由器 (Go Router)NATS 消息总线service poolRabbitMQPCF DBuaa - AuthN云控制器(大脑)Stager(组装器)核心业务VM虚机Docker镜像应用系统service BrokerBuild

28、Pack应用构建包WardencontainerLinuxGarden应用系统OpsPCF安装、在线升级商业版PCF独有部件NATS 消息总线开源也提供的部件开源也提供的部件商业版提供的部件HAuaa - AuthNWeb浏览器WinWarden应用系统VM虚机集中日志采集HA ProxyHA Proxy用量/计费GemFireSession共享Neo4JSpringXDmySQLP- HadoopcassandraSSHFSAPMRiakCSELK日志Jenkins移动计算动态路由器 (Go Router)动态路由器 (Go Router)动态路由器 (Go Router)云控制器BOSHR

29、edisMongoDBKafkakafka流服务提醒服务LDAP集成AZ支持IaaSvSphere,OpenStackOauthV2 SSOLDAP服务器授权服务器BBSetcdBBSetcd监控服务器策略逻辑资源调度Diego大脑监控代理监控代理CC BridgeWeb界面PaaS门户PCF监控网管集成自动弹性伸缩S3兼容存储服务Spring微服务APMGitArtifactoryCassandraKLACloud Foundry的典型部署架构物理存储DS1物理服务器160核1.7T内存负载均衡A00物理服务器160核1.7T内存物理服务器160核1.7T内存物理服务器160核1.7T内存v

30、Switch0DS2DS3DS4vSphere集群1vSphere集群2负载均衡B82动态路由器95动态路由器96NATS83etcd85HM86云控制器90UAA98登录02日志采集14CC Work93NATS84HM87云控制器91UAA99登录03日志采集15CC Work94Console DB04UAA DB97NFS88CC DB89PCF部件池DEA 151DEA 207DEA 308DEA 452DEA 553DEA 654DEA 1009DEA 1110DEA 1211DEA 1355DEA 1456DEA 1506应用池服务池MySQL 17MySQL 29应用监控185

31、应用监控285自动弹性伸缩185自动弹性伸缩285系统监控采集36系统监控185系统监控285Redis1RabbitMQ5RabbitMQ6OPSMySQL 38DEA 757DEA 858DEA 959DEA 660DEA 1761DEA 1862传统架构向基于PCF的PaaS迁移样例Pivotal Cloud Foundry服务区应用区消息中间件(MQ)IBM HTTP ServerIBM WASIBM WASIBM ESB(MB)WCSDB2数据库DB2数据库JBOSS应用轻量级运行体轻量级运行体Kafka服务服务MySQL服务DB2服务BrokerRabbitMQ服务MQ服务Brok

32、erRedis 服务Hadoop服务PHP应用轻量级运行体Tomcat应用轻量级运行体Spring应用轻量级运行体WebServerNginx轻量级运行体MQESB服务BrokerPCF的PaaS解决方案除了提供PaaS平台,还提供大量的商业化服务,使得应用开发只需专注于业务逻辑,实现即时开发应用相关的运维功能统一交由平台实现,把应用和运维解耦,由平台统一运维所有应用支持多云的环境,把应用和基础设施解耦,实现实时跨云弹性伸缩(无需修改应用和配置)Pivotal CF的主要功能在任何IaaS上部署、运维、更新和弹性伸缩.and more内置的和生态系统的服务易于增加和定制自动检测运行框架简单的P

33、ush即可生成应用运行环境应用程序包(.WAR)Docker镜像.NET简单的服务绑定敏捷的微服务易于定制灰度发布简化应用部署即时的动态路由日志流聚合访问控制和策略内置的容器化(集装箱)APM和运维指标监控4个级别的高可用性运维自动化App-Instance Availability ZoneProcessVirtual Machine应用相关的服务Rabbit MQMySQL HACassandraElasticsearchJenkins (CI)MemcachedMongoDBNeo4jRedisRiak CS数据分析服务Elastic Hadoop HAWQGemFire XD移动支持服

34、务Push NotificationData SynchAPI GatewayPCF PaaS的几大优势运维自动化严格区分PaaS和IaaS运维通过PaaS来驱动IaaS的运维平台在线升级平台在线补丁应用服务器在线升级4重故障自动恢复自动弹性伸缩灰度发布提供策略接口,运维模式自动化固化后定制实现全方位监控机制IaaS平台层监控PaaS部件业务逻辑层监控基于平台的应用无差别监控APM(应用性能监控)容器的监控PaaS微服务框架通过应用框架结合PaaS来实现新的自动化运维模式通过框架实现弹性伸缩通过框架实现对应用的调用监控通过框架实现故障截流、探测后自动恢复经过实践检验的成熟09年开始的开源项目在

35、互联网公司经过锤炼:百度、新浪、京东等在大型企业级客户得到超过一年的应用实践:招商银行、中信证券、永辉超市、南方电力大型企业的最新选择:平安客户、台积电、上海超算。PCF的业务价值1、运维自动化,大规模运维需要PaaS2、平台标准化,提升对应用开发商的技术掌控3、敏捷开发,开发环境自动化供应,无配置修改迁移,提高ITIL流程的自动化程度,继续实现ITIL的管控点4、屏蔽IaaS差别,多云环境下屏蔽IaaS平台的差异性,并避免技术锁定技术创新带来业务创新和ROI技术创新,从IaaS到PaaSPCF支持业务敏捷硬件资源从虚机到容器,缩小颗粒度,降低硬件成本通过对开源中间件的商业支持,降低软件成本运

36、维自动化降低运维成本运维自动化提供更强大的运维支撑运维自动化(一键部署、故障自动恢复、根据SLA的资源自动分配)平台标准化减少运维工作量平台自升级、灰度发布保证业务连续性通过多重的高可用性机制,提升系统的高可用性。开发部门DevOps持续集成/持续交付支持敏捷开发支持微服务如果一个应用故障,PCF会在一个新的容器中重启应用3. Resurrector restarts failed VMs应用故障进程故障虚机故障机器组故障PCFABCB1.2.如果进程故障了,PCF会在新的虚机从重启这个进程PCFABCProcessPCFABCVM1VM2OS,Mware如果是虚机的操作系统、网络等故障,PC

37、F会关闭虚机,通过虚机模板重启一个克隆的虚机3.VM3OS,MwareOS,Mware如果一组物理机器故障,PCF还可以通过高可用性区确保PCF和应用继续运行4.Zone 2ABCBABCBABCBABCBZone 1ABCBABCBABCBABCBVM1VM2PCF支持的4重高可用性PCF Service Broker和BOSH使得服务运维自动化服务安装部署BOSH创建新建单机套餐比如mySQL服务套餐:1、共享套餐2、单机独享套餐3、HA套餐4、集群套餐新建mySQL单机自动备份租户管理平台应用仪表板示例自动弹性伸缩PCF 监控IaaS平台层监控PaaS部件业务逻辑层监控基于平台的应用无差

38、别监控容器的监控APM(应用性能监控)PaaS部件业务逻辑层监控Cloud Controller等待任务数任务调用出错数任务调用正常数用户总数错误日志总数。Router内部Controller的反应时间应用访问反应时间时间(1分钟)拒绝请求数Bad Gateway数量TPS返回5XX、4XX、3XX、2XX的数量返回4XX总调用数。PaaS部件业务逻辑层监控从各个PCF的部件采集BOSH和CF的各项指标,所有经过BOSH部署的虚机均会采集指标各项指标通过Collector采集到Ops Metrics部件Ops Metrics提供了JMX接口供外界调用PCF的应用性能管理PCF的日志综合管理EL

39、K服务的配置ComponentJobInstancesCPURamEphemeralPersistentStatic IPDynamic IPLogstashIngestor for Elastic Runtimes firehose1210244096010LogstashIngestor for other tiles (syslog port: 514, RELP port: 515)1210244096010LogstashIngestor for BOSH1210244096010RedisQueue121500040963000001ElasticsearchElasticsear

40、ch master node(s)1110242048500010ElasticsearchElasticsearch data nodes243200040965000002LogstashLog parser2210242048001AllMonitor VM023200040962500010KLA日志分析Knowtify Log Analytics由三大部分组成:Solr、Logstash、ZookeeperKLA已经和PCF以及PCF的日志采集完全集成。KLA支持动态伸缩、在50个Solr Cloud Leader之前动态伸缩无需重建索引。.实时监控日志数据快速搜索可以定制展示视图,

41、洞察研究快速检测和解决安全相关的事件使用报告1、报表数据可以导出2、服务的使用报告Org ConsumptionApp InstancesSpace ConsumptionMemoryGB Hour UnitsDuration* Note: Screenshot not finalPCF的生态圈Apigee的API管理会支持 PCFTIBCO Business Works Applications on PCFPCF on Mirantis OpenStackPCF on CenturyLink CloudGitLab推出PCF上的代码存储版本管理服务CloudBees推出PCF上的Jenki

42、ns CI服务Jfrog推出PCF上的 Artifact Management Service目录传统应用架构和互联网应用微服务架构PaaS和容器Pivotal PaaSPCF功能架构PCF对开发环境的支持PCF对DevOps的支持PCF对云本应用的支持应用迁移到PCF的实际效果PCF案例分享Spring Tool Suite plugin CF开发IDE环境CF的Eclipse插件CF-MS .Net开发环境插件目录传统应用架构和互联网应用微服务架构PaaS和容器Pivotal PaaSPCF功能架构PCF对开发环境的支持PCF对DevOps的支持PCF对云本应用的支持应用迁移到PCF的实际

43、效果PCF案例分享现状-从需求创意到价值实现周期长传统交付过程的反馈环什么是持续交付?什么是持续交付?持续交付是在用户与项目团队(包括客户或者Product Owner)之间建立紧密的反馈环,即:通过持续交付新的软件版本,验证新的想法和软件的改动,并能衡量这些改动对收入的影响。持续交付(Continuous Delivery)是一系列的开发实践方法,用来确保让代码能够快速、安全的部署到产品环境中。它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期。因为使用完全的自动化过程来把每个变更自动的提交到测试环境中,所以当业务开发完成时,你有信心只需要按一次

44、按钮就能将应用安全的部署到产品环境中。持续交付的好处:业务收益:1、它让你能更快地验证新业务方案的结果,并根据真实的用户反馈进行调整。2、大幅降低交付风险、交付成本。IT管理的好处:1、项目经理们能看到项目的真实进度,通过规律性增量发布,大大减少了每次发布的风险。Monthstoweekstodays每月都有那么几次!版本上线已经成为项目组的心魔上哪个版本,版本没错吧?XX请假了,怎么上线?手抖了怕出线上问题啊哪些库文件要改为什么要搞持续交付PaaS改变应用生命周期流程ITERATIVE DEVELOPMENTDESIGNDEVELOPTESTCONTINUOUS DELIVERYOPSDEV

45、Customer FeedbackProduct Release #1Product Release #2Customer DeliveryMICRO-SERVICESMICRO-SERVICES基于微服务的持续交付瀑布式Scrum(Water-Scrum-Fall)Water 定义了前期项目计划过程,通常发生在IT和业务部门之间。Scrum 一种迭代的、自适应的方法,用以实现在Water阶段事先敲定的总体计划。Fall 一个可控的非频繁交付的产品周期,通过组织级策略来监管,也受限于企业基础架构。持续交付三条主线(步骤)PCF的运行环境(自动运维)版本控制服务CI ServerArtifact

46、仓库开发环境Dev测试环境Test准生产环境Acceptance生产环境Production1. 从Code到Artifact仓库(Code Pipeline)2. 从Artifact仓库到Running Service(PCF提供运行时和一键部署)3. 从开发、测试环境到准生产、生产环境(DTAP/Release)敏捷开发代码开发App1程序员John的工作环境Other dev apps代码开发App1程序员Mary的开发环境Other dev appsQAQAApp1QA版本Other QA appsProductionPRODUCTIONApp1生产上线版本Other Prod app

47、s无需修改代码和配置!从创意到生产上线-一天内”需要平台的支撑传统开发环境的准备和PCF应用环境准备开发环境应用运行环境源代码开发人员测试环境数据库环境消息中间件环境其他依赖模块环境装虚机OS,配网络等装中间件配置中间件装虚机OS,配网络等装虚机OS,配网络等装虚机OS,配网络等装数据库配置数据库装数据库配置数据库装数据库配置数据库基础设施运维人员DB/中间件运维人员开发人员PCFPaaS运维人员分配租户分配资源额度定制服务PaaS开发运维人员数据库服务消息服务其他依赖模块应用开发环境测试环境开发人员自助创建数据库、消息服务一键部署,分钟级在线调试传统开发环境的准备和PCF应用环境准备Pivo

48、tal CF:应用部署以分钟/秒计装操作系统-半小时 需专业技能装应用服务器-半小时 需专业技能配置应用服务器-两小时 需专业技能手工或脚本部署应用1小时,专业技能修改配置和设置各种参数-数小时,专业技能在一个Web界面中选择资源大小、平台、服务一键部署无需申请资源、无需安装操作系统、无需装应用平台、无需装数据库,无需麻烦运维人员三种开发模式-DevOpsIaas的开发运维模式Paas的开发运维模式AlwaysProductionReadyPCF的DevOps工具链生态圈支持全应用生命周期分布式的版本控制、源代码管理、协调开发以增量的方式持续的构建和测试软件项目,有数百种插件共享的二进制库,管

49、理库的生命周期,避免冲突在同一环境下做开发、测试、QA和生产,开发人员友好的命令行和API,DevOps简化每个应用的运维,内置的生态环境提供大量的服务。跨越多种不同的IaaS自动化.从测试到构建到部署的集成的工具和自动化的流程高速.以小功能更新更频繁的构建产品版本,降低复杂度,加速进入市场质量.通过测试驱动的开发减少反馈循环,使得问题浮现的更快,更具响应性敏捷性.产品更新形成规律,而且在线升级,无业务停顿时间,改进客户体验,加上产品进入市场提交修改的代码自动的构建和测试(单元测试、静态代码分析)代码和构建包仓库自动集成测试验收测试、性能测试、压力测试应用在线升级,无业务停顿构建管道运维Git

50、LabGitHubJenkinsDevelopmentTest + UAT + StagingProduction基于CF的应用生命周期管理立项开发测试生产上线运维应用下线资源回收运维包括:PCF平台自身在线升级应用在线升级服务在线升级日志管理安全管理应用监控PCF平台监控日志集中管理租户管理CF Eclipse插件在线调试Git代码管理在线发布服务定制BuildPack定制敏捷开发Jenkins/Rational自动构建自动测试自动发布开发测试生产环境同步CI的演示XX应用部署过程与采用PCF前后的对比SVN代码库抽取测试版本准备测试环境基于脚本的生产部署基于脚本的测试部署准备生产环境代码共

51、享FTP服务器修改配置属性文件PCF测试环境PCF代码库管理Gerrit/SVN代码测试系统Jenkins应用容器一键部署测试PCF生产环境应用容器一键部署生产应用容器应用容器应用容器1、采用PCF之后,减少应用部署环节,无需准备测试环境、无需基于脚本部署测试、无线修改配置属性文件、无需基于脚本部署到生产环境。加快应用部署速度,从而加快整个应用生命周期。减少部署的人工操作,减少出错的环节。2、开发人员可以直接部署测试,无需运维人员参与3、采用PCF后,开发人员可以一键部署到测试环境,运维人员可以一键部署到生产环境。开发测试(PCF集群A)PCF开发测试到生产环境PCFRouterPCF其他模块

52、平台定时伸缩应用弹性伸缩提醒服务服务监管控制台集中日志管理平台监管代码管理GitMySQL数据库MySQL数据库MySQL数据库HAHAPCFRouterPCFRouterPCFRouterPCFRouterPCFRouterPCFRoutermySQLServiceBrokerRedisRabbitMQ生产环境(PCF集群B)应用运行时持续集成Jenkins库管理Artifactory开发者PCF其他模块平台定时伸缩应用弹性伸缩提醒服务服务监管集中日志管理平台监管MySQL数据库MySQL数据库MySQL数据库HAHAmySQLServiceBrokerRedisRabbitMQ应用运行时运

53、维人员PCFRouterPCFRouterPCFRouterPCFRouterPCFRouterPCFRouterPCFRouter运维门户2、根据标签获取部署应用包1、应用部署流程3、自动部署应用、灰度发布目录传统应用架构和互联网应用微服务架构PaaS和容器Pivotal PaaSPCF功能架构PCF对开发环境的支持PCF对DevOps的支持PCF对云本应用的支持应用迁移到PCF的实际效果PCF案例分享74云本(云原生)应用框架标准: 12 Factor App标准接口: BOSH Release标准接口: CPI(Cloud Provider Interface)文化DevDevIT Op

54、sPCF提供的支持和工具Spring CloudSpring BootCloud FoundryBOSHAWSVMwareOpenStack应用框架运行平台集成设施自动化IT基础设施IT OpsIT Ops75Spring CloudSpring BootDevSpring BootFrom 0 to app in 5 minSpring CloudDesigned for fragile infrastructure in partnership with NetflixApplication Framework云本应用框架Spring Cloud微服务运行时和下列框架的的客户端库:Serv

55、ice DiscoveryConfiguration ManagementCircuit BreakersIntelligent Client Side RoutingReverse Proxies.and much more安全性 (encrypt, SSO, roles)Spring Boot约定优于配置,无XML,无需生成代码创建独立的Spring应用程序自动配置、内嵌的Servlet引擎,无需部署WAR包基于Spring Boot的应用在大多数情况下都不需要去显式地声明各类配置,而是将最常用的默认配置作为约定,在不声明的情况下也能适应大多数的开发场景,也可以快速修改默认配置可以绑定PC

56、F服务77Cloud FoundryDevIT Ops自愈容器管理和资源调度日志聚合和日志分析处理自动弹性伸缩应用性能管理运行平台自服务78Infrastructure AutomationInfrastructureBOSHAWSVMwareOpenStack管理服务,而不是服务器零宕机时间(4重高可用性)无运维时间窗口在线自升级基础设施运维自动化多云支持IT OpsIT OpsOS内嵌,管理员不需要去管OS目录传统应用架构和互联网应用微服务架构PaaS和容器Pivotal PaaSPCF功能架构PCF对开发环境的支持PCF对DevOps的支持PCF对云本应用的支持应用迁移到PCF的实际效果

57、PCF案例分享深圳电力门户应用迁移前后性能对比测试门户应用TomcatMemcach缓存Oracle DB32G内存8核CPU1.5G内存共享2核CPU门户应用850M/TomcatMemCached1G内存共享1vCPU1G内存共享1vCPUOracle DB同等性能资源对比:迁移前是32G内存,8vCPU。迁移后,之用到1.5G应用+1G MemCache+1GOracleDB,只有3.5G,CPU只有3vCPU,内存资源只是原来的1/8,CPU是1/3左右资源同等对比:迁移前是32G内存迁移后10个1.5G容器+2G数据库,总共是17G内存性能提升20倍压力测试效果比较功能完全一样3.5

58、G内存,节省资源81%,3vCPU,节省资源62%140并发,TPS为1.79实际使用内存为876M,原有门户系统迁移到PCF的门户系统功能完全一样32G内存,8vCPU140并发为最大吞吐量TPS,为1.818vCPU,压力状态下CPU 100%150并发出错性能类似节省资源功能完全一样10个应用容器,21G内存,900并发,是原来140并发的6.4倍900并发是TPS是43,性能是原来的23倍原有门户系统迁移到PCF的门户系统功能完全一样32G内存,8vCPU140并发为最大吞吐量TPS,为1.818vCPU,压力状态下CPU 100%150并发出错同等资源性能大幅提升2022/8/11线

59、性弹性伸缩实测数据之平均反应时间2022/8/11近线性伸缩的弹性伸缩应用迁移到PCF后性能大幅提升,主要受益于PCF更小的容器颗粒度,应用运行时Buildpack的自身优化。应用可以弹性伸缩,考虑到资源情况,我们设置了最大伸缩实例数为20个,在3500并发时伸缩到20个实例。如果再增加并发量,还会增加伸缩实例数。在业务量(并发量)增大的情况下,通过应用实例的弹性扩展,确保反应时间不会变慢,确保客户的体验。在业务量(并发量)增大的情况下,应用实例的弹性扩展可以达到线性,也即业务量再大,系统也能通过自动扩展资源实现业务的持续运行。基于开源CF和商业版PCF的对比分析对比项开源版商业版影响分析商业

60、支持无提供7*24小时的商业支持如果是CF产品级故障,那开源版的故障解决和恢复是个大挑战。补丁服务无产品功能缺陷和安全性补丁(48小时)无法及时补丁带来安全性风险故障恢复无提供故障恢复的指导或是现场故障恢复服务生产系统故障不能快速恢复带来巨大的业务影响PCF升级很难在线升级,普通升级也很困难在线升级,业务不停顿,经过严格测试在线升级是互联网应用一个重要要求跟随CF的最新版本很难,两周一个Release,距离越远越难追随每次发布的版本都是最新版本CF在持续进步,跟上CF的发展非常重要安装、配置、升级管理手工从网上下载源代码编译安装,技术要求高,由于国际网络访问,安装很困难提供了商业版安装包,图形

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论