探索Helm:Kubernetes的强大包管理器
1. 云原生生态系统概述
云技术的兴起显著改变了行业对硬件、系统管理和物理网络等方面的看法。早期,虚拟机取代了物理服务器,存储服务替代了硬盘,自动化工具的重要性日益凸显。随着这种新方法的优缺点逐渐明晰,应用程序和服务的设计实践也开始发生转变。
开发者和运维人员开始质疑构建在强大硬件上运行的大型单二进制应用程序的做法。他们意识到在不同应用程序之间共享数据并保持数据完整性的难度,分布式锁、存储和缓存从学术兴趣点变成了主流问题。大型软件包被拆分为更小的离散可执行文件,正如Kubernetes创始人Brendan Burns所说:“分布式计算从高级话题变成了计算机科学的基础内容”。
“云原生”这一术语体现了我们在云架构方面的认知转变。当我们围绕云的能力和限制来设计系统时,我们就是在设计云原生系统。
2. 容器与微服务
2.1 微服务架构
云原生计算的核心哲学是,较小的离散独立服务优于大型的单体服务。传统上,一个应用程序可能是一个单一的可执行文件,负责处理从用户界面生成到任务队列处理,再到与数据库和缓存交互的所有工作。而云原生方法则是编写一系列相对专用的较小服务,然后将这些服务组合起来以实现更高层次的目标。
以电子商务网站为例,它通常包含产品目录、用户账户和购物车、处理货币交易的支付处理器,以及供客户查看商品和选择购买的前端界面,还有供店主管理库存和处理订单的管理界面。在过去,这样的应用程序通常被构建为一个单一的程序,所有功能的代码都编译在一起,运行在一台大型硬件上。
而云原生方法则将这个电子商务应用程序拆分为多个部分。例如,一个服务
超级会员免费看
订阅专栏 解锁全文
414

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



