云联壹云是完全自研的一套融合云平台,Golang是主要的开发语言,本文主要介绍介绍在迭代过程中关于Golang的经验以及在Golang上积累的框架和库。
在开发过程中,我们也积累了Golang的库函数,并基于这些库函数去开发框架以及平台,当然还有库的特点,实现库的原因及其优点。
背景介绍
融合云平台—云联壹云是从年开始逐步迭代开发,平台在17年时是私有云,能够管理在用户部署在本地物理机上的KVM,同时也能管理裸金属的服务器。
当时企业的IT环境并不仅仅是本地的虚拟机以及裸金属,企业的IT基础设施已经逐步采纳多云的技术。
所以平台不仅能管理本地IT环境中的虚拟机和裸金属。还能管理其他云,特别是能够帮助企业管理公有云的资源,做到所有的资源在一个平台上统一纳管,运维,操作,起到降低运维复杂度并提高企业IT运维效率的目的。
平台后端采用的是Golang,目前为止已有60万行代码,前端采用的是Vue框架,整个平台是基于微服务的框架,每个服务之间的认证鉴权是基于Keystone组件。
Golang积累
首先是Golang的服务框架,所有的组件都是基于这个服务框架来开发,服务框架的特点比较适合在我们平台开发,并且针对平台的特点做出优化,适合快速开发服务。
一个Golang服务框架,四个Golang工具库
jsonutils:JSON序列化和反序列化