问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

手把手教你入门云计算(二):这些技术改变了世界,你也能轻松掌握

创作时间:
作者:
@小白创作中心

手把手教你入门云计算(二):这些技术改变了世界,你也能轻松掌握

引用
CSDN
1.
https://blog.csdn.net/qq_53769632/article/details/146133253

云计算作为现代信息技术的重要组成部分,其核心技术包括虚拟化技术、容器化技术、云原生技术、分布式存储技术和分布式资源管理技术。本文将深入浅出地介绍这些技术的基本概念、优势和应用场景,帮助读者快速掌握云计算的核心知识。

虚拟化技术:重塑物理世界的 “数字魔法”

什么是虚拟化技术

虚拟化是指将物理IT资源转换为虚拟IT资源的过程。它的本质是“物理资源抽象化与逻辑化重构”,通过软件将硬件资源转化为可灵活分配、隔离且可编程的虚拟资源,打破物理设备的固有边界,实现资源利用率与灵活性的革命性提升。

它实际上是在程序直接调用硬件接口的环境下,中间插入一层虚拟化层,将物理资源通过虚拟化软件模拟硬件接口,欺骗上层的操作系统或者应用,达到共享物理硬件的目的。

虚拟化是云计算的基石,包括计算虚拟化、分布式存储虚拟化、SDN网络虚拟化等。

  • 计算虚拟化主要是针对CPU和内存的,提供虚拟机的交付方式。在物理服务器上面虚拟出多台虚拟服务器,每个服务器拥有独立的CPU、内存空间和系统盘。
  • 存储虚拟化主要是将硬件存储通过虚拟化提供统一的存储接入,并且这些存储能够挂载到任意虚拟机,完成计算和存储的分离。通过存储虚拟化可以在普通服务器上构建高性能、高可靠的存储。
  • 网络虚拟化摆脱了传统物理网络拓扑的限制,允许用户动态地自定义网络的拓扑结构,通过虚拟交换机、虚拟负载均衡器、虚拟防火墙等虚拟的网络设备构建出高度灵活的网络架构。

虚拟化技术的优势

  1. 节约资源:通过计算虚拟化,将数据中心计算资源细化,化大为小,从而可以更加精细地进行资源的划分和管理,节省资源。使用更少的物理机服务器,一台常规的x86服务器上可以运行多达30个虚拟机。对于网络资源,如交换机、防火墙、负载均衡等,同样可以通过虚拟化软件模拟硬件设备,从而节省昂贵的网络设备采购成本。存储也是一样的,通过分布式的存储,替换部分专有的存储设备,从而达到节省成本、节能减排的目的。
  2. 环境隔离:在传统的部署模式下,一台物理机上面可能部署多个服务,服务之间共享资源,互相影响。如果某个应用耗尽整台物理机资源,将导致物理机上所有应用崩溃。通过虚拟化,为每个应用生成一套独立的运行环境,从而达到运行环境隔离的目的,保障服务运行的稳定和安全。
  3. 快速配置:虚拟化技术可以将运行环境打包成一个虚拟机镜像,甚至是一个Docker镜像,从而达到秒级启动,并且将运行封装打包到一个独立环境后,后续可以针对整个环境做备份和快照。
  4. 服务高可用:通过存储多副本技术、虚拟机迁移、网络SDN等技术,可以实现更高的可靠性服务。存储多副本可以实现存储数据的同城或者异地数据备份,防止数据丢失。虚拟机的在线或者离线迁移,可以把虚拟机从故障服务器上面迅速迁出,并且在新的服务器上重新恢复。

容器化技术(Docker):让应用 “拎包入住” 的数字集装箱革命

容器化技术是通过操作系统级虚拟化(OS-level Virtualization),将应用及其依赖打包成标准化单元(容器),实现 “一次封装,随处运行” 的革命性部署方式。简单理解,我们可以将Docker容器化技术,想象成打包技术,它更像是将各个货物(程序和依赖环境)打包整理的集装箱。

那为什么需要Docker技术呢?应用的上线需要经过开发、测试、准生产、生产等各个环境的验证才能保证功能的稳定和可靠,但保持环境的一致性一直是一个令人苦恼的问题。开发环境部署一套服务,测试完毕,但怎样保证开发环境和生产环境的一致性呢?这里就需要Docker技术。

举个部署Java Web服务的例子。传统的部署方式是需要在服务器上先安装一套Java的运行环境,然后部署Tomcat服务,再把应用程序的war包放到tomcat目录下面,然后还需要配置一下war解压后的配置文件,例如,JDBC的配置文件,然后才能启动应用。这个过程不仅耗时、费力,而且还容易出现配置错误。在此基础之上,出现了Ansible之类的自动部署工具,虽然减轻了操作的复杂度,但环境一致性还是很难保证的,例如JDK版本等。通过将应用程序和环境打包到Docker镜像中,这样可以避免因环境不一致导致的问题,程序运行的环境与宿主机分离,甚至可以运行在Windows Server的机器上面,这对应用程序是没有任何感知的,真正做到了一次打包,多处运行。

此外在云原生生态(后面会讲)中,Docker技术可以将应用的每个微服务独立打包为 Docker 容器,支持独立升级、回滚,实现了微服务架构的原子化交付。像Netflix公司就用 Docker 容器化500+微服务,实现了日均1000+次部署,此外,在CI/CD 流水线,Docker镜像也作为交付单元,自动化测试、构建、部署。

Docker系统架构如下图。

云原生技术:为云而生、因云而强

云计算的发展已经进入成熟期,然而传统的虚拟化平台只提供基本运行的资源,云端强打的服务能力红利并没有得到很好的利用。为了充分发挥云平台的能力,使云上的应用适应现有的云计算架构,云原生技术应运而生。

云原生技术三大特征:

  1. 容器化包装:软件应用的进程应该包装在容器中独立运行;
  2. 动态管理:通过集中式的编排调度系统来动态管理和调度;
  3. 微服务化:过集中式的编排调度系统来动态管理和调度。

云原生技术图如下图所示。

分布式存储技术:数据世界的蚂蚁军团

分布式存储技术概述

分布式存储技术是将数据分散存储在多台独立设备(节点)上。这种模式不仅摆脱了硬件设备的限制,同时扩展性更好,能够快速响应用户需求的变化(整合存储资源提供动态可伸缩资源池的分布式存储技术)将数据分布在不同的服务器上存储设备上。正符合云计算快速高效的处理海量数据的优势。

在数据爆炸的今天这个技术至关重要,为保证数据资料的高可靠性。云计算常用分布式数据存储的技术,将数据存储于不同物理设备中,不仅摆脱物理设备的限制,扩展性更好,满足快速响应用户需求的变化。

分布式软件定义存储基于通用的x86服务器,通过分布式的存储软件来构建存储系统,开放丰富灵活的软件定义策略和接口,允许管理员和租户进行自动化的系统管理和资源调度发放。

分布式存储架构

分布式存储的架构大同小异,基本的原理的都是将文件拆分很多小块,成为条带化,然后将这些数据块通过多副本的方式保存到不同机器上,并记录这些块和文件的对应关系,以及块和机器的对应关系。

分布式存储的总体架构如下图。

分布式资源管理技术:数字世界的“智能交通指挥中心”

分布式资源管理技术负责在由成千上万台服务器组成的庞大集群中,高效、动态地分配计算、存储、网络等资源,确保每个任务都能在正确的时间获得所需的资源。

超大规模资源调度算法

我们说希望能像用水用电一样的方式去使用IT资源,那么IT资源的供给就需要许多类似于大大小小的水厂/电厂的IT资源工厂,这就是我们所说的IT数据中心。

  • 计算资源调度算法:采用首次匹配、负载均衡、轮转指针等,可统一规划为运筹学的线性规划NP求最优解/次优解的问题,约束条件及目标函数均可按需进行策略配置。
  • 存储资源调度算法:
  • 将数据中心服务器(机架式服务器)直连存储(HDD/SSD)转换为高性能、低时延的共享存储资源,大幅提升可用存储空间,实现无SAN化的计算集群的虚拟化整合。
  • 性能无损的瘦分配、为每VM/PM提供更大的“瘦分配弹性”
  • 更大规模的跨SAN资源池,更大规模的资源池
  • 能耗管理最优化算法:要降低PUE值,实现云计算绿色节能的理念,需要有一个好的能耗管理算法。能耗管理算法在云计算中是一个关键技术。

总结

云计算概念诞生至今约二十年的时间,二十年风雨兼程,云计算已从少数极客的 “技术玩具” 成长为数字经济的基石。它不仅是一种技术,更是一种思维方式—— 将复杂的基础设施抽象为简单的服务,让人类得以释放创造力,专注于解决更宏大的问题。正如电力重塑了工业文明,云计算正在书写数字文明的新篇章。未来已来,我们只需轻轻 “打开开关”。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号