【下一代核心技术DevOps】:(一)容器服务的Rancher选型
- 为什么说是下一代核心技术
其实经过互联网的多次变革说起,早期的C/S架构,到后来的B/S架构,一直到现在最普遍的M/S架构,他们的背后都是技术不断的优化改进,以适应促进IT技术的发展
整体而言在过去10年时间,互联网技术可以说是以手工制造的方式为准,类似于传统销售,设计,制作,然后打包销售。每个环节都需要大量的人员来操作,也需要不断
有人接班学习来延续对应的环节。而未来10年将会是以流水线的方式为主 ,其主要原因是互联网云计算技术的高速发展及可持续快速交付的业务需求。其对应的DevOps
方式将完美契合。开发运维一体化确切的说是一种方式,而这种方式需要全新的技术来支撑才行执行下去,我们将之称为下一代核心技术。
2. 传统技术与下一代核心技术区别
传统的技术主要问题是高耦合,其耦合存在于服务器,硬件存储,内外网之间(网络通讯),应用程序之间,代码之间,业务模块之间,虽然经过近几年的发展,在不断的
去耦合化大趋势下,已经尽可能的将这几大块之间进行低耦合处理,但是由于传统技术的限制,无法从根本上解决这些问题。比如最常用的程序连接数据库。传统的方式多
将数据库连接字符串写到程序的配置文件里,导致其连接数据库IP不能变,多节点部署程序需要一一手动修改数据库连接字符串。非常麻烦,随着技术的发展优化,有经验的
研发人员会将数据库连接放到JNDI里面(如Tomcat),由中间件管理,这样将程序和数据库之间进行解耦。这也是传统技术,架构常用的做法。但是对于多节点的部署变更,
需要改变多个节点Tomcat的JNDI配置,还是存在易用性,可维护性,可靠性方面的问题。当然也有高级别的中间件来集中解决这些问题,如WebSphere的集群管理,这都属于
为了解决问题而解决问题,受限于传统技术,无法从根因上解决各个组件,软硬件之间的耦合问题。而且需要商业付费,非常的贵。
下一代核心技术,受益于云计算,微服务,容器服务的高速发展,采取DevOps的模式进行整合,实现硬件服务器,存储,网络,软件程序,代码之间的全低耦合甚至0耦合
将大大提高交付能力,降低运维成本,实现互联网产品的快速迭代。
3. 容器服务的Rancher选型
我之前的文章已经对微服务做了基本分析,本章节及后续章节会陆续对云计算的分析应用和容器服务的分析应用做逐一的讲解。 微服务主要是对软件代码层面进行解耦,
云计算主要从硬件支撑层进行解耦,而容器服务主要从应用层面进行解耦。容器服务的飞速发展,主要是Docker的巨大功劳,将传统的虚拟化技术带到一个全新的层面。
Docker的优势在此不做多讲,主要是其原生的管理基于命令行,对于简单应用较为方便。但是在DevOps模式下就需要有一整套的规范接口来统一管理整个流水线。对于
Docker容器的管理系统目前比较流行的有几个: K8S,Rancher,Shipyard等,其他还有一些不是很有名的在此不多做列举了,大家可以自行研究学习。
内容 | 原生 | K8s | Rancher | Shipyard |
管理端及易用性 | Docker EE (易用性★★★) | K8s管理(易用性★★) | Rancher(易用性★★★★☆) | (易用性★★★★) |
引擎/编排工具 | Swarm | Kubernetes |
Cattle、Swarm、Kubernetes、Mesos,Windows |
无 |
多主(集群) | 支持 | 支持 | 支持 | 不支持 |
资源看板 | ★★★ | ★★ | ☆ | ★★★★ |
DevOps集成 | 不支持 | 插件支持 | 插件支持、原生支持 | 不支持 |
插件数量 | ★ | ★★★ | ★★★★ | 不支持 |
经过对比试用选型,在容器管理考虑到易用性包括跨主机通讯的管理,DevOps的支持力度等方面,Rancher以各方面优先胜出。Rancher目前在开源社区非常火爆,支持众多
的编排引擎,当前最新版本为 1.6.12 ,大家可以下载试用。
【下一代核心技术DevOps】:(一)容器服务的Rancher选型的更多相关文章
- 【下一代核心技术DevOps】:(五)微服务CI与Rancher持续集成
1. 引言 DevOps的核心魅力是快速的持续集成交付,降低研发和实施运维之间的交互,使得传统的各种扯皮现象统统消失.最重要的是降低成本 保障产品交付可靠性. 使用Rancher作为持续集成的关键环节 ...
- 【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用
1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合. 产品集成存储经历过几个阶段: 1.单机本机存储. 系统使用本地硬盘存储 2.单网络集中存储. 局域 ...
- 【下一代核心技术DevOps】:(二)Rancher的应用及优点简介
1.环境选择 安装Rancher环境,一定要在干净的linux主机上进行,避免出现因配置导致的莫名其妙的问题.服务器操作系统建议CentOS7.4(内核3.10以上)低于这个版本的系统 如7.3 7. ...
- 【下一代核心技术DevOps】:(四)私有镜像库阿里云Docker服务使用
1.使用阿里云镜像库有很多优点 稳定可靠,阿里技术,放心使用. 国内cdn多节点加速,下载速度非常快 可以和阿里云Git代码集成,不需要第三方CI工具,当然带的自动构建服务也可以和其他的Git库集成, ...
- 【下一代核心技术DevOps】:(七)持续集成Jenkins的应用(Aliyun Pipiline持续构建)
1. 前言 使用Jenkins比较好的就是可以在整个构建顺序中增加自定义的动作,比如构建成功给Leader发个邮件,给团队核心发个微信什么的. 当然最基本的核心还是它可以构建多种开发语言的项目,此类构 ...
- 【下一代核心技术DevOps】:(三)私有代码库阿里云Git使用
1. 引言 使用DevOps肯定离不开和代码的集成.所以要想跑通整套流程,代码库的选型也是非常重要的.否则无法实现持续集成.目前比较常用的代码管理有SVN和GIt 如果还使用SVN的,建议尽早迁移到G ...
- 容器服务如何在企业客户落地?Rancher 解决之道分享
Docker 的优势和趋势我想不必再赘述,那么对于非互联网公司的传统企业客户,以及我们大量的围绕企业客户做集成.交付解决方案的服务提供商,需要考虑的一个问题就是怎么样把容器技术以高质量.低成本.易维护 ...
- 阿里云-容器服务之集群服务 k8s(Jenkins+gitlab+k8s的devops)- 01
由于docker官方停止更新Swarm,另外swarm在使用期间出现了很多bug,所以阿里云也在2019年7月发布公告:于2019年12月31日起停止技术支持,请您尽快迁移至容器服务Kubernete ...
- 阿里云容器服务中国最佳,进入 Forrester 报告强劲表现者象限
近日,全球知名市场调研机构 Forrester 发布首个企业级公共云容器平台报告. 报告显示:阿里云容器服务创造了中国企业最好成绩,与谷歌云位于同一水平线,进入强劲表现者象限. 究其原因,分析师认为: ...
随机推荐
- 读书笔记-你不知道的JS中-函数生成器
这个坑比较深 可能写完我也看不懂(逃 ES6提供了一个新的函数特性,名字叫Generator,一开始看到,第一反应是函数指针?然而并不是,只是一个新的语法. 入门 简单来说,用法如下: functio ...
- 1034: [ZJOI2008]泡泡堂BNB
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3234 Solved: 1655[Submit][St ...
- 脑残手贱:被NFS祸害的调度系统
建议:任何时候,都要三思而后行!!! 事请的缘由 系统中采用slurm调度系统来进行并行计算.但是在GPU节点上,无论如何都无法启动slurmd,报插件初始化错误的故障. 因此需要编译新的munge和 ...
- onload、DOMContentLoaded与性能问题
onload.DOMContentLoaded与性能问题 onload事件 DomContentLoaded 1.onload事件 onload事件一般在所有的文档内容加载完成后触发,如果网页中图 ...
- Problem F: 合唱比赛开始了!
Problem F: 合唱比赛开始了! Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 440 Solved: 201[Submit][Status][ ...
- Python 解LeetCode:367. Valid Perfect Square
题目描述:给出一个正整数,不使用内置函数,如sqrt(),判断这个数是不是一个数的平方. 思路:直接使用二分法,貌似没啥好说的.代码如下: class Solution(object): def is ...
- Velocity(4)——引入指令和#Parse 指令
#Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT.这两者之间有一些区别. #Include 被#Include引入的文件,其内容不 ...
- C#进阶--WebApi异常处理机制
其实对于C#异常处理大家都不陌生,但是对于在WeiApi上的异常处理实际上也和传统异常处理区别不大,但是却经过封装可以让异常更加友好,https://docs.microsoft.com/en-us/ ...
- ASP.NET Core 认证与授权[5]:初识授权
经过前面几章的姗姗学步,我们了解了在 ASP.NET Core 中是如何认证的,终于来到了授权阶段.在认证阶段我们通过用户令牌获取到用户的Claims,而授权便是对这些的Claims的验证,如:是否拥 ...
- ECMAScript 6 第一天 let和const命令
ES6新增声明变量的方法let命令,const命令. (ES5只有两种声明变量的方法:var 命令和 function 命令.) let命令,用来声明变量. 与var声明变量不同于: 1. let声 ...