优云实践:持续交付的Mesos与Docker导入篇
变革这个词在当今的数字化时代司空见惯,IT技术每过一段时间就会有一起革新,从WEB2.0、虚拟化、云计算、大数据、微架构、DevOps再到今天的容器Docker与Mesos。
Docker的出现方便了应用的测试、部署、与升级,其将各种应用程序和它们所依赖的运行环境打包成标准的Container/Image,进而发布到不同的平台上运行。Docker的轻量级、快速部署、迁移方便的特性促进了DevOps的落地,借用容器,开发人员可以很方便的融入到产品的交付流程当中。
Mesos是软件定义数据中心的最佳实践,其理念用最通俗的话来讲就是,让运维人员操作数据中心就算操作一台服务器一样去操作,将数据中心中的CPU、内存、存储等资源统一在一台服务器内进行调度与管理。听起来非常的高大上,如果用技术化的语言来描述,Mesos是这样定义的,统一的集群资源管理与调度平台,将生产环境中的各种服务框架,部署在一个公共的集群中,共享集群中的资源,由Mesos对资源进行统一调度,提供给服务框架使用。Mesos的出现给IaaS、PaaS以及运维的管理提供了极大的便利。
在实践中,Mesos与Docker是最佳的伴侣,前者提供了资源的统一管理,后者实现了资源的隔离使用,有合有分,在不同的层次发挥着不同的效能。同时,Mesos与Docker又都有自己的技术生态圈,两者的生态圈又都相互的促进和推动。
§ Marathon保证Mesos上的服务长期运行的框架,确保运行在Mesos上的服务一直运行,某台Mesos主机发生故障时自动迁移到其他服务器。
§ Chronos 服务循环运行作业调度框架,可以设定反复在特定的时间触发运行Mesos中的服务
§ Mesos-DNS针对Mesos的基于DNS的服务发现机制,可以方便的发现容器运行位置,并进行管理调度
§ Kubernetes集群级别的容器编排管理系统,能方便的管理跨集群运行的容器化应用,提供容器调度、部署、服务发现、扩展机制等功能
§ Swarm用于创建Docker主机(运行Docker守护进程的服务器)集群的工具,使用Swarm操作集群,会使用户感觉就像是在一台主机上进行操作。
Mesos与Docker这对最佳伴侣为应用的持续交付带来了极大的便利,为应用的运维管理提供了很大的方便,两者在持续交付的解决方案中都起着至关重要的作用,如下图展示了Mesos与Docker在应用持续交付中的实践。其具体的过程可以描述如下:
o 开发人员根据产品的需求进行代码的实现,将实现的代码提交到Git/SVN等代码管理仓库;
o 测试人员通过Jenkins/Hudson等持续集成工具,对代码进行编译、打包、集成等,将代码打包成DockerImage提交到Docker镜像仓库;
o 测试人员通过Mesos资源调度和Marathon平台,用新的DockerImage部署测试环境,测试人员在测试环境中对产品需求功能进行验证。如果不符合验证反馈给开发人员,由开发人员继续修正,如果已经符合要求会通知运维人员将代码部署到预发布或生产环境;
o 运维人员接到测试已经验证通过的通知后,会利用新发布的Docker Image,将其部署到由Mesos调度管理的生产环境中;
o 在生产环境运行过程中,运维人员可以通过Marathon等平台对环境进行一下业务的扩容及缩容操作,甚至一些故障的自动恢复等管理。
Mesos与Docker交付中应用案例
上述过程描述是基于比较传统标准的组织架构型的公司来描述的,有清晰角色分工的开发、测试、运维等角色人员;有部分公司已经实践DevOps的管理方式,开发运维合二为一,组织架构中的角色分工更简单简洁,其利用Mesos、Docker实现的持续交付过程会有一些大同小异,其具体的操作过程还是一样的,只是操作的人可能不同。
Mesos与Docker的出现应用快、持续、自动化的交付的落地消除了很多的屏障,带来了极大的便利。IT技术就是日新月异,我们能够选择的只有不断积极的拥抱。明天会更好,本篇是我们应用持续交付系列文章的导入篇,在后续会根据实践不断更新此系列,一起加速互联网敏捷运维。
优云:秉承devops的理念,从监控、到应用体验,到自动化持续交付,全栈运维服务平台 https://uyun.cn

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于资源编排一键交付应用之基于WaitCondition的通知机制
本文是基于资源编排一键交付连接RDS的应用的进阶篇。 随着各类应用的不断发展,许多应用开发人员对应用部署的便捷性和应用运行的稳定性都提出了很高的要求,从这个意义上来讲,应用的一键交付以及对应用做负载均衡将会是一个不错的解决方案。对开发人员而言,在交付应用时如何才能保证对应用所做的负载均衡是成功的呢?此时,有效控制应用的部署过程并且感知应用的部署结果,将具有重要的意义。 本文将为大家提供一个基于资源编排一键构建负载均衡应用并基于 WaitCondition 的通知机制掌控应用部署过程的解决方案。 首先引入一个概念:WaitCondition(等待条件)。在基于资源编排构建应用时,不得不使用资源 ALIYUN::ECS::Instance 的 UserData 属性。在创建 ECS VM 的时候,UserData 作为 ECS
- 下一篇
DockerCon 2016:解读Weaveworks 提供的容器集群网络和监控解决方案
Dockercon 2016 -- Weaveworks Micro SDNs by Weaveworks "Micro SDNs"建立在传统的SDN和经典网络之上,它和传统的区别在于软件的网络是在软件启动的时候自己配置好,还是首先人为配置好网络后再创建应用。通过"Micro SDNs"的方式可以减少很多软件部署时的错误,并能让软件得到快速的迭代。 Weaveworks' Weave Net是容器化部署的网络解决方案。Weaveworks的Micro SDN方案对开发者来说不仅易用,而且在生产环境保证高的可用性和健壮性。 Weave Net的容器网络的解决方案类似于因特网,不依赖于中心化的数据存储,Weave的路由会通过交换信息自动学习连接状态,而且Weave Net是目前唯一可以处理多播的网络传输的容器网络方案。 Weave
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装Docker,最新的服务器搭配容器使用