近期自己写了一篇稿子,内容是关于使用云RDS服务与自建数据库方式的对比。文章刊载出来后,有些朋友问到我关于企业数据库是否上云?上云后使用自建还是云服务等问题。其实我本人对云数据库的经验并不丰富,也是刚刚转型投入。下面结合一段时间的观察,谈谈自己对这个问题的几点粗浅认识。
1. 云数据库与传统数据库的差异
下面我尝试从几个角度,去分析云数据库与传统数据库之间的差异。这也是为后面如何做选择,做一个铺垫。
1)核心功能
对于托管类数据库产品而言,其核心功能还是要跟官方产品走。当然,各个大厂都有着自己多年丰富的实践经验,并具备一定的内核研发能力。于是,往往针对原生产品做一些定制化的改造,进而提供与原生产品差异化的能力。改造方向上,往往倾向于下面几类:
针对上述定制化后产品,有时就成为某种“银弹”,对于企业客户很具吸引力;但事情也具有两面性,对于这些特殊之处的依赖,也会导致客户对产品的依赖。这也是某些客户犹豫之处。在我看来,这个问题的要点在于企业处于的发展阶段。不同阶段的企业,核心诉求不同,在此处的考虑角度也会不同。
例外:自研产品
与托管类产品不同,各大厂商也在不遗余力的发展自研产品。如果说前者是为了享受生态红利,尽快扩张;那么后者就是云厂商未来的立身之本。这类产品在选择上,则需要注意考量其“底蕴”,即是否经过了长期的考验,是否有完备的企业级服务能力。毕竟作为数据库作为基础类软件,不是短期一蹴而就而成的,是需要企业长期投入并不断锤炼。此外,还需要注重其兼容性,尽量减少对企业现状的冲击;并为可能的其他选择,做必要的铺垫。
2)外围功能
除了核心功能外,还有些非数据库核心能力,但对于企业使用必不可少的功能。例如:监控、备份恢复、优化、容灾等等。如果没有云的话,这些能力往往是需要企业花费精力去自建的。哪怕企业数据库规模不大、使用复杂度不高,使用开源数据库也能满足需求,但上述需求还是要满足的。于是,前两年平台热很火,很多企业都自建了自己的内部运维平台,构建上述能力。当然这种方式有利有弊。利之处在于,企业可以根据自身需求度身定制,满足个性化需求;弊之处在于,构建能力及花费资源长期维护。
3)云功能
如果说,上述功能企业还是可以较容易具备的,那么云功能则相对门槛有些高了。这里所说的”云功能”,是指例如弹性扩缩容等类。这类能力,往往需要依托于强大的底座能力,是需要较大的研发投入和长期积累才能具备。在某些特定的场合下,这一能力对企业很具吸引力,例如业务形态、幅度变化很大的企业客户。
4)生态功能
企业选择上云,往往不是仅依靠一两款产品,而更多是看中云端生态功能。对于企业来讲,如何通过云端打通技术瓶颈,快速具备业务能力成为核心。例如从数据埋点、数据捕捉、数据存储、数据计算到分析展示,如果全流程都可以在云端无缝集成,对于企业来说,是很具有吸引力的。
2. 如何看待企业上云成本问题
我想这是很多企业考虑上云,比较纠结的问题;然而从我的角度来看,这是最不成问题的问题。我们分析成本,可以从人力、财力、时间、风险四个维度分析其成本问题。
3. 上云选择中人的因素
4. 在做选择之前...
前面谈了很多,那么企业究竟该如何选择呢?本文不会给你答案,但简单罗列了些问题。希望企业可以在选择之前,对自身做个问卷调查,做好理性分析并指导自己的决定。下面以数据库为例,给出若干示例问题。