本文内容主要来源于Cloud Foundry官方文档,Cloud Foundry overview | Cloud Foundry Docs,目的是帮助读者快速了解Cloud Foundry的概况和一些特点,阅读时间约为5分钟。
Cloud Foundry底层架构介绍在此:Link
如果您对BTP(SAP基于Cloud Foundry构建的商用PaaS平台)感兴趣,BTP个人精选内容目录 | SAP Blogs 可能有更多你需要的内容
从何而来?是什么?
是一款由Vmware于2011年推出的开源PaaS平台,
用来干什么?
用来快速部署云原生应用,并管理应用的生命周期,为应用提供统一的安全防护,身份管理,资源弹性伸缩,高可用等能力。同时该平台可以部署在大部分主流云资源池上,例如vSphere,AWS,Azure,GCP,Openstack等。
CF支持在其上部署基于基于大部分主流编程语言的应用,包括Java,Go,.NET,NodeJS,PHP,Python。
这里是CF官方文档,有着更详细的说明:
该类产品的常见需求
作为一款PaaS平台,其要解决的常见问题包括:
- 如何减少旧应用迁移的成本,最好是无需任何修改即可部署
- 如何简单方便的管理应用生命周期,包括部署,扩容,开发/生产环境隔离等
- 如何为大量应用统一的提供通用技术能力,例如高可用,安全,身份,集成等
- 如何减少自行运维开源组件的工作量
CF的核心优势及对应的实现原理
CF针对上文提到的问题,提供了完善的解决方案:
首先,将旧应用迁移到CF前,只需要额外提供一个配置文件,标明应用所依赖的运行环境和各种服务,即可通过CF push一个命令完成部署, 最小化迁移成本。这背后是因为CF基于应用当前的架构来部署到容器,所以即使应用本身没有微服务化也可以完成部署;如果应用已经是微服务架构了,也只需要在配置文件中声明服务即可完成部署。
部署好应用之后,CF提供了一整套的API以供开发者查询,控制应用的生命周期,同时一些基于CF开发的商用PaaS平台也提供完整的UI界面来监控,管理应用,这些平台上往往也提供了CI/CD服务以供用户进行持续开发。
由于CF上的应用共享技术底层,自然也能共享能力,所有装载应用的容器都天然支持自动伸缩,平台统一管理出入流量可以令安全威胁最小化,同一套身份机制令单点登录变得异常简单,等等
CF支持部署各种开源技术组件,给予开发者充分的灵活性,但是自行部署的开源应用也有着各种问题,包括稳定性,运维工作量,功能丰富度等,导致开发者需要更多选择。而CF的Service概念就可以发挥作用:不同供应商可以根据CF Service的API规范将自己的云服务和CF集成,并统一的在CF应用市场中向开发者开放,开发者只需要订阅服务即可将这些稳定的受管理的技术服务纳入自己的架构中。当然,开发者也可以将自己开发的云服务注册到CF应用市场上,来给其他用户提供服务。
对于CF底层架构感兴趣的读者,请移步:Link
CF相关操作练习:
如何自行部署完整的CF平台:Deploying Cloud Foundry with cf-deployment | Cloud Foundry Docs
如何于现有的CF平台上部署应用:如何从零开始将一个Spring Cloud应用部署到BTP | SAP Blogs
关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 [email protected],感谢你的时间