宜信开源|详解PaaS平台LAIN的功能和架构

发布时间:2020-07-20 12:54:48 作者:宜信技术
来源:网络 阅读:398

【技术沙龙002期】数据中台:宜信敏捷数据中台建设实践|宜信技术沙龙 将于5月23日晚8点线上直播,点击报名

LAIN是宜信公司大数据创新中心开发的开源PaaS平台。在金融的场景下,LAIN 是为解放各个团队和业务线的生产力而设计的一个云平台。LAIN 为宜信大数据创新中心各个团队提供了统一的测试和生产环境,简化了服务的部署与上线流程,也降低了运维人员对系统管理的复杂度。

一、设计理念及解决问题

LAIN 规范了一个应用的开发、测试、上线工作流,提供了为应用做的容器编排、权限控制、SDN、流量管理、监控报警、备份、日志等 devops 问题的整体解决方案。

在 LAIN 上,应用是一个基本的概念,某个应用的开发者只需要定义一个 lain.yaml 即可定义应用的编译和运行方式,对应用代码侵入性很低。LAIN 基于容器技术,面向多样化的技术栈,并且天然隔离系统和应用的依赖。

当 LAIN 用户创建一个应用(服务)时,可以到 LAIN 上注册该应用,当前的用户自动成为了该应用的维护者,拥有了进一步操作该应用的权限。构建应用的环境需要 docker 和 lain 命令行工具,为了方便,我们创建了一个 vagrant box 即 lain-box. 在构建应用时,除了工程代码外,还需要一个 Docker 镜像作为基础镜像,即编译的环境。如果是二进制的工程,如 golang,则可以在运行时换掉一个底,否则会使用 build 镜像为 release 镜像。准备好镜像和编译/运行的脚本后,就可以编辑 lain.yaml 了。

具体来说,LAIN 解决了以下四个问题:

1、应用开发之下的devops问题的整体解决方案

常见问题

Lain是怎么做的

2、规范了应用开发的工作流程,并辅以适当的SCM支援

常见问题

Lain是怎么做的

3、提高整体资源利用率,优化冗余资源池

常见问题

Lain是怎么做的

4、TBD:架构上提供了服务治理的可能性和解决方案

二、特征

在应用的层面上,LAIN 还有以下特征:

1、基于配置文件定义应用

2、SDN网络安全隔离

3、基于容器技术支持多样化的技术栈

4、应用在线扩容缩容

5、节点在线扩容缩容

6、服务自动维持和灾难恢复

7、内部服务依赖和发现机制

8、统一认证

9、虚ip和负载均衡器统一管理

10、web load balancer的自动配置

11、集群体系化的日志收集

12、私有docker registry以及认证机制

13、应用配置加密存储

14、本地化开发环境

15、应用部署运维API以及相应的CLI客户端

宜信开源|详解PaaS平台LAIN的功能和架构

16、集群管理CLI

17、规范化的开发workflow

18、可选的集群体系化的备份和恢复(backupd + moosefs)

19、可选的集群日志查询组件(kafka + elasticsearch + kibana)

20、可选的系列预置应用

三、系统架构

1、物理视图

从物理层面看,每一个 lain 集群是由一个或多个网络互通的节点(Node)构成的。

宜信开源|详解PaaS平台LAIN的功能和架构

每个节点可以被赋予不同的 label ,供容器调度时进行节点选择使用。
目前的实现中,需要所有节点位于同一个路由器后。

2、逻辑视图

从逻辑层面看,一个 lain 集群是由多个应用组成,应用和应用之间网络相互隔离(通过SDN技术)。

宜信开源|详解PaaS平台LAIN的功能和架构

每一个应用是由多个 Docker 容器组成,每个容器都可能运行在不同的节点上。

宜信开源|详解PaaS平台LAIN的功能和架构

应用开发者可以在一个应用中定义多种容器(称为 proc),每个 proc 可以指定为在集群上运行多份,每份即为一个容器,被称为 proc instance 。Lain 集群会尽可能保证有指定份数的容器在运行,如果有容器 crash 或者节点 fail 的情况发生,集群会试图重启容器或者在节点间迁移容器。

3、系统架构设计图

目标是做成一层一层可以深入的架构图

总图

宜信开源|详解PaaS平台LAIN的功能和架构

节点

宜信开源|详解PaaS平台LAIN的功能和架构

4、工作流程

宜信开源|详解PaaS平台LAIN的功能和架构

GitHub地址:https://github.com/laincloud

白皮书:https://laincloud.gitbooks.io/white-paper/content/

来源宜信技术学院

推荐阅读:
  1. 宜信的105条数据库军规
  2. 宜信微服务任务调度平台建设实践|分享实录

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

云计算 大数据 paas

上一篇:java Set接口实现TreeSet

下一篇:jQuery的链式编程和隐式迭代

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》