资讯专栏INFORMATION COLUMN

云帮系列文章:产品设计思想

sunnyxd / 2462人阅读

摘要:后端服务云帮将所有持久化存储服务如数据库缓存存储消息系统等均看成是应用的附加资源,这些服务与应用是分开的,我们不建议将应用和后端服务放到一个应用中,这样做违背了要素的设计原则。

云帮社区版开放免费下载半个月了,已经有不少小伙伴开始体验了我们的云帮产品,但真正了解云帮运行机制以及产品设计思想的朋友并不多,本系列文档从云帮的产品设计思路开始,逐步介绍云帮的技术架构以及各个特性的技术实现,中间还会穿插各种应用实战的内容,希望能够帮助大家深刻的理解云帮,并借助云帮为您的工作提供便利。

概述

云帮可以创建符合 12要素 的云原生应用。平台使用Docker作为基本的计算单元来封装应用,利用Kubernetes对应用进行编排和容器调度。好雨将Kubernetes 与 Docker 进行了深度整合,并针对企业级服务特性自主研发了应用引擎、运维平台、持续交付引擎、自动化运维、云应用市场等功能模块,底层的分布式存储、SDN、日志收集、实时统计则采用了扩展性极强的插件式设计,增强了平台的灵活性和扩展性。

12要素应用

符合12要素原则(实践方法)构建的应用可以在分布式系统中灵活的伸缩与迁移。

12要素 的贡献者参与过数以百计的应用程序的开发和部署,并通过 Heroku 平台见证了数十万应用程序的开发,运作以及扩展的过程。

云帮的设计完全兼容了12要素原则,可以实现云原生应用的高可用、弹性伸缩,灵活迁移等特性。

平台集成环境自动构建功能,不但支持Dockerfile构建应用,还提供了源代码级别的应用构建,您无需了解Docker,也不需要写Dockerfile,平台可以将您的源代码自动构建成应用并运行起来。

应用

云帮平台提到最多的名词就是 应用,云帮中可操作的对象也是应用,这里的应用指的是可独立提供服务的单元,请不要与手机应用,APP混淆。

应用 可以通过下列三种形式来创建/获取:

Git仓库中的源代码

Git仓库中Dockerfile文件以及相关的源代码

应用市场 或 云市中通过 "一键部署" 安装

应用可以有不同的类型,不同应用有各自的属性和行为,如:Web应用的属性包含 应用名称,默认域名,开放端口,行为包含 绑定域名、扩容节点、启动、关闭等。 MySQL应用的属性和行为都是针对MySQL服务所特有的,如备份恢复,数据库管理等等。


构建、发布与运行

构建阶段

构建组件处理来自git push的请求,或者用户触发构建(一键部署)操作。

如果您提交的是源代码,构建组件会进行源代码的构建操作,检查代码语言,利用语言的包管理工具安装相关环境依赖和代码库依赖。源代码构建程序还会将本次源码语言的类型、包依赖关系存入应用属性中。

如果构建模块发现您的代码中包含一个 Dockerfile 文件,会按照Docker标准的镜像构建的方式解析Dockerfile,生成Docker 镜像并推送的内部私有的镜像仓库中。

发布阶段

发布阶段由应用引擎来完成,它负责将本次构建的应用注册为一个新的版本,并将源码、Dockerfile在构建阶段识别出来的属性存储下来。为应用存储版本信息是为了上线后方便回滚,存储构建信息是为了下次构建时缓存状态。

运行阶段

运行阶段主要由 应用引擎 和 Kubernetes 来完成,首先由应用引擎初始化租户网络(如果租户网络已经存在,该步骤跳过),然后应用引擎调用Kubernetes的控制器服务部署租户应用,应用的属性信息由应用引擎设定。容器创建成功后,会将信息写入到etcd服务中,应用层负载均衡的自动发现机制感应变化后更新负载均衡节点信息。


后端服务

云帮将所有持久化存储服务如:数据库、缓存、存储、消息系统等均看成是应用的附加资源,这些服务与应用是分开的,我们不建议将应用和后端服务放到一个应用中,这样做违背了12要素的设计原则。

应用程序通过环境变量的形式与后端服务进行关联。这样做是为了将应用与后端服务解耦,无论是应用还是后端服务都可以实现独立的灵活伸缩。

下期预告

下期主要介绍 云帮的技术架构。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26722.html

相关文章

  • 云帮系列文章:核心组件介绍

    摘要:本文是云帮系列文章的第三篇,前两篇分别介绍了云帮的设计思想和技术架构,您可以点击连接访问先前发布的文档。云帮包含了很多功能组件,本篇文章针对核心组件加以介绍。 本文是云帮系列文章的第三篇,前两篇分别介绍了云帮的设计思想和技术架构,您可以点击连接访问先前发布的文档。 云帮包含了很多功能组件,本篇文章针对 核心组件 加以介绍。 自动构建组件 showImg(https://segmen...

    lk20150415 评论0 收藏0
  • 云帮每周问答集锦(11.14-11.20)

    摘要:云帮提到的构建就是将源码与环境打包,并运行起来。在云帮上服务运行起来后,会有一系列功能可供选择,如扩容服务节点,设置域名等等。云帮是以应用为中心的,所有的操作对象都是应用。云帮的构建发布与运行 云帮 是一款基于容器技术的应用管理平台,借助它您可以实现: 企业级的Docker管理平台 开发、测试环境的CI/CD平台 生产环境的运维平台 Q:云帮社区版的最低硬件要求(单节点,2核C...

    SimpleTriangle 评论0 收藏0
  • 云帮系列文章:技术架构说明

    摘要:架构云帮是按照面向服务的架构来设计的。技术架构云帮所有的对外服务都配置在负载均衡上,平台使用者最终用户开发者都是通过负载均衡转发到对应的应用与服务开发者除了可以通过控制台管理应用,还可以通过平台来完成所有控制台的操作。 架构 云帮是按照面向服务的架构来设计的。目前大多数集群组件都是通过容器镜像的形式发布和运行的。后续我们会将所有的组件都容器化,通过Kubernetes集群保障组件的高可...

    CntChen 评论0 收藏0
  • 云帮一周问答集锦(10.31-11.06)

    摘要:本文总结了上周用户在使用好雨云帮平台的过程中遇到的一些疑问及解答,大家如果还有其他的问题欢迎留言,我们会做专题进行解答。应用名团队名当用户访问应用域名时,请求会到达负载均衡。负载均衡根据不同的域名将请求甩给后端的容器组。 本文总结了上周(10.31-11.06)用户在使用 好雨云帮平台的过程中遇到的一些疑问及解答,大家如果还有其他的问题欢迎留言,我们会做专题进行解答。 Q:云帮总在提 ...

    curried 评论0 收藏0
  • 云帮一周问答集锦(10.31-11.06)

    摘要:本文总结了上周用户在使用好雨云帮平台的过程中遇到的一些疑问及解答,大家如果还有其他的问题欢迎留言,我们会做专题进行解答。应用名团队名当用户访问应用域名时,请求会到达负载均衡。负载均衡根据不同的域名将请求甩给后端的容器组。 本文总结了上周(10.31-11.06)用户在使用 好雨云帮平台的过程中遇到的一些疑问及解答,大家如果还有其他的问题欢迎留言,我们会做专题进行解答。 Q:云帮总在提 ...

    Leo_chen 评论0 收藏0

发表评论

0条评论

sunnyxd

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<