理解 Kubernetes 与 Helm
在现代应用开发中,团队面临着确保应用轻量级、可扩展、高可用且能承受不同负载的巨大压力。最初,应用多以单体架构部署,随着时间推移,行业逐渐转向微服务架构。下面我们来详细了解相关概念和技术。
从单体应用到现代微服务
软件应用是现代技术的基础组成部分,其历史悠久。早期,开发者利用处理器性能提升的优势,在应用中捆绑更多功能和组件,形成单体应用。这种方式虽简化了部署流程,但随着行业趋势变化,企业更注重快速交付功能,单体应用的设计带来了诸多挑战。每次变更都需对整个应用及其所有组件重新验证,可能需要多团队协调,从而减缓了功能交付速度。
为了实现快速交付,DevOps 实践应运而生,它鼓励对应用进行迭代式更改。于是,软件架构从单体应用演变为微服务架构,即将组件拆分为多个独立的小应用。微服务具有诸多优点,如可并发开发和部署服务,能独立扩展服务实例数量。
随着软件架构的转变,应用的打包和部署方式也需要重新评估。传统上,整个机器通常只为一两个应用服务,但微服务减少了单个应用所需的资源,为一两个微服务专门配备一台机器不再可行。这时,容器技术应运而生。
容器被定义为一组与系统其他部分隔离的进程,包含运行所需的所有文件。容器技术历史悠久,一些基础的容器技术至今仍在使用。简单便携的打包模型以及在物理或虚拟机上创建多个隔离沙箱的能力,促使容器在微服务领域迅速普及。2010 年代中期,Docker 的出现使容器技术更广泛地被大众接受,它简化了容器的打包和运行,用户可以轻松使用他人创建的容器镜像。
容器和微服务堪称绝配,应用有了打包和分发机制,既能共享计算资源,又能相互隔离。然而,随着越来越多的容器化微服务被部署,
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



