快速部署是保障成功的 DevOps 的关键要素。虹科Redis Enterprise 提供了一种快速的数据库。
DevOps 团队面临的挑战
1.提高应用程序处理速度,赢得商业竞争
许多企业中,DevOps 团队(DevOps 是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合)正在引领企业向数字转型的浪潮。这通常会从应用程序和基础设施的现代化建设开始,他们旨在释放数字经济的潜力,同时也要应对只需点击几下就能得到的竞争。这种竞争中,即便应用程序性能滞后只有几秒钟,也会对客户体验产生重大影响,进而影响企业的成功。例如,如果 Gap 应用程序不能即时加载,或不能在几秒钟内更新库存,许多购物者会毫不犹豫地转向其他地方购买卡其裤。
总之,应用程序的数据处理速度必须足够快,以满足消费者对实时性能的需求。
2.NoSQL数据库应运而生
通常而言,传统的关系型数据库,其速度太慢,无法满足当今网络规模的需求。关系型数据库最初是为单个节点上的纵向扩展而设计的。相比之下,现代分布式NoSQL数据库从诞生之初就被设计为支持多节点架构和横向扩展的模式,这一点使企业在数据库方面的调整可以更为灵活。
那么DevOps 对数据库有哪些要求呢?
DevOps 团队对数据库的关键要求 DevOps 是一种企业的技术愿景,它整合了传统上各自为政的开发、运营和质量保证部门,DevOps 强调各部门之间的沟通与合作,DevOps 团队会专注于自动化、集成开发、质量测试以及应用程序和服务的开发模式,以求能缩短产品上市时间。
DevOps 团队致力于像部署和管理应用程序代码一样去部署和管理数据库。团队会将数据库的变更也被视为另一种形式的代码部署。因此,数据库的变更也需要采用与应用程序代码相同的无缝、稳健且可靠的方式进行管理、测试、自动化与改进。数据库在当今已经成为持续集成/持续部署(CI/CD)工作流的一部分。如果 DevOps 的工作流中不包括数据库,它就会成为减缓新功能交付的瓶颈。
实际上,DevOps 团队不仅要在开发工作流中集成数据库,还要在整个发布工作流中集成数据库。
具有前瞻性思维的 DevOps 团队在设计应用程序(包括数据层)时,力求满足以下几个关键要求:
l 操作灵活性(可以满足云部署、内部部署或是混合部署)
l 操作简单
l 真正的高可用性和弹性
l 无限的可扩展性和高性能
l 与平台无关
l 全球部署,且具备像本地一样低的写入和读取延迟
l 更低的总拥有成本(TCO)
Redis Enterprise契合DevOps 团队的要求 Redis 因其易于实施和超高性能等优点,已成为一种流行的数据库选择。由于Redis 的低延迟(小于1毫秒)令人印象深刻,大多数实时数据最终都会交付给 Redis。作为性能最高的 NoSQL 数据库,Redis 的吞吐量是其他 NoSQL 数据库的8倍,延迟时间则低80%。Redis 在单个性能适中的云实例上运行时,可以亚毫秒级的延迟达到每秒150万次操作的基准。
Redis 非常适合 DevOps 的模式,它易于部署,对 Redis 核心和辅助技术均进行了严格的单元测试和功能测试,而且易于通过 Docker、Ansible 和 Puppet 等工具实现自动化。Redis Enterprise 则是一款企业级分布式内存 NoSQL 数据库服务器,与开源Redis完全兼容。Redis Enterprise 扩展了开源 Redis,提供稳定的高性能、零停机时间、线性扩展和高可用性等特性。它的独特优势,可以帮助 DevOps 团队以更少的管理工作量和更低的开销来实现团队的目标。
DevOps 团队为何选择 Redis Enterprise?
- 五个九(99.999%)的正常运行时间
高可用性是大多数 DevOps 团队的圣杯,他们往往花费大量的时间和金钱来保证应用程序的运行。但是,如果不能及时从数据库故障中恢复,可能会导致数据丢失并损失数百万次操作。
Redis Enterprise 提供不间断的高可用性,对 DevOps 团队完全透明,且具备无磁盘复制、即时故障检测和跨机架、跨区域和跨地域的个位数秒级故障转移能力。
即使在集群变更操作(如向集群添加新节点、升级软件、重新平衡和重新分片数据)期间,它也能提供高吞吐量和低延迟的保障。
在全球分布式数据库的 Active-Active 部署中,这种独特的高可用性技术组合可确保四个九 (99.99%) 甚至五个九 (99.999%) 的正常运行时间。Active-Active 地理分布允许在多个地理位置同时对同一数据集进行读写操作。Redis Enterprise 采用经过学术验证的无冲突复制数据类型(CRDT)技术,可自动解决写入冲突问题,而无需变更应用程序使用 Redis 的方式。Redis Enterprise还为地理分布式应用程序提供了防灾架构,同时还提供了如同部署在本地一样的低延迟。
2. 灵活的部署选项
在当前的技术环境下,有相当之多可供选择的平台。要花时间研究每一个选项几乎是不可能的,因此企业通常会坚持使用他们熟悉的平台,即使这些平台并不一定是完成任务的工具。要成功实施 DevOps,就必须根据企业环境的独特背景和流程的性质来选择平台。这正是 Redis Enterprise 对 DevOps 采取平台无关立场的原因所在。
(1)Redis Enterprise 软件可在亚马逊的AWS市场、谷歌云市场和微软的Azure市场上购买,只需点击一下即可轻松部署。它可以部署在任何支持 Linux/RHEL/CentOS 操作系统的虚拟机/裸金属服务器上。Redis Enterprise软件与专为Redis Enterprise设计的的Redis Enterprise Operator相结合,旨在提供企业级功能性。Redis Enterprise Kubernetes Operator可在多个Kubernetes平台上部署,包括 RedHat OpenShift、Google Kubernetes Engine(GKE)、VMware Tanzu Kubernetes Grid(前身为Enterprise PKS)以及upstream Kubernetes。
(2)Redis Enterprise 提供了一个与VMware Tanzu应用服务紧密集成的解决方案。应用开发人员可以本机使用面向 VMware Tanzu 的 Redis Enterprise 服务代理来启动和管理其数据库/缓存系统的生命周期,而操作人员则可以使用各种自动化工具来管理其 Redis 部署,这些工具具有增强的监控功能、故障恢复、计划间无缝迁移和无缝软件升级功能。
(3)Redis Enterprise 还为 CI/CD 流程带来更多功能和灵活性的绝佳方式。Redis 可以帮助分布式开发团队安全地构建并发布新功能,并在需要时,可以以最小的影响将其回滚。
3.几乎无限的线性可扩展性和高性能
许多 DevOps 失败的原因是底层基础架构无法扩展以满足需求,导致应用程序崩溃。这的确是个问题,因为扩展数据库解决方案需要大量额外的基础设施投资,因为它们会在扩展环境中累积为非线性的开销。
Redis Enterprise专为DevOps环境而设计,可帮助企业快速向数百万用户部署动态应用程序。
4.全球分布部署(Active-Active 地理分布)
DevOps 团队部署的应用程序越来越多地使用微服务构建。这些应用程序利用大量不同的组件,采用不同的基础设施方法,托管在各种不同的地点,交由各地的用户使用,并分布在许多不同的平台上。
为了支持分布式应用程序所需的响应速度和可扩展性,DevOps 团队正越来越多地寻求创新的数据库技术,如地理上对数据和处理进行分布式部署,以提供高度交互、可扩展和低延迟的地理分布式应用程序。许多人选择 Redis Enterprise 作为现代数据库,是因为它可以在全球范围内部署,却能提供如同本地部署一样低的写入和读取的延迟,同时,Redis Enterprise还简化了一致性冲突的解决,实现了数据集的最终一致性。
无论您的应用程序是部署在环境中包含了内部、混合云或多个云之上运行的应用程序,还是在所有三种云的混合云上运行的应用程序,Redis Enterprise 的 Active-Active 地理分布技术都能达成促进高可用性和低延迟的目标。凭借基于 CRDTs 的内置主动式数据库技术,Redis Enterprise 可帮助 DevOps 团队在分布式数据库上实现高性能。这大大减少了构建现代应用程序的开发工作量,即使这些应用程序需要跨机架、云或区域,Redis Enterprise 也能提供像本地一样低的延迟。
5.多租户架构
大多数开发人员选择使用 Redis Enterprise,因为它提供软件级的多租户支持。Redis Enterprise 软件的单个部署(通常作为节点集群部署)即可为数百个租户提供服务。每个租户都有自己的 Redis 数据库端点,与其他 Redis 数据库完全隔离。
如上图所示,一个节点上有多个数据库,如用于存储 JSON 数据的 DB1、用于搜索和过滤的 DB2、用于存储和分析时间序列的 DB3 等。
标签:部署,数据库,Redis,DevOps,应用程序,Enterprise From: https://blog.51cto.com/u_15881886/6957618