云原生主要技术之容器技术-新纪元的分水岭?
今天主题的内容有3部分
- 容器的定义
- 容器的优势
- 容器的特性
给开发人员和运维人员的工作内容都有所改变,提升工作效率,也间接的提升了竞争力。
容器定义
面对开发人员而言:容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。Docker是容器的一种,还有其他容器,比如 Core OS 的 Rkt。
面对操作系统而言:容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等;控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图。
容器具有一个独立的文件系统,因为使用的是系统的资源,所以在独立的文件系统内不需要具备内核相关的代码或者工具,我们只需要提供容器所需的二进制文件、配置文件以及依赖即可。只要容器运行时所需的文件集合都能够具备,那么这个容器就能够运行起来。
容器优势
对于开发人员 - Build Once, Run Anywhere
容器意味着环境隔离和可重复性。开发人员只需为应用创建一次运行环境,然后打包成容器便可在其他机器上运行。另外,容器环境与所在的 Host 环境是隔离的,就像虚拟机一样,但更快更简单。
今天开发人员通常使用多种服务(比如 MQ,Redis,DB)构建和组装应用,而且应用很可能会部署到不同的环境,比如虚拟服务器,私有云和公有云。
对于运维人员 - Configure Once, Run Anything
只需要配置好标准的 runtime 环境,服务器就可以运行任何容器。这使得运维人员的工作变得更高效,一致和可重复。容器消除了开发、测试、生产环境的不一致性。
容器的特性
硬件依赖
容器无需修改便可运行在几乎所有的平台上 -- 虚拟机、物理机、公有云、私有云
隔离性
资源、网络、库都是隔离的,不会出现依赖问题
自动化
提供 run, start, stop 等标准化操作,非常适合自动化
高效性
轻量级,能够快速启动和迁移
职责分工
开发人员只需考虑怎么写代码;运维人员只需关心如何配置基础环境
小结
容器的出现,是原有基于虚拟机的云主机应用,彻底转变为更加灵活和轻量的“容器+编排调度”的云平台应用。
相关文章
- Kubernetes声明式API
- 路由策略还是没搞懂?盘它!
- 人工智能:智能语音技术应用场景
- 涨知识了!Wi-Fi背后的原理揭秘!
- SAP:“双碳”目标之下,做云时代“新型中国企业”的赋能者
- 保护Kubernetes集群的三大要素
- 研究显示:八成企业将加强 5G 和边缘计划
- 我们一起聊聊WiFi6安全技术
- 企业级开源势不可挡,红帽引领IT新常态
- ChatGPT“克星”:用AI识别AI生成的文本,英语论文阅读笔记都能测出
- 打造生态核心力量,华为云加大投入开发者赋能
- 到2030年,虹膜生物识别市场将扩大近四倍
- 探讨 DNS 解析
- 一文搞懂基础设施即代码 (IaC)
- 三招帮你解决网络卡顿常见难题
- 苹果公司自研调制解调器解决方案是一个巨大的挑战 但若成功有很大的回报
- 微软智能云在华发布多项混合云服务及功能更新
- 客服机器人是怎么实现的?对话推荐系统
- 我认为 Web3 是什么?让我来告诉你!
- 数据科学和人工智能如何推动智慧城市目标