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

简介:

本节书摘来自华章出版社《开源容器云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要做的不仅仅是技术的决策,而且是一个战略性的决策。企业要么主动拥抱它,要么等待来自竞争对手的压力后,再被动地接受并追赶其他的先行者。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
运维 Kubernetes 监控
提升运维效率:容器化技术在现代IT基础设施中的应用
本文将探讨容器化技术如何优化企业的IT基础设施,提高部署效率和资源利用率。我们将深入分析容器技术的优势、实现步骤以及在实际运维中的应用场景。通过实例展示,帮助读者更好地理解并应用这一前沿技术,助力企业实现高效运维。
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
1120 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
Ubuntu 网络安全 容器
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理。本文详细介绍了如何在 Ubuntu 22.04 上安装 KubeSphere,包括系统要求、安装依赖项、设置防火墙、下载安装脚本、选择安装选项、验证安装结果等步骤,并提供了常见问题的解决方法。希望本文能为读者提供实用的参考和帮助。
475 3
|
Kubernetes 安全 容器
关于K8s,不错的开源工具
【10月更文挑战第12天】
444 7
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
456 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
Linux 调度 Docker
容器网络概述
【8月更文挑战第7天】容器就是 Container,而 Container 的另一个意思是集装箱。其实容器的思想就是要变成软件交付的集装箱。集装箱的特点,一是打包,二是标准。
|
Kubernetes 持续交付 Python
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。
|
Linux 调度 Docker
容器网络概述
【9月更文挑战第9天】容器技术利用如命名空间(namespace)和控制组(cgroup)等技术创建隔离环境,实现资源限制与独立运行。命名空间避免命名冲突,cgroup则能对CPU、内存等资源进行限制。容器状态可通过镜像保存并标准化,确保在任何环境中都能复现相同状态。
|
Kubernetes 关系型数据库 分布式数据库
【PolarDB开源】PolarDB与Kubernetes集成:容器化部署的最佳实践
【5月更文挑战第21天】本文介绍了将阿里云的高性能数据库PolarDB与容器编排工具Kubernetes集成的步骤。首先,需准备Kubernetes集群和PolarDB Docker镜像,安装Helm。然后,通过Helm部署PolarDB,设置存储类和副本数。接着,应用配置PolarDB连接信息,打包成Docker镜像并在K8s集群中部署。此外,调整PolarDB参数以优化性能,并使用Prometheus和Grafana监控。本文为PolarDB在Kubernetes中的最佳实践提供了指导。
651 4
|
Ubuntu NoSQL Shell
容器常用操作命令概述
【8月更文挑战第28天】容器镜像可被视为一个“样板间”,它将进程运行所需的文件系统、依赖库、环境变量及启动参数等全部信息整合打包。

相关产品

  • 容器服务Kubernetes版