变革这个词在当今的数字化时代司空见惯,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技术就是日新月异,我们能够选择的只有不断积极的拥抱。明天会更好,本篇是我们应用持续交付系列文章的导入篇,在后续会根据实践不断更新此系列,一起加速互联网敏捷运维。

持续交付的Mesos与Docker导入篇的更多相关文章

  1. 容器调度 • Docker网络 • 持续交付 • 动态运行应用程序 部署的多元化

    <英雄联盟>在线服务运维之道 - InfoQ https://www.infoq.cn/article/running-online-services-riot/ 第一章 简 介 我是Jo ...

  2. 云端基于Docker的微服务与持续交付实践

    云端基于Docker的微服务与持续交付实践笔记,是基于易立老师在阿里巴巴首届在线技术峰会上<云端基于Docker的微服务与持续交付实践>总结而出的. 本次主要讲了什么? Docker Sw ...

  3. 测试需要了解的技术之基础篇三__持续集成持续交付DevOps

    持续集成.持续交付.DevOps 1.容器技术Docker:容器技术介绍.Docker安装与加速配置.Docker基础命令.Docker搭建selenium.Docker搭建持续集成平台Jenkins ...

  4. 持续交付之软件包管理maven篇

    背景 持续交付的我们常见的流程如下,其中有一个环节就是软件包管理 今天我们以maven仓库为示例,如下是Jenkins与CD生态: 持续交付的示例 5 Principles 五个原则 Deliver ...

  5. 基于Docker持续交付平台建设的实践

    导读:中国五矿和阿里巴巴联手打造的钢铁服务专业平台五阿哥,通过集结阿里巴巴在大数据.电商平台和互联网产品技术上的优势,为终端用户带来一站式采购体验.本文是五阿哥运维技术团队针对Docker容器技术在如 ...

  6. 利用jenkins和docker实现持续交付

    利用jenkins和docker实现持续交付 一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定.持续的保持在随时可以发布的状况.它的目标在于让软件的构建.测试与发布变得更 ...

  7. Docker学习总结(14)——从代码到上线, 云端Docker化持续交付实践

    2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,来自阿里云技术专家罗晶(瑶靖)为在场的听众带来<从代码到上线,云端Docker化持续交付实践>精彩分 ...

  8. Docker学习总结(8)——利用Docker开启持续交付之路

    持续交付即Continuous Delivery,简称CD,随着DevOps的流行正越来越被传统企业所重视.持续交付讲求以短周期.小细粒度,自动化的方式频繁的交付软件,在这个过 程中要求开发.测试.用 ...

  9. [置顶] Docker学习总结(7)——云端基于Docker的微服务与持续交付实践

    本文根据[2016 全球运维大会•深圳站]现场演讲嘉宾分享内容整理而成 讲师简介 易立 毕业于北京大学,获得学士学位和硕士学位:目前负责阿里云容器技术相关的产品的研发工作. 加入阿里之前,曾在IBM中 ...

随机推荐

  1. 【Java NIO深入研究3】文件锁

    1.1概述——文件锁 文件锁定初看起来可能让人迷惑.它 似乎 指的是防止程序或者用户访问特定文件.事实上,文件锁就像常规的 Java 对象锁 — 它们是 劝告式的(advisory) 锁.它们不阻止任 ...

  2. Socket.BeginConnect 方法

    Socket.BeginConnect 方法 (IPAddress, Int32, AsyncCallback, Object) 开始一个对远程主机连接的异步请求. 主机由 IPAddress 和端口 ...

  3. JavaScript编码encode和decode escape和unescape

    encodeURI() 函数可把字符串作为 URI 进行编码. 语法 encodeURI(URIstring) 参数 描述 URIstring 必需.一个字符串,含有 URI 或其他要编码的文本. 返 ...

  4. HDU 4497 GCD and LCM (分解质因数)

    链接 :  http://acm.hdu.edu.cn/showproblem.php?pid=4497 假设G不是L的约数 就不可能找到三个数. L的全部素因子一定包括G的全部素因子 而且次方数 ...

  5. 简单易懂的snmpd.conf配置文件说明

    转自http://blog.chinaunix.net/u2/61187/showart_689604.html 用 snmp+mrtg 可以很好的实现对局域网内服务器状态的监控.      现在就以 ...

  6. java.lang.OutOfMemoryError 错误分类

    java.lang.OutOfMemoryError: Java heap space原因:Heap内存溢出,意味着Young和Old generation的内存不够.解决:调整java启动参数 -X ...

  7. Spring装配Bean的过程

    首先说一个概念:“懒加载” 懒加载:就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中. spring配置文件中be ...

  8. 计算从ios照片库中选取的图片文件大小

    本文转载至:http://blog.csdn.net/longzs/article/details/8373586 从 iphone 的 照片库中选取的图片,由于 系统不能返回其文件的具体路径,所以这 ...

  9. 剑指offer练习

    1.题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.  public c ...

  10. System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse()

    System.Net.WebException: The operation has timed out  at System.Net.HttpWebRequest.GetResponse() 在请求 ...