我们大多数人已经从各自的个人经验中得知,从一个服务厂商变为另一个心得厂商将是一大挑战。例如,你可以回想一下过去在改变你的电信公司、互联网厂商或移动电话服务厂商时所遭遇的糟糕经历。终止与某一服务厂商关系的过程总比你与他们进行的其它互动要更为艰难,这是商业社会的本性使然。
让我们来正视这个问题,通常来说服务厂商并不会为把手中的业务转给竞争对手而提供一个无缝的过程。但是,客户们可能并没有意识到,缺乏自律意识的服务厂商可能会为保留客户而有意识地设置障碍,而事实上他们也正是这么做的。也就是说,通过在设计中增加客户改变厂商的难度而变相提升用户对所使用服务或产品的忠诚度。
如同在其它服务厂商关系中发生的故事一样,相同的一幕也在云计算领域中上演:云计算服务厂商,尤其是那些缺乏自律意识的厂商们往往会为摆脱他们平台服务的用户设置种种不便和障碍。其主要方法之一就是通过安全控制。安全控制的目的是为了限制对数据的访问;这一事实可使服务厂商更易于以“安全要求”为借口,从而不能/不愿意提供关键数据以实现厂商变更的平稳过渡。
这里有必要针对你的安全控制架构提出若干问题,这样就可以使用户们预防云计算厂商锁定。下面是问题和你在购买服务应坚持的策略,但不涉及受支配的数据。
谁拥有你的数据?
一个重要的问题就是你所发送至服务厂商数据的所有权属于谁。除非在合同中就已明确数据的所有权属于你,否则“谁拥有它”这个问题的答案可能比你想象中要更为复杂。信誉良好的服务厂商无需询问就能识别出数据是否属于你,但并不是每一个服务厂商都拥有相同的良好信誉。合同中明确数据所有权将在你的整个组织和合同寿命周期内生效。
你的服务厂商是否会归还你的数据?
假设你保留的数据的所有权,那么这个问题就变成了你的服务厂商将如何以及以何种形式归还数据。在总结之前的经验之后你会发现,他们归还数据的格式往往是你无法轻松使用的,例如使用备份磁带,这种格式对于不拥有特殊工具的你是毫无用处的。因此,在合同洽谈阶段你就应当要求服务厂商以你所指定的数据格式向你提供数据,理想情况下无论何时你需要他们就应当能够提供。应事先进行测试以确保厂商能够满足你的要求,以避免在过渡期间发生与之相关的问题。
你是否能够访问数据?
了解应用于数据的任何安全控制(如加密)都可以防止对数据的物理访问,甚至在你物理上拥有数据的情况下亦是如此。例如,如果数据是加密的,那么你是否可以访问获取解密密钥?再者,测试过程可确保你实际上能够得到所有数据元素。因为1)这些并不在原始输出中立即显现,2)如果加密是在应用程序层完成的,那么可能需要麻烦服务厂商提供密钥,所以请特别注意对特定元素应用列级加密的数据库结构。在厂商终止运行时,它对第三方代管密钥也是有用的;这样,在发生问题后,你就不必依赖那些新失业无心工作人员而步其后尘。
资源访问如何?
在基础设施即服务(IaaS)的情况下,当问题中的数据包括虚拟镜像时,请确保你有能力获得对应用程序和底层操作系统的管理员级访问权限。当你在进行物理访问过程中不知道管理员密码时,获取访问权限就显得极具价值。因此如果你的厂商返回虚拟镜像,那么请确保你能够访问他们所运行服务的操作系统层和应用程序层。
你是否能够访问用户数据?
请记住:你可能需要除原始数据以外的其他辅助信息以便于你的服务能够不间断地继续下去。例如,如果你的服务厂商使用包括用户信息(例如他们的ID、角色、权利以及身份验证信息)在内的数据存储,你可能也需要。请确保你能够得到数据以及配套用户信息,因为这些数据可能与应用程序数据是分开存储。
显而易见,服务厂商并不愿意提供简便的平台转移方法。但是,应当注意的是,服务厂商可能会限制你重新选择新的厂商,或者至少为变更厂商设置障碍,测试支持一个干净转移的过程是在发展道路上避免云厂商锁定的一个可靠战略。