LOADING

Follow me

【转载】代码写出来就能 Run,这才是你想要的云服务
四月 27, 2017|DockerPaaS

【转载】代码写出来就能 Run,这才是你想要的云服务

【转载】代码写出来就能 Run,这才是你想要的云服务

前 言

「云计算常态化」是近几年经常被提及的一个概念,云计算要像水和电一样遍布生活,无处不在,这也与云计算最初的目标一致。本文由青云QingCloud 深圳实践课堂周小四(Ray)的演讲内容整理而成,全文 1600 字,阅读时常约为 7 分钟。

对于用户来讲,最重要的是解决自身业务面临的问题。因此,云计算常态化,就意味着云应用要常态化,「应用上云常态化」成为了「云计算常态化」的重要衡量指标。

最初,企业将应用部署到云端的方式基本都是:先在云平台上创建主机、硬盘、网络、数据库等等服务,然后把自己的应用环境部署上去,整个过程非常繁琐。

从严格意义上讲,这并不是云应用,真正意义上的云原生应用应该是一键部署、并且可以随着业务的变化自动伸缩。当然,要实现这个目标需要解决的问题非常多:

  • 难度大、周期长、成本高;

  • 传统方式上云运维压力巨大;

  • 缺乏有效的管理渠道。

AppCenter 2.0

青云QingCloud AppCenter 是一个云计算环境中的应用交付与运营管理平台,同时包含一整套用来开发云应用及云化已有应用的框架。让应用提供商和开发者可以从资源层管理的复杂性中脱离出来,从而效地开发、部署、运维及管理所提供的应用,让用户可以快捷地选择需要的应用来构建和管理自身的业务。

AppCenter 2.0 作为升级版,对于分布式的应用进行高度的抽象化,让开发者能够很简单地去开发应用,使云上交付与使用应用变得简单及标准化。

IaaS 是物理世界的虚拟化,最终用户要用的东西是 SaaS 或者 PaaS,SaaS 和 IaaS 之间的距离需要有东西调度。我们可以把 AppCenter 2.0 理解为一个全新的云操作系统,贯穿资源与应用的平台,它提供了一种标准的开发测试的规范,让我们的开发者可以使用规范在云上面开发云应用。

AppCenter 2.0 的架构

首先,我们看一下 AppCenter 2.0 架构图,架构图分为三块:开发者控制台、用户控制台、调度系统。

代码写出来就能 Run,这才是你想要的云服务

开发者要开发应用给最终用户使用,需要写两个配置文件:一个是 config.json;一个是 cluster.json.mustache。把这两个文件写好之后,打包上传到 AppCenter 平台上发布就可以了。

代码写出来就能 Run,这才是你想要的云服务

App 提交后,等待审核

代码写出来就能 Run,这才是你想要的云服务

应用中心

青云QingCloud 审核通过之后,最终用户就可以在应用中心浏览详情,也可以直接一键部署

当最终用户开始部署时,平台会启用中间的调度系统,开始实现系统调度。根据制定的规范,创建基础资源(CPU、内存、网络、硬盘),然后将应用的 Metadata 注册到 Metadata Service 里,集群会从里面调用这些信息,自动应用配置。这些动作都是系统自动完成的,用户要做的只是在平台上点击部署按钮

AppCenter 2.0 的功能与技术特性

AppCenter 不仅包括应用调度引擎,还给青云合作伙伴提供一整套云管理平台。开发者可基于 AppCenter 进行运营、运维、开发、销售等也就是说除了自己的应用,企业不需要关心其它的东西。同时,我们也将过去的经验积累起来,对各式各样的分布式复杂应用进行模板化、标准化,以缩短开发时间。

一、模板化开发部署框架

模板化开发部署框架、标准化规范,使得开发云应用从以前数月降低到数天

1、通过声明式模板定义前端用户配置、应用实例基础架构、生命周期管理及自定义监控告警。

代码写出来就能 Run,这才是你想要的云服务

ZooKeeper cluster.json 模板

如上图所示,这个声明式模板和人类的自然语言一样的,开发者可以通过描述性的语言告诉青云QingCloud 需要什么样的资源(CPU、内存、存储、网络等等),然后调度系统来完成自动创建,并进行资源的自动伸缩以及生命周期管理。

还有很重要的一点是自定义监管告警:每一个应用都有监控或者告警,它是一个标配,否则便成为了黑盒子。由于分布式应用是多样化的,每一个应用的监控指标也不一样。

这种情况下,我们提供了一套标准化的监控告警接口,开发者可以结合自己的应用去自定义监控告警,看到自己需要的监控指标。

2、通过模板实现应用的标准化,用户在业务中即可实现一致性重复部署。

二、应用编排

1、  应用间自主感知,打破应用间的孤立,大幅提高系统的运维效率。

很多应用之间都有依赖关系,比如说企业应用有一个 Kafka,当 ZooKeeper 节点发生改变时,Kafka 能否自动感知到该变化。一般的做法是把这些信息手动改一下,并重启 Kafka 服务。

标准化平台能自动化这个过程,即在 ZooKeeper 加节点时不需要手动操作,Kafka 可自动更新配置、自动重启,服务照样运行。我们将它全部变成了自我感知、自我配置、这是一件非常酷的事情。

2、通过应用的嵌套及组合,大幅简化构建复杂系统的复杂度。

我们希望应用能够被重复使用,可以在这个应用之上增加新的功能、与别的应用结合起来形成一个新的大型应用。

当开发者要做一个系统,发现已经有人做了某些需要用到的应用,开发者就不需要重复做这个事情,只需要直接 link,就可以把小的应用组成一个大的应用。比如日志系统,有人做了 ZooKeeper、Kafka、Storm、Hadoop,你可以把这些应用组成大的日志系统应用提供给最终用户使用。

3、以应用为粒度的可视化编排。

通过拖拽的方式可以做到可视化编排,AppCenter 2.0 之后,我们可以实现应用可视化,它更加强大,可以将应用进行拖拽,相互嵌套使用。

三、支持虚拟化和容器应用

容器这几年非常热门,我们不可能忽视这一点,AppCenter 2.0 支持三大类的技术:KVM、Docker、LXC,提供完整的应用编排与管理能力,整个的配置文件你都不需要做很大的改动;兼容 Kubernetes、Mesos 以及 Docker Swarm。QingCloud SDN passthrough 大幅提高了容器平台的网络效率。

四、覆盖各种应用

1、支持从互联网到传统领域的各类企业应用,覆盖 SaaS、PaaS。

2、支持简单的单节点应用及复杂的多节点分布式集群应用。

3、支持多个应用集成的组合。

五、运维和运营管理平

在这个平台上,有管理、计费、财务、日志等功能。在应用管理里,开发者可以看到哪些用户在使用你的资源,日志栏目里,可以显示出现的错误、用户在使用的东西、你的收益还有工单

众所周知,工单对于青云来说是很重要的。我们把它开放给合作伙伴,合作伙伴可以通过这种方式跟用户沟通,还可以通知用户与自己相关的信息:比如降价、升级等等。 

代码写出来就能 Run,这才是你想要的云服务AppCenter 2.0 运维和应用管理界面

最 后

我们希望 AppCenter 成为一个可靠的、用户可信的企业应用市场。希望有成千上万个应用在上面。在达到这个目标之前,我们首先要做到是保证质量的,保障用户体验。

除此之外,平台上所有的产品和应用都可以以服务的形式与其它产品和应用一起灵活简洁的集成编排,形成更具价值的大服务,将会为最终用户提供无限广阔的价值

『广告时间』实践课堂第三季已经开始了,本次课程内容仍以技术实践为主,以用户场景为切入带你,主要围绕 QingCloud 的技术理念、功能特性和使用技巧展开,话题将涵盖如何高效构建原生云应用,云端容器部署,微服务架构,应用感知,自动化运维等业内热点话题。

报名请扫描下方二维码,或者点击 阅读原文 。

代码写出来就能 Run,这才是你想要的云服务

– FIN –

代码写出来就能 Run,这才是你想要的云服务

no comments
Share

发表评论