云计算到无服务器架构演进_第1页
云计算到无服务器架构演进_第2页
云计算到无服务器架构演进_第3页
云计算到无服务器架构演进_第4页
云计算到无服务器架构演进_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、从云就绪到云原生再到无服务器架构技术创新 变革未来从虚拟化到云化传统现代虚拟化大的、有状态的VM1个应用对应13个VMVM生命周期以年来 计算纵向扩展在基础架构层实现高 可用云化小的、无状态的实例1个应用对应若干个实例实例生命周期从几小 时到几个月不等横向扩展在应用层实现高可用红帽IaaS云堆栈虚拟机的迁移迁移流程概览STARTCreate initial volume on CinderSTOPCreateinstanceRename volume to Cinder volumeImage conversion onto CinderVerify network on OpenStackE

2、xport OVA packageVerify Migration Machine availabilityFind OpenStack FlavorVerify CloudForms Worker availabilityVerify VMshutdownGet and store VMinformation云就绪需要考虑多种因素人流程技术人,流程,技术 - DevOpsI.T. OPERATIONSDEVELOPERS技术堆栈的演进HardwareVirtual MachineOperating SystemContainerAppControlled by IT OperationsCo

3、ntrolled byDevelopers云原生应用的特点Service-basedAPIContainersDevOps架构模块化,松散 耦合,高度内聚提高开发的速度,提高升级的速度,面对不同的消费者 的灵活性可扩展性降低耦合性,服务发布规约服务规划灵活性服务调度标准化访问控制,QoS, 计费消费者分析标准化的容器调度端到端 SDLC加速 SDLC一致性更新和补丁易回滚有效的资源使用自助服务持续交付自动化敏捷高效部署提高质量降低风险红帽云原生应用开发堆栈APPLICATION LIFECYCLE MANAGEMENTCONTAINER ORCHESTRATION AND MANAGEMENT

4、 (KUBERNETES)ENTERPRISE CONTAINER HOSTANY APPLICATIONGoogle CloudOpenStackAmazon Web ServicesMicrosoft AzureDatacenterLaptopANYINFRASTRUCTURE应用开发的简化spring-cloud-netflix-hystrix spring-cloud-netflix-zuulspring-cloud-netflix-eureka-client spring-cloud-netflix-ribbon spring-cloud-netflix-atlasspring-cl

5、oud-netflix-spectatorspring-cloud-netflix-hystrix-stream.Enable.150MagicThingsorg.wildfly.swarm.hystrix org.wildfly.swarm.ribbon org.wildfly.swarm.topology org.wildfly.swarm.camel-zookeeper org.wildfly.swarm.hystrix org.wildfly.swarm.hystrix.vertx-circuit-breaker vertx-service-discovery vertx-dropwi

6、zard-metrics Vertx-zipkin.+ Node.js+ Go+ Python+ Ruby+ Perl+ .ISTIOIstio Control PlaneIstio PilotIstio MixerIstio AuthPodContainerService AEnvoy ProxyPodContainerService AEnvoy ProxyPodContainerService AEnvoy ProxyIstio Data Planeservice discoveryload balancingTLS terminationHTTP/2 & gRPC proxying,c

7、ircuit breakers,health checks,staged rollouts fault injectionrich metrics.access controlusage policiestelemetry collectiontraffic mgmtdiscoveryauthenticationpolicy enforcementId & credentials云原生应用开发的生态系统Kinesis Data StreamsKey Management Service (KMS)LexPollyRekognitionTranslate (requires Preview re

8、gistration)SageMaker*Additional RDS engines:Aurora*, MariaDB, & PostgreSQLAWSService BrokerAMAZON WEB SERVICESService Broker架构的持续演进Servicef( )单一目的无状态独立可扩展自动化易扩充的开发团队单一功能事件驱动自治性松散耦合MicroserviceFunctionMonolith长时间运行紧密耦合有状态CONTAINERSVM/BM15云原生应用开发的成熟性与多元化 下载白皮书无服务器架构MartinF 的定义:“应用大部分或完全依赖第三方云中运行的应用程序或

9、服务来处理服务器端的状态或逻辑,这些第三方的应用程序或服务构成了一个庞大的生态系统,主要包括可通过云接入的数 据库,服务等(后端即服务,Backend as a Service,BaaS)。”“一部分服务器端逻辑仍由应用程序开发人员编写,但与传统体系架构不同的是,这些应 用程序是在无状态计算容器中运行,基于事件触发,短生命周期的(可能仅仅被调用一次),并由第三方完全管理(函数即服务,Function as a Service,FaaS)。”eventWikipedia 的定义:“Serverless 是一种云计算执行模型,云计算提供商动态管理所有机器资源的分配。 定价 基于应用程序消耗的实际资

10、源量,而不是预先购买的资源容量。 这是一种更高效的计算 形式。”actionresult$无服务器架构的技术选型项目是否开源是否支持Kubernetes社区规模评分启动时间Apache OpenWhiskYesYesLarge2015FissionYesYesSmall2016FunktionYesYesTiny2017Project RiffYesYesTinyLate 2017Amazon LambdaNoNoLarge2014Azure FunctionsNoNoSmallLate 2016Google Cloud Functions(beta)NoNoSmall2016红帽无服务器架构

11、解决方案IBM 最早发起红帽, IBM, Adobe在 Apache 软件组织下孵化可在任何地方运行无规定的平台活跃的社区企业级就绪基于 OpenShift 优化定制整合到云红帽产品线红帽提供完整的支持在 OpenShift Online 和 OCP 中使用与在线开发工具集成公有云私有云混合云CLOUD FUNCTIONSOpenWhisk 概览InvokerAPIGatewayControllerStrimzi(Kafka)InvokerNGINXCouchDBInvokerZookeeperContainerContainerContainer无服务器架构的基本原理OpenShift Cl

12、oud Functions 的工作流程OpenShift Cloud Functions 的使用方法PackagePackagePackageRESTCLIAppsMobileJavaNode.jsNode.jsJavaJavaPythonServicesBuilt-inResultsServicesOpenShift Cloud Functions 示例(1)示例说明splitter - java, 根据规则拆分字符串成数组sorter - python,数组排序uppercase - nodejs,数组中 的字符转化为大写字母OpenShift Cloud Functions 示例(2)环

13、境准备private shared shared privateprivate nodejs:6private nodejs:6 private nodejs:6 private nodejs:6private$ wsk -i listEntities in namespace: default packages/whisk.system/alarmsWeb/whisk.system/alarms/whisk.system/conversions/whisk.system/kelvinactions/whisk.system/alarmsWeb/alarmWebAction/whisk.sys

14、tem/alarms/interval/whisk.system/alarms/once/whisk.system/alarms/alarm/whisk.system/invokerHealthTestAction0triggersRules$ wsk -i package create sequence ok: created package sequenceOpenShift Cloud Functions 示例(3)部署 splitter$ mvn clean install$ wsk -i action create -web=true sequence/splitter target

15、/splitter-1.0.jar -main com.sample.App$ wsk -i action get sequence/splitter -urlhttps:/openwhisk- faas.02.nip.io/api/v1/web/whisk.system/sequence/splitter$ wsk -i action invoke sequence/splitter -result -param text openshift,openstack,ceph,jboss,linuxresult: openshift, openstack, ceph,jboss,linux$ c

16、url -k https:/openwhisk- faas.02.nip.io/api/v1/web/whisk.system/sequence/splitter.json?text=ope nshift,openstack,ceph,jboss,linuxresult: openshift, openstack, ceph, jboss, linuxOpenShift Cloud Functions 示例(4)部署 sorter$ wsk -i action create -web=true sequence/sorter sorter.py ok: created action seque

17、nce/sorter$ wsk -i action list | grep sequence/whisk.system/sequence/sorter/whisk.system/sequence/splitterprivate python:2private java$ wsk -i action invoke sequence/sorter -result -param-file ./split.jsonresult: ceph,jboss,linux, openshift, openstackOpenShift Cloud Functions 示例(5)部署 uppercase$ wsk

18、-i action create sequence/uppercase uppercase.js ok: created action sequence/uppercase$ wsk -i action list | grep sequence/whisk.system/sequence/uppercase/whisk.system/sequence/sorter/whisk.system/sequence/splitterprivate nodejs:6private python:2 private java$ wsk -i action invoke sequence/uppercase -result -param-file ./sorted.jsonresult: CEPH,JBOSS,LINUX, OPENSHIFT, OPENSTACKOpenShift Cloud Functions 示例(6)创建 sequence, 并测试$ wsk -i action create -web=true strings -sequence sequence/splitter,sequence/s

温馨提示

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

评论

0/150

提交评论