2013年Docker 2015年K8S
容器技术在国内发展主要经历三个阶段:
2014-2016年的技术探索期
2017-2018年的行业试水期
2019年以后的规模应用期
作为一种新兴的资源调度以及应用封装方式,容器与国内欣欣向荣的云计算产业发展紧密结合,为企业提供更高效的容器云服务
容器架构的敏捷、轻简和高度兼容性使容器成为云原生生态中最基础的一环,无论是混合云/多云在我国推广还是DevOps、微服务应用的推进,容器都将扮演至关重要的角色
借助镜像打包技术,容器得以便捷复制实现扩容
从内部架构上看,容器架构可以被理解为一个高度精简的、独立运行的程序包,其底层BootFS(一种文件系统)用于接入宿主机的服务器操作系统;中层为镜像层,镜像层在程序运行的过程中不可改写,主要包含上层程序代码和运行该程序所需的一切系统环境;上层为可改写的容器,镜像中代码的运行和结果的产生都在容器中进行,各个容器彼此独立。由于容器镜像文件在大小较小,且包含程序运行的一切条件,可快速实现容器程序的复制,从而实现容器架构的弹性扩容
容器架构是资源部署的进步,运行更加高速快捷
传统的IT架构是以服务器、操作系统和程序三层构成,由于不同的服务器、操作系统可能不兼容,
在应用开发流程中常出现开发者与使用者的系统环境差异导致程序无法运行的现象,虚拟化架构的
出现就是为了解决这一问题。
虚拟机架构在宿主机操作系统上增加了虚拟层,其上可运行不同的、彼此隔离的虚拟机操作系统,应用开发者得以将程序与操作系统等环境一起打包后进行分发和安装,从而解决不同的用户系统环境不兼容的问题。
容器架构本质上也是虚拟化,然而容器镜像在封装时并不涉及操作系统,仅封装程序本身和必要的环境文件,使得每个容器占用的服务器资源更少(一台服务器能够部署更多容器)、启动和运行较虚拟机更快,对IT资源的使用效率更高
计算机底层架构的演变路径
对计算机资源的“活用”催生虚拟化和容器的发展
从计算机底层架构发展的历史来看, 现代电子计算机系统以物理机( 服务器) 为基础、 通过操作系统调用物理机资源支持软件程序运行的这一结构是在1970s~1980s逐步成型的。 此后的20~30年间发展出了包括Windows和macOS在内的闭源操作系统和以Linux发行版为代表的开源操作系统, 一台计算机只能安装一个操作系统, 而不同的操作系统之间兼容性不佳,给计算机用户尤其是IT行业的从业人员而言带来了不便。
虚拟机的出现解决了这一问题, 允许在一台物理机上安装多个独立的、 在一定条件下可以通信的操作系统, 在一定程度上加强了不同操作系统之间的兼容性, 然而从应用程序封装和移植上讲, 虚拟化的操作系统仍然较“笨重” , 从而催生了容器技术的发展
纵观全球容器技术的发展历程
容器云已进入规模化应用阶段,行业价值将进一步凸显
容器架构的发展可以追溯到1979年, Unix操作系统Chroot模块为每个进程提供一套隔离化磁盘空间, 开启了容器技术的先河; 2006年谷歌开发出一个基于Linux系统的功能模块Process Container进程容器, 被视为Docker容器的技术原型, 2008年Process Container技术进一步发展成为LXC( Linux Container) , 在容器管理方面更为成熟。 2013年, PaaS提供商
DotCloud开源了一个基于LXC的容器引擎Docker, Docker解决了之前的容器技术存在的缺乏标准化和可迁移性等问题,很快得到云计算市场的青睐, 次年谷歌就推出了基于Docker容器架构的容器编排工具Kubernetes并在2015年将之开源捐赠给Linux基金会, 成立了云原生开源 区CNCF, 一直以来基于Docker和K8s的容器云应用都是CNCF 区中贡献条目最多的项目并, 该平台广泛与IBM、 AWS等全球IT巨头合作, 并实现了与Prometheus、 OpenTracing等容器生态工具的兼容。
经过多年的产业变革、 技术积累和应用实践, 容器云已具备规模化应用的内在条件, 对正处于数字化转型中的国内企业而言有着广阔的应用前景。
容器技术与云计算的结合
更加弹性的云上资源,更加灵活的云上应用
AWS在中国
多样化的容器部署环境,更便捷的容器应用体验
AWS一直将容器产品的云应用置于重要的战略地位, 其容器服务在全球范围内受到企业客户的广泛认可, 过去一年内, 每周有20多亿的映像通过Amazon Elastic Container Registry (Amazon ECR) 拉取, Amazon Elastic Kubernetes Service( Amazon EKS) 的用量增长了10倍、 AWS Fargate的用量增长了3倍。 本次AWS re:Invent 2020全球大会发布了4款与容器相关的新的云服务和功能。 Amazon ECS Anywhere以及Amazon EKS Anywhere支持在AWS云环境以及客户本地环
境中的容器应用部署, 为客户享受容器技术的高效便捷提供多样的云环境支持; AWS Proton服务于使用容器和无服务器架构的开发人员, 提供一体化协调基础架构配置、 代码部署、 监控和更新的工具, 降低微服务化程序应用开发工作的复杂性; AWS ECR Public在此前容器镜像仓库服务的基础上添加了公共注册表, 允许开发人员无需使用公共 站即可实现容器镜像的储存和管理、 并在全球范围内共享, 在保障版本同步的同时, 降低了途经外部环境进行镜像管理的复杂性以及不可用风险。 AWS发布的新一代容器云服务从客户的切身需求出发, 聚焦于提升容器云服务的使用体验、 降低云原生环境下IT人员的学习成本及工作负担, 代表着容器云敏捷、 高效、 兼容、 共享的技术理念。
AWS在中国
专注客户自身商业逻辑,乘载客户基础设施负担
纵观从电子计算机发明以来数十年的IT发展历史, 无论是软件领域还是硬件领域, IT服务都在经历着从复杂到精简、 从耦合到拆分的变化。
云计算的兴起使得硬件“软” 化, 软件“云” 化, 正是IT领域这一趋势的反映。 AWS作为全球云计算引领者, 一直致力于通过完善云服务的品类、 构建云服务的生态、 拓展云服务的纵深为客户提供更加现代化的基础设施服务,在计算领域, 自Amazon Elastic Compute Cloud (Amazon EC2) 在2006年推出以来, AWS陆续在2014年发布容器服务Amazon Elastic Container Service (Amazon ECS)、 在2017年发布无服务器容器服务 AWS Fargate、 在2018年发布无服务器计算服务AWS Lambda:每一代新产品的推出, 都意味着AWS进一步将复用性较高、 对企业价值量较低的基础管理工作剥离出来纳入其服务体系, 为开发者提供一致性的工作环境, 赋能企业更加专注于自身业务逻辑。
博云BoCloud
企业应用云化、能力平台化、管理互联 化的有力推手
博云BeyondContainer服务充分体现了容器云技术高效敏捷、生态兼容的特性。在基础设施兼容方面, BeyondContainer不仅支持企业在多数据中心联结、物理机和虚拟机并行的条件下部署容器应用,其胖容器解决方案亦能针容器化存在困难的应用进一步提供快捷、平滑上云服务;在应用管理方面, BeyondContainer体现出强大的生态拓展能力,为企业进一步实现应用的微服务转型以及开发运维一体化DevOps转型提供环境支持。博云充分认识到了国内云原生生态成熟度现状及部分企业技术负债的客观问题,其产品和服务在国内金融、能源、政务、制造以及工业互联 等行业有着广泛的客户基础,推动企业实现应用云化、能力平台化、管理互联 化。
功能演进: K8s从CO走向OS
Kubernetes有望成为下一代虚拟化架构的操作系统
尽管K8s一直以来被认作是Docker容器的编排工具( Container Operation, CO) , 但如果观察云计算平台的架构, K8s已经成为了云原生领域事实上的“操作系统( Operation System, OS) ” ——2020年12月Kubernetes宣布未来不再继续推荐Docker作为容器运行时, 标志着Kubernetes团队对于这一工具的定位有更高的期待。
我们对PC操作系统的一般理解是连接硬件和软件、 一面管理硬件资源、 一面为软件运行提供环境配置的程序, 如果将云计算环境下的底层虚拟化类比为传统的硬件设施、 将云原生或者是迁移至云上的应用程序理解为传统的软件, 则K8s在这一架构中的确乘载着操作系统的职能。
不可否认的是, 相比起Windows、 Linux等计算机操作系统, K8s对于底层计算资源、 数据信息等的管理能力是较弱的,在 络管理方面也还有很大的提升空间, 这也是近年来CNCF的开发者在不断努力的方向。 随着云计算领域对轻量和敏态的追求进一步提升、 K8s对底层资源的管理能力持续加大, K8s在云计算架构中的地位有望进一向底层延展。
技术联结:与微服务的不谋而合
容器云技术有效服务于微服务架构的松耦合理念
微服务的核心理念是将集成式的程序内部的不同功能模块拆分并独立运行, 通过API连接来进行持续集成和持续交付。 相对于传统的单体式架构, 微服务的优势在于高度的颗粒化, 使技术人员一次针对一个微服务模块进行开发和运维, 在程序运行过程中也有助于实现资源的高效利用, 这一理念与其后出现的容器架构不谋而合。 当前微服务架构已与容器技术密不可分, 每个微服务模块中往往就包含一个或多个基于容器架构运行的程序, 在5G、 边缘计算等领域这一组合将会有更多的应用场景和发展潜力。
技术联结:为DevOps坚实筑基
容器云架构保障DevOps实现的技术可行性
DevOps一词是“开发( Development) ” 与“Operations( 运维) ” 两个词的结合, 代表开发和运维流程一体化的一系列方法。 DevOps的诞生和虚拟机/容器技术一样都是为了促进开发部门和运维部门之间的沟通、 协作和整合, 消除研发过程中的内部摩擦, 从而提高 络服务的上线速度和服务质量。 与虚拟机/容器技术相比, DevOps更是一种理念和文化, 以“规划-编程-建设-测试-分发-部署-运行-监控-规划” 的闭环构建企业级程序开发的良性生态, 各个环节总计包含不下数十
种工具, 而Docker容器提供的标准化交付模式以及K8s编排搭建的容器调度平台正是DevOps的基础环境, DevOps的进一步发展和普及也有待于容器云技术的完善。
场景拓展:万物互联时代的边缘计算
容器以轻量精简的结构乘载海量异构的边缘终端
进入万物互联的时代, 智能手机、 智能家电和智能穿戴设备大量出现, 5G通信 络的普及更是使互联 数据的规模呈现指数级的增长趋势。 传统的云计算采用的是中心化架构, 数据从终端到云中心的传输和计算会造成高时延, 从而降低 络服务的用户体验, 这一模式已经越来越不适应 络流量爆炸的当下。 边缘计算的程序在终端侧发起, 能够有效降低时延, 并提供更好的安全性、 隐秘性和智能化体验。 边缘计算场景通常具有短时、 单个计算低负载和大量同质化计算的特点, 而容器架构轻量、 便捷移动和快速复制的属性非常契合边缘计算场景的需求, 目前多家企业已经推出边缘容器平台, 以容器技术赋能边缘计算的进一步深化发展。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树容器(docker)安装docker8793 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!