软件定义数据中心设计应集中于可扩展性和集成性

简介:

通过软件来控制任何东西的能力是软件定义数据中心吸引人的地方,不过,可扩展性、集成性和其他的考虑因素也应该成为设计SDDC(Software-Defined Data Center)的一部分。

当在设计一个软件定义数据中心时,企业需要考虑的因素很多,包含集成和自动化。在部署的每一步都需要对业务的需求有深入的了解,并且知道需要克服哪些财务的障碍。

有一些企业可能会想通过一个供应商来完成软件定义数据中心(SDDC)的搭建,但这是不可能的。但是如果去考察其他企业的SDDC架构——特别是大型云服务供应商——对决定你的需求程度和决定最有利的基础架构类型是有一定的帮助的。

SDDC设计所考虑的软件

SDDC的关键特征是通过软件来控制各个方面的能力。这相比物理的基础架构变更或者手动控制流程更加灵活。SDDC可以让负载工作在物理基础架构之上独立地运行。它还允许将基础架构管理和负载管理进行分离,两个平面都可以通过程序进行控制,而不是人为的直接操作。比如说一个负载策略可以在现有的web服务器超过一定阈值后增加web服务器的数量来平衡负载。基础架构策略可以是对一个感染的hypervisors部署一个安全补丁。这些策略以及一些自动化的工具的推出,推动着SDDC的发展。

人们容易认为整个SDDC——或者至少从软件方面——应该都来自一个单一的厂商。事实上没有一个厂家能够提供SDDC中的所有部件,并且也肯定不会有统一的产品。举个例子,VMware's vRealize Automation (vRA) 套件包含了很多基础架构的组件,但是却没有能力成为持续集成/持续开发(CI/CD)的工具。如果你去问你的程序员,他们会告诉你CI/CD系统是SDDC架构里面很关键的一部分。VRA也不是设计来更新你物理服务器的固件或者存储阵列内固态硬盘的微码的。这就是SDDC是由不同的厂商组成的原因。这并不是一件坏的事情,不过这会让SDDC的设计变得更加复杂。

SDDC设计的集成关键

观察一下大规模的云提供商,你会发现要建立包罗万象的SDDC是可以达成的。这些云提供商不会从单一厂家购买他们的基础架构,他们会从不同的厂家处购买部件并且进行组装来满足自己的需求。大多数大型云提供商都有自己的开发团队来做不同组件的集成。想象一下如果所有组件都做了集成,那么你可以在数分钟内部署一个VM实例,并且将其连接到正确的内部和外部网络中去——这些都可以从自服务的门户网站、一些脚本命令或者一些应用程序编程接口(API)调用来达成。从财务的角度想象一下要建立这种级别的SDDC需要多少成本,建立一个大型SDDC架构费用是高昂的,但是回报也会非常大。

对于一个企业来说,这种规模的集成并不一定是必须的。首先,很多产品都内建了自动化的工具,你只需要简单地将他们集成在一起就可以了。大多数企业公司有自己的基础架构标准,因此他们不需要对不同的组件进行集成。而且,你的SDDC规模也不会像公有云提供商一样那么大。企业可以指定某一些集成方式来满足自己的商业需求。而云提供商在这方面则要支持客户所需要的所有集成的场景。

在设计SDDC的时候,你会期待将一些组件进行集成,例如最终用户的门户、服务器硬件、软件定义网络和软件定义存储。这也是API发挥作用的地方,它会让一个SDDC组件与另一个组件进行集成。可以使用流行的Rest API来将一些脚本绑定到你经常使用的脚本语言中。可以为你的产品寻找一些有API、绑定或者理想的集成模板。

在设计SDDC中一个比较关键的考虑因素是去定义你的视野范围。通常来说SDDC最有价值的地方在于能快速变化你的环境(比方说生产环境和测试环境)。你可以将首次部署排除生产环境来减少一些风险。一旦开发/测试环境已经被验证并且学到了相关的经验,那么可以让生产环境介入。如果你的企业不是通过敏捷或者DevOps方法来进行软件开发的话,那么CI/CD系统是没有价值的,这种情况下部署自服务、非生产的VM平台就足够了。


本文作者:Alastair Cooke

来源:51CTO

相关文章
|
6月前
|
监控 测试技术 持续交付
自动化测试和持续集成/交付:提升软件质量和效率的关键
在当今快节奏的软件开发环境中,自动化测试和持续集成/交付已经成为了必不可少的工具和流程。通过自动化测试,开发团队可以更快地检测和修复缺陷,同时提高测试覆盖率和质量。而持续集成/交付则可以让开发者将代码快速、自动地构建、测试和部署到生产环境中。这篇文章将探讨自动化测试和持续集成/交付的优势和实现方式,以及如何在实践中有效地使用它们来提升软件质量和效率。
|
3月前
|
开发者 持续交付 Android开发
Xamarin开发者的秘密武器:如何通过持续集成与持续部署(CI/CD)实现高效、高质量的软件交付
【8月更文挑战第31天】在当今追求高效、高质量软件交付的时代,Xamarin开发者需像大厨般迅速烹制数字化佳肴,而持续集成(CI)与持续部署(CD)则是关键工具。CI要求开发者频繁将代码集成到共享仓库,利用自动化工具如Azure Pipelines或Jenkins自动编译、测试代码,确保质量。CD在此基础上进一步实现自动化部署,简化从开发到生产的全过程。借助如Visual Studio App Center这样的工具,Xamarin项目得以快速构建、测试并部署至Android和iOS平台,显著提升开发效率和代码质量,助力团队乘风破浪,驶向成功的彼岸。
31 0
|
3月前
|
前端开发 Java UED
JSF遇上Material Design:一场视觉革命,如何让传统Java Web应用焕发新生?
【8月更文挑战第31天】在当前的Web开发领域,用户体验和界面美观性至关重要。Google推出的Material Design凭借其独特的动画、鲜艳的颜色和简洁的布局广受好评。将其应用于JavaServer Faces(JSF)项目,能显著提升应用的现代感和用户交互体验。本文介绍如何通过PrimeFaces等组件库在JSF应用中实现Material Design风格,包括添加依赖、使用组件及响应式布局等步骤,为用户提供美观且功能丰富的界面。
40 0
|
4月前
|
编解码 数据挖掘 测试技术
对于大屏幕显示系统工程,这通常涉及到硬件(如显示器、投影仪、控制器等)和软件(如内容管理系统、控制软件等)的集成。
对于大屏幕显示系统工程,这通常涉及到硬件(如显示器、投影仪、控制器等)和软件(如内容管理系统、控制软件等)的集成。
|
4月前
|
测试技术 数据库 Python
在系统工程中,软件测试是一个至关重要的环节,它确保软件的质量、可靠性和性能。软件测试通常包括多个阶段,如单元测试、集成测试、系统测试和验收测试等。
在系统工程中,软件测试是一个至关重要的环节,它确保软件的质量、可靠性和性能。软件测试通常包括多个阶段,如单元测试、集成测试、系统测试和验收测试等。
|
4月前
|
传感器 机器学习/深度学习 监控
在视频监控和防盗报警系统工程中,通常包括硬件(如摄像头、传感器、报警器等)和软件(如监控软件、报警管理软件等)的集成。
在视频监控和防盗报警系统工程中,通常包括硬件(如摄像头、传感器、报警器等)和软件(如监控软件、报警管理软件等)的集成。
|
4月前
|
传感器 Python
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
|
5月前
|
jenkins 测试技术 持续交付
探索自动化测试的边界:持续集成与软件质量的协同进化
随着软件开发节奏的加快,自动化测试成为确保软件质量和快速交付的关键。本文深入分析了持续集成(CI)在自动化测试中的作用,探讨了如何通过优化CI流程来提升软件测试效率和质量。文章首先概述了自动化测试的基本概念和重要性,接着详细讨论了在CI环境下实施自动化测试的策略,包括工具选择、测试用例设计、以及反馈机制建立等。最后,通过案例分析,展示了一个成功的自动化测试实践,旨在为读者提供一套可行的方法论,以促进其软件项目的质量保证工作。
41 0
|
6月前
|
敏捷开发 Devops jenkins
计算机软件敏捷开发领域中持续集成(Continuous Integration,简称 CI)的含义及其作用
计算机软件敏捷开发领域中持续集成(Continuous Integration,简称 CI)的含义及其作用
|
6月前
|
监控 测试技术 API
自动化测试工具与电脑桌面监控软件的集成:Selenium与Python的无缝整合
在当今数字化时代,软件质量保证是每个软件开发团队都必须面对的重要挑战之一。自动化测试工具和电脑桌面监控软件的结合,为开发团队提供了一种有效的方式来确保软件的稳定性和性能。本文将介绍如何利用Python编程语言中的Selenium库,与桌面监控软件进行无缝整合,以实现对应用程序的自动化测试和桌面监控。
277 5