许多公司正在将云计算纳入其IT战略。越来越多的IT预算正在转向云计算服务和运营支出,而不是资本支出。与此同时,IT团队被要求加强和改进公司的数字计划。
根据研究公司Forrester的2019年预测,大约25%的CIO将转变为全面的领导角色,将技术投资规划,数据管理和运营责任整合到一个统一的整体中。与此相关的挑战是,数据和数字转换所解决的所有问题都与企业内的其他问题交织在一起,从管理客户体验到满足销售和增长目标。对于一些CIO来说,解决这些问题的机会自然是下一步。对于其他人来说,这将超越他们和他们公司的舒适区。
如何通过云计算和分布式计算解决企业数据问题
减少这些差距将取决于数据管理。然而,即使公司更加致力于云计算,他们也无法解决围绕数据和云计算的真正问题。
从更多云到多云
企业正在增加对云计算服务的支出,以提高灵活性并实现更大的增长。研究公司IDC已将其对2018年全球云计算基础设施支出的预测提高至652亿美元,未来几年将增长37.2%。基础设施支出的增加包括计算,存储,数据和应用服务。
对于使用云计算来支持其新服务的公司,计算和存储等领域可以快速扩展。但是,数据库元素要复杂得多。必须存储来自应用程序的数据并将其用于分析,并且数据库仍然是随时间管理此数据的最合适方式。这些数据库也转向云。根据市场调查,未来全球云计算数据库市场预计将达到216.6亿美元,并将在2072年增长到46.78%。
此研究评估涵盖一系列不同的云计算数据库部署选项,从完全托管服务到购买的云计算数据库平台。然而,这一系列选择并不一定能提供许多公司所寻求的自治水平。跨多个服务或混合部署运行数据库很困难。
许多企业和软件开发团队正在采用基于容器的技术,这些技术为在云中运行而构建的应用程序提供一定程度的自主权。容器可以在任何兼容的公共云服务或内部云服务上运行,因此这些应用程序不依赖于任何特定的提供程序。但是,大多数数据库服务不支持相同程度的独立性。为了理解这个原因,有必要研究数据库设计理论。当企业将应用程序移动到云时,它可以分散这些应用程序并在分布式环境中运行它们。无论是在混合云中还是在混浊中,这都会将应用程序分散到不同的站点,然后必须相互通信并处理创建的任何新数据。随着时间的推移管理数据涉及选择处理一致性,可用性和分区容错,或简称CAP。
随着时间的推移,任何分布式数据存储必须保存和管理数据企业可以根据应用程序要求确定性能,数据一致性或可用性的优先级。企业可以选择通过采用CAP方法关注两个优化元素,第三个元素优先级较低。因此,这将导致应用程序性能,一致性和可用性的潜在权衡。但是,应该注意的是,仍然会提供类似一致性的区域,但不符合某些应用程序可能需要的性能水平。
已经为设计在云中运行的应用程序的架构师进一步开发了分布式计算方法。任何服务都必须使用相同的CAP方法,无论它是在内部私有云上运行还是在公共云服务上运行。数据库本身必须兼容并可与多个云计算服务一起使用,并以相同的方式在所有云计算服务上运行。但是,大多数公共云数据库服务都与云计算提供商的云平台相关联,或者只能在混合环境中运行。
在云中运行数据库需要事先考虑并解决这些问题。例如,当应用程序吞吐量和性能更重要时,可调整性。相反,对于需要实时数据一致性和特定交易订单的应用程序,其性能可能不如所需。同样,公司是否愿意为多云支持交易数据支持?在容器中部署应用程序可以为企业提供更大的灵活性和独立性,但它也必须与数据管理策略保持一致。如果不同时考虑这种方法,很难充分利用混浊的可能性。
多云和数据自治——开源角色
云采用是希望维护数据控制的公司的关键因素。根据Gartner的研究,估计有70%的公司希望采用这种方法。那么公司如何在数据方面获得与容器相同的独立性?
在过去十年中,开发了开源数据库以满足大规模应用程序的一些新要求。这些新数据库在云应用程序部署中非常流行。 Sumo Logic关于现代应用程序部署的报告显示,NoSQL数据库比传统的云计算关系数据库更受欢迎。开发这些数据库是为了存储和处理大量数据;每个数据库都有自己的方法和质量来帮助开发人员满足他们的需求。作为查看Cloudy和NoSQL选项的一部分,重要的是要强调所选的任何服务必须能够以完全分布的方式运行,而无需单个主节点。相反,部署中涉及的所有节点都应该能够执行指令,然后集群节点自己组织以创建新事务的完整记录。支持完全分布式计算对于使多云部署工作至关重要;如果没有这种独立性,应用程序将无法跨多个云服务运行并提供所需的可用性级别。通过保持这种独立性,即使服务从一个云服务迁移到另一个云服务,应用程序也可以继续运行。
在市场上潜在的产品中,Apache CassandraTM是目前唯一可以在真正的云端或混合云部署中运行的选项。 Cassandra主要用于独立运行多个位置和云服务,它可以自动在不同的数据中心和地理位置分布数据。
这种跨多个位置运行的能力不需要重写代码或链接到特定的云计算提供商,这应该有助于企业运行他们的应用程序并利用混乱的技术。但是,除此之外,还必须考虑支持和性能优化。虽然开源产品可能适用于非关键应用程序或测试,但生产部署可能需要额外的专业知识,操作简单性以及支持以扩展和满足当今客户的严格性能要求。
对于一定规模的公司,设计和运营改进方面的专业知识对于构建支持这些应用程序的框架至关重要。除此之外,您还需要查看实施安全性最佳实践,尤其是对于处理大量客户数据的新应用程序。虽然这些项目的开源版本提供了一些此功能,但查看具有企业级支持和服务的版本填补了生产应用程序中的空白。这些步骤共同确保这些新的任务关键型应用程序可以在多云部署中运行,以最佳方式运行并提供出色的客户体验。
将云计算与数据相结合
随着越来越多的公司转移部分或全部工作量,云计算将继续增长。云计算提供实验能力,成功和规模。但是,这种易于部署不应该随着时间的推移将应用程序锁定到方法中。相反,数据的所有权以及数据的处理,管理和存储方式应该是架构师的重要考虑因素。
为避免此问题,必须从一开始就将分布式数据支持设计到新的应用程序中。借助像Cassandra这样的开源平台,公司可以采用无云平台,而无需单一的云计算提供商。