微信号:david-share

介绍:乐于分享,才有进步.

容器在企业中的应用---红帽全球技术峰会北京站分享

2016-10-25 13:43 魏新宇

IT基础架构经历的三次大的变革是什么?容器如何在企业中落地?世界500强里中国企业使用容器的成功案例有哪些?请带着这三个问题,阅读笔者在红帽全球技术峰会北京站的分享。


笔者有幸在红帽全球技术峰会-北京站,分享“容器在企业中的应用”话题,本文是笔者在会上分享的内容。欢迎读者参考。


今天分享的内容分为四部分,分别为新时代企业面临的挑战、什么是容器、容器企业级解决方案和客户的案例。



在互联网+时代,随着软件的飞速发展,各个传统行业都受到了新的跨行业的挑战。例如零售行业的沃尔玛,就受到了亚马逊,阿里巴巴的挑战。金融行业的银行,受到了支付宝、微信支付的挑战,传统的出租车领域,受到了滴滴打车的巨大挑战。


企业在面临多方面的挑战时,有的成功实现了转型,继续发展壮大,如平安保险,实现互联网保险后,成为国内净利润最高的保险公司。有的则逐渐没落,比如传统行业的柯达。企业为了能够生存下来,第一步就是要解决目前业务系统中遇到的问题。通常,问题主要集中在三类。



我们知道,每种应用由于功能特点不同,部署的方式也有区别。随着应用数量增多,IT部门在应用的安装部署过程中增加了很大的难度。因此,如何简化应用部署是一个很关键的问题。


随着应用数量的激增,不同的应用开发语言、开发工具都不相同,这极大增加了应用开发部门的功能难度。这就引发了第二个问题,如何快速交付应用。


大量的应用在管理和运维过程中的难度非常大,IT业务系统出问题的概率大幅增加,这对IT运维部门人员的各方面要求也会大幅增加。因此,需要解决的第三个问题是:如何提升IT运维部门的效率。


面对这三个问题,也就是如何使应用的部署和运维变得更快、更简单、效率更高?采用传统的IT手段和技术显然难以应对新的问题,这就需要新的技术来解决,即容器。


接下来,我们看一下什么是容器这一部分内容。


谈到容器,大家可能第一时间想到docker。其实,容器本身不是一个新的技术,而是基于已有的LXC(LinuxContainers)实现,而docker则为容器镜像打包的方式。那么,为什么容器这些年这么流行呢。这要从IT基础架构的发展谈起。


在硬件定义数据中心时代,不同大型机/小型机厂商的操作系统和硬件紧耦合,应用在不同业务系统上迁移难度非常大。


随着X86服务器以及虚拟化技术的普及,操作系统与底层服务器硬件实现松耦合,IT界进入”软件定义数据中心“的时代。


随着技术的发展,IT进入了“应用为王”时代。在新的时代,能否做到应用与操作系统松耦合呢?让应用在不同操作系统之前实现无缝迁移,做到”构建一次,到处运行”?在这个时间点,docker出现了。


至于说容器到底是什么,从基础架构角度,容器本质是轻量级、系统级的虚拟化。它允许在一个Linux操作系统kernel spaces上有多个user spaces实例。因为这个特点,容器不必像虚拟机那样,去模拟虚拟硬件层。


从应用角度看,容器就提供了一种应用的打包方式,开发人员将打包好的应用给运维部门,他们可以直接运行。

那么,企业的CTO最希望容器去解决什么问题呢?Forrester的调查报告给出了答案。主要是提高效率、简化应用部署与管理更快交付应用这三个。也就是之前提到的“更快、更简单、效率更高”。而这个三个问题,正是我们在前面提到的企业在面临挑战时,需要通过容器解决的问题。


那么对于企业应用而言,是不是有了容器就足够了呢?显然不是。在传统虚拟化技术里,企业级虚拟化方案,光有KVM或esxi是不够的。同样,企业级的容器解决方案,是在容器的技术上,需要从安全、可移植性、管理和整体解决方案四个角度去考虑。


接下来,我们针对提到的上面提到的企业级容器的四个关键点,在第三章展开讨论。


企业级容器方案四要素中,安全是大家最关心的。这主要包含:容器宿主机的安全、容器来源安全、容器内容安全、容器之间的隔离。


而在容器安全这件事上,红帽做了什么?我们知道,容器的宿主是Linux操作系统。红帽的企业级Linux RHEL是业内安全性最高的操作系统。通过Selinux可以大幅提高Linux操作系统本身的安全性。同时,红帽提供的容器操作系统也是经过安全验证的。在容器隔离方面,RHEL的secure computing等技术,可以是使一个进程进入到一种“安全”运行模式。我们知道,容器对于Linux操作系统而言,就是一个进程。安全运行模式下,容器只能调用4种系统调用,从而避免出现类似虚拟机逃逸的问题。


下面我们谈谈容器可移植性方面。我们知道,红帽的整体解决方案,包括从底层操作系统、虚拟化、软件定义存储、OpenStack、混合云、PAAS平台等整体解决方案。而在这里面,RHEL是解决方案的基础。


通过稳定可靠的RHEL操作系统,容器可以在物理机、虚拟机、私有云和公有云上实现平滑迁移。


随着虚拟化的普及,客户生产系统上的操作系统实例已经大幅增加。那么在容器时代,面临成千上万的容器,我们如何有效地去管理他们呢,这就是企业级容器方案的第三个要素。


红帽的混合云管平台---CloudForms,除了可以管理异构虚拟化、OpenStack、公有云之外,还可以管理红帽的容器解决方案。在CloudForms上可以查看容器与宿主机的对应关系,并诊断容器的健康状态。通过CloudForms,还可以将容器作为服务目录发布出去。


企业级容器方案第四个要素是要有整体的解决方案。这也就是红帽的OpenShift解决方案。我们从下往上看这个方案。

2014年,红帽启动Atomic项目。Atomic是用容器运行操作系统内部的服务,提供容器化的Linux操作系统。

以Atomic为基础,结合Kubernetes提供容器编排,加上持久化存储、企业内部registry、认证等功能等企业化功能,形成了红帽企业级容器解决方OpenShift。


OpenShift可以被CloudForms纳管,帮助客户搭建贯穿IAAS和PAAS的混合云管平台。Openshift以承载红帽的JBOSS相关的应用以及第三方应用。


简而言之,OpenShift基于容器的、同时面向运维和开发的企业级开源PaaS解决方案。OpenShift=容器云解决方案+应用管理解决方案(程序打包,管理)。也就是说,在面向运维层面,OpenShift提供的是容器云,在面向开发层面,OpenShift提供的是DevOps方案。


在容器云方案,通过混合云管平台,客户可以将IAAS和PAAS做统一管理。物理机、虚拟化、公有云、容器共存,各司其职。


在Devops方面,红帽OpenShift内嵌 S2I流程,它可以从代码库获得源代码,对其进行编译打包,并最终生成基于模板的应用容器镜像。同时OpenShift提供了各种不同类型的持续集成的工具,比如Jenkins,Zabbix等工具集成实现DevOps的全流程自动化,通常可以使新应用版本上线速度提升几十倍。


最后一部分,我们分享一下客户案例。


OpenShift在全球有众多成功案例,包括很知名的企业。


国内比较大的案例有联想公司

联想公司的某运维部门通过使用OpenShift大幅提升了测试和开发的效率。

我们知道,传统的IT公司,通常一个新应用或一个应用的新版本上线通常要3-6个月。用openshift之前, 联想内部测试人员每次部署代码都是需要需要协调其他平台部门同事手动操作的完成;使用OpenShift以后,现在测试系统交给项目组自助服务, 大大节省时间。时间从几天的数量级缩短到小时级别,速度提高了几十倍。


XOPS是联想IT自动化运维及生命周期管理,构建实时运维数据平台提供运维数据分析,并提供通用基础接口服务。围绕自动化理念,实现项目管理,CI/CD的平台自动化生命周期管理;结合运维数据,构建运维数据分析平台,为上层应用提供实时的数据反馈;抽象通用的业务场景和模式,搭建通用服务接口,为上层应用提供可靠的通用的接口服务。XOPS结合了OpenShift方案,自助构建了内自动化运维平台XOPS。


该平台同时支持传统环境:Windows的自动化环境准备, 安装, 部署, 还支持openshift的代码部署。通过该平台联想内部项目人员可以以自服务目录方式申请容器资源,并完通过与Jekins、Zabbix等工具集成,实现DevOps的全流程自动化。根据粗略统计,从今年年初到现在,该平台项目部署次数超过800多次。相当于平均两三天一个新版本。这样的速度在以前是难以想象的。




 
大卫分享 更多文章 从2015年服务器操作系统厂商收入排名谈U2L 其实,OpenStack并不是真正的云管平台(CMP)---那什么是呢? 其实,OpenStack并不是云管平台---那什么是? 浅谈业内各种主流双活存储技术,以及开源的HA\/DR方案 IT业内观察系列之1:架构师多如过江之鲫,但你真的了解架构师这个工种吗?
猜您喜欢 《近匠》滴答清单,跨平台云同步的任务管理工具 10亿级流数据交互查询,为什么抛弃MySQL选择VoltDB? 【程序员之】江湖感想。 Client病毒已感染超7万人 暗扣费并频弹广告 新的一年,我们要做些改进