软件定义存储(SDS)和软件定义网络(SDN)并不是应对基础架构管理挑战的灵丹妙药。正确的实施需要研究和正确的硬件设置。软件定义技术开发的范围旨在从底层硬件组件中抽象出数据中心资源。它是虚拟化、自动化和编排技术的强大组合,可以识别不同的资源并将其组织到数据池或层中,因此IT管理员可以管理和配置硬件以满足所有工作负载要求。正确实施的软件定义工具可以以更高的一致性和更少的错误加速重要的数据中心任务。然而,更多的软件并不能完美解决所有IT问题。正确的部分以及适当的规则、策略和流程可以成就或破坏软件定义的计划。每种技术都有不同的要求才能使其在数据中心工作,组织必须权衡是否在合适的时间实施。软件定义存储提高性能传统上,管理员必须手动配置逻辑卷,将这些LUN与应用程序相关联,然后随着时间的推移主动监控这些LUN的性能和容量。软件定义存储(SDS)使用软件从底层磁盘硬件(例如硬盘驱动器磁盘和固态驱动器组件)中抽象出磁盘存储资源和存储相关服务。抽象过程提供基于性能的池化或分层,使管理员能够将存储容量聚合到公共逻辑池(或层)中,然后供应用程序使用。IT管理员不再需要担心“磁盘”或这些磁盘的安装位置。软件定义存储(SDS)的好处是可以非常灵活地检测和组织整个数据中心的可用存储。软件定义存储(SDS)工具可以为整个存储基础设施提供存储服务,而不仅仅是选择服务器或存储阵列。这种软件定义的技术包括存储保护,例如自动精简配置和重复数据删除,以及复制、快照和备份。正确实施的软件定义存储(SDS)可以使用自动化和编排来加速最适合已部署应用程序的存储容量和服务的配置。例如,管理员可以为数据库请求高性能逻辑单元号(LUN),从而允许软件定义存储(SDS)平台提供大型顶级逻辑单元号(LUN)以及相关的重复数据删除和复制服务。软件定义存储(SDS)是最古老的软件定义技术之一,通常也是最容易采用的技术。软件定义存储(SDS)是超融合基础设施产品的常见元素,尽管管理员可以使用许多成熟的专有工具来实施SDS。其中包括来自其Unity存储阵列的DellEMCUnityVSA和来自Isilon横向扩展网络附加存储系统的IsilonSDEdge。组织还可以关注开源软件定义技术,例如Ceph、FreeNAS、Gluster和OpenStackSwift。软件工具可能会对磁盘和存储子系统兼容性施加一些限制,因此IT管理员应该研究和测试SDS以确保与现有存储硬件和服务的互操作性。软件定义存储(SDS)的最大挑战是大量可能的分类和可用设置,包括对横向扩展块存储、横向扩展文件存储、横向扩展对象存储、统一存储和简单存储虚拟化的支持.了解所需的存储类型和所需的存储服务会极大地影响软件定义存储(SDS)产品的选择,并可能导致供应商锁定。此外,自动化需要一些维护,而软件定义存储(SDS)可能需要更定期地监督自动化和编排所需的存储策略和工作流。小型组织、具有静态存储需求的企业或具有多种存储需求的企业可能不会发现软件定义存储(SDS)的优势。软件定义的网络技术集中了数据控制。管理员通常必须手动配置交换机、路由器、网关和防火墙,以建立、分段和保护网络流量的适当路径。如果网络需要任何更改,例如创建新网段或向网段添加更多带宽,管理员必须手动更改网络配置,这通常会冒着工作负载中断和过程中安全漏洞的风险。软件定义网络(SDN)试图通过使用软件工具和智能网络设备来克服网络的碎片化和复杂性,简化对网络的控制,让管理员以编程方式进行控制。这种软件定义的技术将数据流与数据流控制分开,这是传统交换机或路由器架构无法实现的壮举,允许管理员在不接触实际网络设备的情况下组织、管理和监控网络。软件定义网络(SDN)分为三层:基础设施、控制和应用程序。基础设施层网络包括所有网络硬件,例如交换机、路由器和电缆。控制平面是提供软件定义网络(SDN)智能的软件。控制平面通常安装在服务器上,它管理网络中的流量。应用层提供负载均衡器、入侵检测和防御、防火墙等网络服务。通常,这些功能部署为离散设备。借助软件定义网络(SDN),应用程序通过在从控制平面启动的服务器上运行来提供功能。控制层和应用层通过OpenFlow和OpenNetworkEnvironment等通用API进行通信。软件定义网络(SDN)建立在这种功能数据和控制分离的基础上,以提高虚拟化和自动化程度。添加虚拟化使管理员能够通过从物理网络中提取网络流量并启用微分段等高级功能来进一步控制流量。自动化和编排使网络控制和管理任务发生得更快,错误更少,自主性更大。然而,软件定义网络(SDN)需要对管理员设计和管理企业网络的方式进行重大改变。软件定义网络(SDN)提供细粒度控制和安全性,最适合云计算和多租户环境中常见的极其繁忙和动态的网络。虚拟化和基于应用程序的网络服务简化了网络连接并大大增强了通用服务器和基本交换设备的使用,而不是供应商特定或专有硬件。涉及软件定义网络(SDN)的架构、编程和操作的工作只有在企业需要快速变化和高可扩展性时才是合理的。仅偶尔进行日常更改的业务网络可能会选择放弃软件定义的技术,转而使用更静态的基础架构。
