云计算势头正盛,但是你评估过,将当前应用程序迁移到云的优势和挑战吗?

2017年是云计算元年,实际上2016年就是,而且很有可能到2018年还是。云计算发展迅猛毫无疑问,当前无论大型企业还是小型企业都在进行大规模投资,逐渐把它们的应用程序和IT基础设施移到云端。但是随着云计算的带来,IT管理员和架构团队需要面临很多新的挑战。归结起来主要是两大类:

  • 如何最大化云在成本节约和效率提升方面的好处?
  • 如何重新设计当前的应用程序,使其能充分利用云的灵活性和敏捷性?换句话说,企业如何像Netflix、Dropbox、Uber这些公司一样,打造出属于自己的分布式、云原生、云规模级别的应用。

云的主要卖点之一是存储、计算和作为基本产品的网络。给每项服务添加弹性扩展的能力,好处显而易见,这是全世界都在向云端迁移的原因。当然,坏消息也有,比如由于分布式架构的存在,使得云应用和第三方平台的应用跨数据库集群做备份和保护时性能表现不够理想。

云数据库供应商更多聚焦解决数据库本身的问题,有时候会忽略诗句保护的难题,比如云规模级别的备份和恢复。要知道,生产系统任何时候都不能被停机或者降速,备份时间也一样。

不过,这并非没有解决方法。基于我们的经验,以及和客户的交流,我们已经找到了成功的办法,以下三点是关键。

1

可用性

云存储比如亚马逊S3的可用性很高,同一副本会存在不同的区域,你无需担心它的可用性。但你真正需要考虑的是,是否过于依赖存储备份?

换句话说,“逻辑备份是不是能满足要求”?如果你是做零售的,举个电子商务应用的例子,你有很多需要关注,产品目录、订阅用户、客户等。考虑到可用性,你需要备份这些数据。要知道逻辑备份能让分布式应用的开发变得更简单。

最近的 AWS宕机,使人们意识到了应用可用性的重要性。这其中需要考虑能否适应多云架构,从而避免这些中断。

2

分布式状态

除了弹性和灵活性,云计算的另一优势是数据分散而非集中。这意味着,云平台上可以同时进行多种服务,比如一个类似Netflix应用的SSO,它由Okta进行管理,而你的文件系统由于另一个不同的微服务“media”管理。

因此,云平台中不同服务的数据分别管理,这些数据可能存储在不同的区域,比如,Apache Cassandra, or Amazon Aurora。在这个新的世界,通过所有不相干的微服务,使你的所有应用程序的数据保持连贯的状态,变得越来越重要。

3

数据的灵敏度

云计算使用便捷,当数据被记录在原始数据库之后,使用云计算可以在几分钟或几秒钟之内对它们进行分析。

云能够提供7×24小时的可用性,但如果你的应用程序需要在几分钟之内,被还原到原先的逻辑一致的状态,不能过于依赖分散的数据自己恢复,而是需要一套数据管理解决方案。在这个方案里,逻辑状态是能持续维持的。可供代替的选择是依靠DevOps数小时的工作去恢复你的应用程序。

除了快速分析和快速恢复,还需要考虑数据流动性,以便它可以在不同的数据库之间进行流动,并且可以在不同的应用程序之间无缝交换。

当企业考虑云计算时,也应该同时考虑应用和数据,它们是一个整体。