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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

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

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
29天前
|
运维 Kubernetes 监控
构建高效自动化运维体系:基于Docker和Kubernetes的实践指南
【2月更文挑战第30天】 在当今快速发展的云计算时代,传统的IT运维模式已难以满足业务的敏捷性和稳定性需求。本文深入探讨了如何通过Docker容器化技术和Kubernetes集群管理工具构建一个高效、可靠的自动化运维体系。文章首先概述了容器化技术和微服务架构的基本概念,随后详细阐述了基于Docker的应用打包、部署流程,以及Kubernetes在自动化部署、扩展和管理容器化应用中的关键作用。最后,文中通过案例分析,展示了如何在实际场景中利用这些技术优化运维流程,提高系统的整体效率和可靠性。
|
4月前
|
Kubernetes Java 微服务
Spring Boot与Kubernetes结合:构建高可靠、高性能的微服务架构
Spring Boot与Kubernetes结合:构建高可靠、高性能的微服务架构
295 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
93 0
|
3月前
|
存储 Kubernetes 监控
Kubernetes快速进阶与实战:构建可靠的容器化应用平台
Kubernetes快速进阶与实战:构建可靠的容器化应用平台
92 0
|
6天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
11 4
|
20天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于Docker和Kubernetes的最佳实践
在现代云计算环境中,自动化运维成为保障系统稳定性与提升效率的关键。本文深入探讨了如何利用Docker容器化技术和Kubernetes容器编排工具构建一个高效、可靠的自动化运维体系。文中不仅介绍了相关的技术原理,还结合具体案例分析了实施过程中的常见问题及解决方案,为读者提供了一套行之有效的最佳实践指南。
|
25天前
|
运维 Cloud Native 持续交付
云原生技术:构建灵活高效的云平台
随着云计算技术的快速发展,云原生技术作为一种全新的应用架构范式,正在逐渐成为企业数字化转型的关键。本文将介绍云原生技术的核心概念及其在构建灵活高效的云平台中的重要作用,以及云原生技术对企业业务的影响和意义。
|
30天前
|
Kubernetes 开发者 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【2月更文挑战第29天】在当今快速发展的软件开发领域,微服务架构已成为提高系统可维护性、扩展性和敏捷性的关键解决方案。本文将深入探讨如何利用Docker容器化技术和Kubernetes集群管理工具,共同构建一个既高效又可靠的微服务环境。我们将分析Docker和Kubernetes的核心功能,并展示它们如何协同工作以简化部署流程、增强服务发现机制以及实现无缝的服务伸缩。通过实际案例分析,本文旨在为开发者提供一套实用的微服务架构设计和实施指南。
|
2月前
|
SQL 消息中间件 Kubernetes
flink问题之on kubernetes 构建失败如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
45 1
|
2月前
|
SQL Kubernetes Java
Flink构建问题之flink 1.11 on kubernetes构建失败如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。

相关产品

  • 容器服务Kubernetes版