且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一第1章 开源容器云概述1.1 容器时代的IT

更新时间:2021-10-18 21:41:42

本节书摘来自华章出版社《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一书中的第1章,第1.1节,作者 陈耿 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第1章 开源容器云概述

1.1 容器时代的IT

进入21世纪,我们的社会和经济发生了巨大的变化,社会对各行业服务的要求越来越高、越来越细致。新的需求如洪水一样滔滔不绝地从市场的第一线喷涌到企业的产品部门和IT部门。企业想要在竞争中获取优势,就必须比竞争对手更快地把产品推出市场。为了缩短产品从概念到上市的时间,企业的各个流程和流程中的各个环节都要升级优化。企业在变革,企业IT自然不能独善其身,必须要跟上市场的节奏响应市场的需求。目标是明确的,就是速度要更快,成本要更低、质量要更好。但是现实的问题是,如何做到?
为了满足业务的要求,企业IT在不断地变革,而且从未停步。从客户端/服务器模型,变革为浏览器/服务端模型,从庞大的信息孤岛,变革为基于服务的架构(Service Oriented Architecture,SOA),从物理机,到虚拟化,再到基础架构云(Infrastructure as a Service,IaaS)和应用云(Platform as a Service,PaaS)。对比十几年前,如今IT的效率得到了极大的提升,尤其是进入云时代后,一切资源变得触手可及。以往应用上线需要的资源,从提出申请,到审批,到采购,到安装,再到部署往往需要至少几十天的时间。在云时代,这些事情往往在几天或几小时便可以准备到位。业界在还没有来得及对云的怀疑之声做出反击回应之前,云就已经征服了整个IT世界。
通过这些年云化的推进,大多数有一定规模的企业已经实现了基础架构资源的云化和池化,这里的资源指的是诸如虚拟机、数据库、网络、存储。用户可以用很短的时间获取业务应用所需的机器、存储和数据库。基础架构资源云化其实并不是目的,而是手段。最终的目标是让承载业务的应用可以更快地上线。但现实是,通过IaaS获取的大量基础架构资源并不能被我们的最终业务应用直接消费。应用还必须进行或繁或简的部署和配置,才可能运行在云化的虚拟机之上。部署涉及操作系统配置的修改、编程语言运行环境的安装配置以及中间件的安装配置等。部署的过程在一些企业仍然是通过手工完成,低效且容易出错。有的企业则是通过简单的自动化方式完成,提高了效率,但是满足不了后期更高级别的需求,如动态扩容,持续部署。即使勉强通过简单的自动化实现,后期随着部署平台类型的增多及复杂化,维护的难度将会陡然提高,无法真正做到随时随地持续交付、部署。
基于这个背景,业界需要有一种手段来填充业务应用和基础架构资源的这道鸿沟。让应用可以做到“一键式”快速地在基础架构资源上运行。不管底层的基础架构资源是物理机、虚拟化平台、OpenStack、Amazon Web service,还是Microsoft Azure,都能实现快速、顺畅地部署交付。为了实现这个目标,业界出现了多种不同的平台,即服务云的容器方案。最终命运之神的棒槌砸到了一个叫Docker的开源项目上。Docker通过对Linux内核已有机能的整合和强化,为业务应用提供了一个可靠的隔离环境。此外,层叠式的Docker镜像为应用环境的复用提供了一个绝妙的方案。最后其简单易用的用户命令行,让Docker快速地获取了巨大的用户基础,也成就了今日其在容器界的地位。
通过容器这个手段,下一步就是实现应用在大规模云环境进行应用部署。在以往的软件业中,软件的交付件往往是软件的二进制安装部署包,比如Java的WAR包、Windows的EXE、Linux的RPM包等。在容器时代,不难想象,未来软件的交付件将会以容器镜像作为载体。容器镜像中包含了软件应用本身,应用所依赖的操作系统配置、基础软件、中间件及配置。同时这些镜像将会设计得非常智能,能够自动获取依赖服务的相关信息,如网络IP地址、用户名、密钥等。在云的环境中部署这些应用,需要做的只是简单地启动容器镜像,实例化出相应的容器,然后业务应用快速启动,向最终用户提供服务。目前大量的企业正处于这个变革和转型的过程中。
随着容器成为了部署交付件的标准,大量的业务应用将会需要运行在容器环境中,或者换句话说,未来容器将会成为应用的标准运行环境。那么下一个问题就是,应用如何在容器的环境中运行得更高效、更稳定?为了更好地运行在容器环境中,应用的架构也必然要发生变化,变得契合容器的特性。正因为这个背景,最近,业界在热烈地探讨容器之余,也非常关注应用的微服务化。
如同第二次工业革命蒸汽机带来的冲击一样,容器给IT业界带来了巨大的冲击。面对这场变革,企业IT要做的不仅仅是技术的决策,而且是一个战略性的决策。企业要么主动拥抱它,要么等待来自竞争对手的压力后,再被动地接受并追赶其他的先行者。