回到主页

EasyOps 5.0|拥抱云原生,为客户完全定制的DevOps解决方案

优维EasyOps 5.0于近日正式发布,在服务中台层应用交付域的产品线上,除了保持原有应用交付的优势外,优维已大幅度向云原生进行倾斜,凸显新的应用交付战略:容器编排,多云布局。

· 平台发布

快速响应市场需求已成为当今企业竞争的决胜因素,众多企业在数字化转型的过程中,选择云原生的管理方法和IT技术体系。

企业开始使用公有云、私有云等基础设施来对资源进行有效地动态调配,使用不可变的容器镜像,结合Kubernetes声明式API等方式交付自己的应用服务,配套持续集成、持续部署、服务治理、服务监测等自动化手段来快速响应频繁的业务需求变化。

broken image

这些能力是对传统生产力的革命性颠覆,但变革意味着阵痛,随之而来的问题无法避免:

  • 持续集成(包括自身)如何在容器化环境上持续演进?

  • 持续部署如何应对多种基础设施混合部署的复杂挑战?

  • 众多的微服务,实例的管理和服务流量治理如何有效落地?

  • CMDB 在云原生的IT技术架构中扮演什么样的角色,又如何进一步发挥自己的价值?

EasyOps 5.0的应用交付域着重为上述的困境提供更多可能的解决方案,本文将为你一一解读。

持续集成与容器编排

优维提供的应用交付流水线基于原子工具来搭建编排流程,结构灵活的流程和多样化的工具积累有效地帮助用户落地持续集成和部署流水线,但是我们也发现了一些问题:

  • 原子工具需要依赖运行环境,如 mvn 编译工具需要在构建客户端在安装 JDK、Maven 等软件;

  • Pipeline 并非流程,并不需要如何灵活多样的流程编排结构,反而增加用户的使用成本;

  • 无法有效对构建集群进行管理,提供自动伸缩和多样化的编译环境;

  • 代码仓库等鉴权信息未能有效统一管理。

broken image

EasyOps 5.0 基于云原生的技术能力,提供了新一代的持续集成解决方案。新的解决方案着重在集群管理、鉴权管理、Pipeline管理、制品管理等多个维度上为用户提供新的助力,核心特性如下:

在容器中运行你的工具

新一代的CI流水线使用容器引擎,可把流水线中的步骤(step)运行在容器中,让工具彻底摆脱环境依赖的问题。用户无需了解 Docker 的知识,只需要指定适合需求的容器镜像,像往常一样编写你的指令就行了,一次编写,多处运行。

broken image

在集群中运行你的流水线

新的 CI 服务加强了对构建集群的管理能力,可与现有的任意 Kubernetes 集群进行集成,把流水线实例运行在集群中,可实现对构建集群的弹性扩容和健康监测。

broken image

在代码项目中版本化你的流水线

流水线采用业界主流的 pipeline as code 的实现方式,用户可以使用 YAML 语音来编写项目的流水线,并且把流水线作为代码的一部分,存储在代码项目中,跟随着版本一起发布,可以非常方便地实现多分支流水线的特性。

broken image

EasyOps 5.0 的持续集成服务允许你在代码项目中管理流水线,或者使用模板来创建流水线(快速复用),或者像以往一样在界面上使用可视化的方式来创建流水线。

在构建历史中持久化你的制品信息

新的CI系统能够有效地与现有的制品库进行联动,可查看每一次构建历史中产生的制品信息,例如程序包、容器镜像或者是测试报告。

broken image

这些能力一方面可以为持续部署提供制品来源,另一方面也为未来持续集成的历史数据分析提供更多的帮助,例如对测试结果的质量评估、构建流水线的质量阀门等等。

统一的仓库管理,管理你鉴权信息

EasyOps 5.0 持续集成系统能有效管理鉴权信息,在仓库管理中录入代码仓库的信息,只需要对仓库进行最低限度的只读认证,已认证的代码仓库可直接对代码项目进行构建,一次认证,多次使用,可避免在项目接入过程中进行频繁认证和使用私人账号等问题。

broken image

同样,第三方的制品仓库也可以在仓库管理中录入,方便流水线提交制品信息,例如企业镜像管理仓库Harbor等。

持续部署的新航标

在云原生的领域中,用户在实现持续部署时,需要面临很多新的技术落地带来的挑战:

  • 如何有效地处理应用从主机部署过渡到容器部署的中间阶段?

  • 如何在混合云的基础设施上快速部署和管理自己的应用服务?

  • 如何在容器集群、云服务等动态资源池中管理应用服务所需的资源配额?

优维科技在 EasyOps 5.0 服务中台层,发布了新一代的应用部署系统以及相关联的云原生设施管理系统,这些服务覆盖微服务部署、集群管理、空间管理、制品管理等多个维度,帮助用户混合云环境和Kubernetes集群上实现高效的应用服务交付。

兼容多云的K8S集群,管理集群不再是难题

EasyOps 5.0 提供 Kubernetes 集群管理系统,可以快速导入现有的集群或者是创建新的集群,底层得益于技术中台层 Terraform 的蓝图编排能力,这些集群既可以是本地集群,也可以是公有云提供的Kubernetes集群。

除了本身集群的部署外,还提供版本升级、节点管理、存储管理等常用的功能。

broken image

制品服务增加对镜像和Helm Chart 的支持

EasyOps 5.0 也对原有的制品管理系统进行功能升级,和企业镜像管理服务 Harbor进行了深度集成。一方面可支持容器镜像或者是Hem Chart 应用包的存储;另一方面提供了多环境(开发环境、生产环境等)多仓库管理能力,可以添加多个环境下的 Harbor 仓库,从而让部署系统能够在相对应的隔离环境中就近获取制品进行快速部署。

实例管理和流量管理,(微)服务部署解决方案

EasyOps 提供新一代的(微)服务部署系统,与以往应用部署系统不同之处,新的部署系统将应用变成了入口之一,而把应用在开发、测试和生产环境中部署的(微)服务作为核心的管理对象。

broken image

新的部署系统可以帮助用户管理服务的部署实例、配置信息以及流量信息,并且记录版本信息和操作历史。用户可以在应用服务的实例管理中部署、升级和调整部署实例,支持弹性伸缩、健康检测、资源限制等特性;部署完毕后,用户可以在应用服务的服务管理中设置实例所提供的一个或者多个服务,对服务进行流量管理,设置发布策略等等。

相比以前,新的部署系统拥有以下的优势:

broken image
  • 支持主机、Kubernetes、OpenShift等多种基础设施:用户创建的服务可以部署在任意的基础设施中,方便用户在多种基础设施中进行应用服务的集中管理和架构过渡;基础设施改变不会影响用户对服务的管理方式,EasyOps 5.0新的部署系统在产品上保持统一的表达。

  • 支持混合云快速布局:得益于技术服务中台 Terraform 的蓝图编排能力,EasyOps 5.0 的部署系统在部署实例管理上可以快速对接各种公有云提供商,一键对实例进行扩容缩容,用户再也不需要重复自己购买主机、安装EasyOps Agent、添加到服务的实例集群中然后才能进行部署这些繁琐的操作。

  • 基础设施即代码(Infrastructure as Code):应用服务部署的实例信息和负载均衡的信息均作为应用服务的元数据存储在CMDB中,每一次的变更都是对CMDB的元数据信息进行更新,系统会记录这些版本变化,用户可以查看这些版本信息,从而快速回滚到任意一个版本上,实现对整个基础设施的版本化管理。

应用空间,提供动态资源和业务隔离

与传统的应用主机部署模式不一样,云原生基础设施所提供的资源池均是动态分配的,例如Kubernetes 集群的命名空间,或者是各种公有云资源的动态伸缩能力。为了防止在应用部署时对资源的滥用,对资源进行水平监测,EasyOps 5.0 提供应用空间的解决方案。

用户可以在应用空间在对应用服务进行增删查改,空间成员的管理、权限的分配以及对最为重要的基础资源进行配额策略的设置;例如:用户可以在生产环境中创建一个产品的应用空间,然后把该产品的相关负责人、使用的资源池和产品的应用服务进行集中管理。

broken image

相比原有的应用入口,应用空间本身带有环境属性,避免在管理不同环境时的角色冲突,同时能够有效地对产品线或者业务部门的资源、应用服务、权限、成员等进行直接管理,这也是云原生应用交付区别于以往传统交付模式的的特点之一。

CMDB

IT资源管理与蓝图编排

EasyOps 5.0 应用交付域所提供的系统,元数据均存储在IT资源管理系统(CMDB)中,优维的IT资源管理系统使用图数据库引擎,能够对所有系统的实例进行各个维度的关联查询,提供给企业中其他的系统进行消费,例如影响分析、事件丰富、数据监测、容量评估等等。

broken image

这只是IT资源管理系统的基本能力,在云原生的时代,得益于 Terraform的蓝图编排能力,CMDB的资源元数据信息,可以被 Terraform 编排到现网环境中,同时把实例信息反馈到CMDB,为上层所有中台、前台系统提供资源编排能力。

拥抱云原生

应用交付新架构

最后以一张图为大家总结 EasyOps 5.0 现阶段提供的能力:

broken image

优维将会持续加大力度拥抱云原生,为企业供更多服务!