当前位置: 首页 > 编程日记 > 正文

如果你的云服务商倒闭该怎么办?

如果你的云服务商倒闭或暂时中断服务,以下4个步骤能够帮助你的企业把损失减少到最低。

2009年2月,云服务商Coghead在一封写给客户的电子邮件中宣布该公司"由于受到经济挑战的影响",将立即终止基于云的开发平台服务。随后,ERP巨头SAP收购了Coghead的知识产权,但停止继续支持这种开发平台,并让原有的Coghead客户在2009年4月30号之前取回他们的应用和数据。Hekademia Consulting公司的创建人兼负责人Shockey花了差不多4个多月才把他的CRM应用从Coghead移植到了Intuit的QuickBase数据库中。这件事足以警示人们,一家云服务商可以倒闭得有多快。

2008年8月,在线存储厂商 Linkup(以前叫MediaMax)公司的倒闭引发了网上一场谁该对丢失客户数据负责的激烈辩论。2009年3月,惠普关闭了其Upline存储服务。这类服务的终止让人们开始疑虑,是否能信任基于云的存储提供商,或任何基于云的服务提供商。

不管你打算是将数据,还是关键应用,或者你整个的应用开发工作都托付给云,你都可以采取以下4个步骤来确保云服务商的死亡不会毁掉你的企业。

第1步:审慎选择云服务商

第一种风险,也是最显而易见的风险,就是云服务商发生财务问题。在与云服务提供商签约前,你需要开展你在与任何厂商签约时所进行的"健康"检查,例如审查他们的收入、赢利能力、手头的现金和客户数量。

此外,一些分析师建议,将业务分散到多个云服务提供商以分摊风险。这也更容易迫使服务商降价,虽然由于需要管理多家厂商而导致你的总体成本节省不会那么高。

第2步:备份你的云数据

在云计算中,服务商将你的重要数据、服务器,甚至整个应用保持在你无法直接访问的位置上,通常是虚拟化或专有环境中。你惟一访问它们的途径是,通过厂商自己的下载工具或API。因此,你必须确保你备份了你的关键资产,选择备份在本地或备份到另一家云服务商,你必须确保可以在任何时候访问你的数据、虚拟机、应用等。

许多云服务商含蓄地承认,他们的服务可能会失败,因此他们支持客户很容易地定期备份数据。例如,Intuit公司的QuickBase Desktop服务,允许客户随时可将数据由QuickBase备份到客户本地的Accesss数据库中。

IBM在它的离线备份服务中提供SLA(服务水平协议)保证,其中规定了可供客户随时恢复数据的有效、可恢复的拷贝数量。Salesforce.com支持数据复制和每周数据输出服务,其Web服务API也使客户可以自行编写数据输出/输入程序。

此外,有些云服务提供商采用专有数据格式来保存客户数据,以便提高性能或节省硬盘空间。因此,一定要询问你的云服务提供商,是否以标准、通用的格式保存你的数据。否则,如果他们倒闭了,你即使取回数据,你的应用程序也有可能读不了。例如,电子邮件托管服务LiveOffice将数据保存为可供 Exchange和其他许多邮件应用程序都能使用的.EML文件。

第3步:保持随时可供使用的存储空间

另一种特别的云计算是通过Web从Amazon Elastic Compute Cloud(EC2)服务这样的提供商那里购买"裸"服务器的使用权。

一旦某家云服务商倒闭的话,如果拥有可供随时使用的额外存储空间(不论这存储空间是你自己,还是来自另一家云提供商),就可以减少应用的停机时间。

随着虚拟化越来越普及,把服务器由一家倒闭的云服务商转移到一个新平台上将变得比较容易,因为虚拟化的服务器是以能够在物理服务器之间移动的文件形式存在的。相比之下,重新恢复原先利用云厂商的API或开发平台所编写的应用程序可能更具挑战性。

第4步:为应用可移植性做准备

云中最困难的挑战是,云服务商倒闭时移植你的基于云的应用。把一个应用移植到一个新的云平台,可能需要访问应用的运行时间库、应用的业务逻辑、支持应用的数据库,以及你的用户已经输入到应用中的数据。云服务商使用的平台越专有,云服务商完成的应用管理越多,移植应用的难度就越大。

例如,Salesforce.com宣称它使客户摆脱了购买、管理和把CRM软件安装在他们自己硬件平台上的麻烦。一旦客户签约,他们可以通过任何安装了Web浏览器的计算机访问Salesforce.com网站,以及成百上千种在Apex开发平台上利用Salesforce的API所编写的应用程序。

但是,这种高度专有的模型意味着客户只能在Salesforce平台上运行Salesforce.com应用,包括他们利用那些应用程序在网页上所做的任何定制。

虽然有些工具(例如Force的Toolkit)让开发人员可以利用Force的API创建离线运行的Web应用。但是,虽然用户可以离线修改数据,但大多数应用在数据库、业务逻辑和工作流功能上必须定期与Salesforce网站保持同步。因此,你仍依赖Salesforce.com。

独立技术顾问Ben Bloch指出,由于Salesforce的Apex类似于Java,还是有"把应用移植到另一平台"的机会。重用一些逻辑、用户界面和其他元素也许是可能的,但开发人员仍必须重做在Salesforce平台上已经做过的很多工作。例如,要重新构建应用所需要的数据,而且还包括设计和部署数据,以及其他描述应用与数据关系的模型。

Salesforce的平台研究主管Peter Coffee认为,这种移植的工作量没有多大。他说,Apex开发语言在设计上与Java相似,因此翻译用Apex编写的组件和使用该公司的 Visualforce 用户界面构建器来连接新目标平台,仅需占用项目成本的很小一部分。他表示,更多的工作量是在编写执行应用的新代码方面。

另一项挑战是恢复包含在应用内的业务逻辑和用户工作流。Hekademia Consulting公司的Shockey表示,他在最近的开发工作中大量使用QuickBase公式域来创建和更新流程数据。"这样,如果我们需要输出数据,我至少保证在我的数据模型内拥有这些流程信息。但是,由于实际的业务逻辑嵌入数据库的在域公式内,因此,如果我们再一次改变系统,比如放弃 QuickBase,我仍可能失去这种逻辑"。他说。

当然,使用开放Web标准将能使 IT部门轻松地将应用从一个云平台转移到另一个平台,或自己的数据中心。有一种云平台证明了这是行之有效的。SugarCRM的产品营销主管Martin Schneider表示,由于SugarCRM的开源CRM应用基于PHP脚本语言和MySQL开源数据库等开放标准,应用迁移更加容易。用户只需为SugarCRM平台上的数据、以及定制或应用添加件拍摄快照,把它们保存在硬盘上,然后再把它们上载到选择的服务器中即可。

不管你选择什么平台,Shockey都建议,开发人员应当根据服务商承诺的当自己倒闭时提前发出通知的时间量,来制定移植自家应用的应变计划。在打算采用一种云开发平台前,Bloch建议,用户不仅要向云服务商询问它的业务模型的优势和财务状况,还要询问其发布API新版本的流程,以及会向开发人员提供哪些技术与支持。
确定你的风险承受能力

一些客户,尤其是那些因Linkup这类倒闭的服务商而丢失数据的客户,发誓再也不相信云了。对于另一些客户,这让他们更加慎重地权衡云服务带来的好处(包括前期的低成本和易于部署)与风险(厂商锁定问题)。

软件开发商Plan2win公司的CEO Steven Harper认为,使用云平台的风险并不比编写使用微软Windows API的应用程序更大。他指出,确保他的应用程序运行在新版Windows上变得非常麻烦,而且支持成本非常高。

因此,他现在编写用于Salesforce平台的应用程序,他不相信该公司会抛弃它的开发人员。他说:"如果这样的话,将出现负面的新闻和来自客户的反应,我不相信有人会那么愚蠢。"

但是,的确有云服务商倒闭了,不管他们的意图如何。然而,在Hekademia Consulting公司,Shockey充分利用了Coghead的死亡,利用移植过程将更多的功能整合到更少的应用中,他甚至添加了Coghead中原来没有的像日历这样的功能。此外,他表示,QuickBase比Coghead的价格还便宜一些。

在数据、应用和其他云服务标准变得通用之前,为了防范云服务商的倒闭或暂停运维,最好的办法是关注你的云服务商的资产负债表,并保持你的本地备份。Shockey说:"我仍认为SaaS(软件即服务)是发展方向。我们目前只是遭遇到了一点小的挫折。"

相关文章:

Ubuntu16.04桌面系统如何配置和启动wireshark

上一篇介绍了在Ubuntu系统中安装wireshark 本篇介绍在Ubuntu系统中配置和启动wireshark; 安装好后,直接在终端运行$ wireshark。出于安全方面的考虑,普通用户不能够打开网卡设备进行抓包,Wireshark不建议用户通过sudo在root权限下…

[导入]笔记本”终极“散热方案

笔记本老了,三年了,电池不太行了,散热量也大。解决电池问题首先是能耗的问题,我把能够卸下来的光驱和读卡器都拆了,这下留了一个大长孔,很好的是这样散热问题也得到了解决,光驱的大孔和读卡器那…

Android中Broadcast

前一段时间,听说过android的广播,这段时间经过研究终于可以写出一个Demo 首先新建一个android工程项目 在BroadCastActivity.java中 package com.mypack;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import…

java web三大组件之filter过滤器

过滤器是java web中相当重要的组成成分,是JavaWeb三大组件之一,它与Servlet很相似。不过过滤器有以下三条特性: 过滤器是用来拦截请求的,而不是处理请求的。当用户请求某个Servlet时,会先执行部署在这个请求上的Filte…

Permission denied: make_sock: could not bind to address [::]:81 Apache 虚拟主机

想建立一个测试用的虚拟主机,遇到了这个问题: [rootlocalhost html]# service httpd start Starting httpd: httpd: Could not reliably determine the servers fully qualified domain name, using localhost.termwikidev for ServerName (13)Permissio…

E: GPG 错误:http://developer.download.nvidia.com Release: 下列签名无效: NODATA 1 NODATA 2...

参考链接:https://github.com/NVIDIA/nvidia-docker/issues/571 在安装CUDA的时候出现的问题,根本原因是各位都懂的地区局域网特色,我试了很多方法,结果还是Github上一个老铁提出的一个简单方法:修改/etc/apt/sources.…

spring 框架学习(一)

1、spring简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring的一个最大的目的就是使JAVA EE开发…

Styling with the DataGridColumnStyle

详细讲解了如何自定义DataGrid控件,将多种控件(如:进度条、按钮、下拉框)绑定到数据列中 参考MSDNPart 1:http://msdn.microsoft.com/en-us/library/ms996449Part 2:http://msdn.microsoft.com/en-us/libra…

Excel常用公式记录

1.生成指定时间段内的日期: TEXT("2019/8/9 00:00"RAND()*54,"yyyy/mm/hh HH:MM") 注意:RAND()*54,54指从2019/8/9日起的54天,有时会有2019/8/00的错误格式 2.生成类似于“第一级”,“第二级”类似…

Delphi XE2 发布了,期待了很久的东西,开始学习中。

这个博客将记录我学习DELPHI XE2及开发相关应用程序的点点滴滴,因此该博客内容全部原创,我也不会转载和抄录别人的代码。为了让大家和我一同进步,所有示例都带源代码,你可以随时下载后进行调试运行。 Delphi--一个伴随我12年的开发…

基于libmad库的MP3解码简析

基于libmad库的MP3解码简析 MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。LIBMAD 提供 24-bit 的 PCM 输出,完全是定点计算&#…

oracle数据库增加新字段

--Add/modify columns alter table 表名 add 字段名 类型; --------------------------------------------------------------------- --Add comments to the columns comment on column CE00.eec000 is xxx;转载于:https://www.cnblogs.com/yby120/p/9138801.html

list @size 验证_第33期:上海自来水来自海上,回文字符串验证!

我准备了 1000 本电子书和计算机各领域高清思维导图 100 张,关注后回复【资源】,即可获取!更可回复【内推】加入 BAT 内推群!01、题目示例见微知著,发现一组数据很有趣,分享给大家。leetcode 第一题通过次数…

安装apache的时候80端口被PID为4的系统进程所占用

由于工作中需要直接从MySQL后台读取数据,所以安装了PHPnow,装的过程中提示Apache安装失败,80端口被占用。 在cmd中输入netstat –ano命令,发现80端口被一个PID为4的服务所占用,打开任务管理器,发现PID为4的…

PHP根据时间戳返回星期几

为什么80%的码农都做不了架构师&#xff1f;>>> <?php /*** 根据时间戳返回星期几* param string $time 时间戳* return 星期几*/ function weekday($time) {if(is_numeric($time)){$weekday array(星期日,星期一,星期二,星期三,星期四,星期五,星期六);return…

FastCGI与php-fpm

FastCGI&#xff1a;为了兼顾IIS下PHP的效率和安全&#xff0c;微软给出了FastCGI的解决方案。同ISAPI原理有些类似&#xff0c;就是减少CGI初始化等前置操作的消耗。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行…

postmaster.c 中的 ListenAddresses

在 postmaster.c 中看到这种代码&#xff0c;从Java程序员的角度&#xff0c;看起来是很不爽的: char *ListenAddresses; ...if (ListenAddresses){ char *rawstring; List *elemlist; ListCell *l; ... 到底何…

PHPCMS V9 杂记一

PHPCMS V9加载顺序 PHPCMS V9和V8相比&#xff0c;总体思路方向是一样&#xff0c;不同的是V9把OOP和MVC结合得更加完美。 打开根目录下面的index.php 三行代码&#xff0c;相比V8的 index.php来说 更加清楚&#xff0c; phpcms下面的base.php文件&#xff0c;是一个基础类&…

esp32 camera_利用Phyphox和ESP32蓝牙制作欧姆表测电阻

近日&#xff0c;微主在利用Phyphox和ESP32蓝牙研究热敏电阻的阻值与温度的关系时&#xff0c;需要绘制热敏电阻阻值与时间的关系图像&#xff0c;通过用手捏住或者放开热敏电阻&#xff0c;观察电阻与时间关系图像的变化情况&#xff0c;进而了解温度对热敏电阻的影响。将热敏…

linux tomcat集群配置笔记

趁最后一天假期,配置linux环境下的apache集群,巩固下,免的以后用到又忘记,网上东拼息凑,环境弄好后,整到blog,以便以后用到。 参考来源&#xff1a;http://www.linuxidc.com/Linux/2011-03/32859.htm 我用的版本&#xff1a; httpd-2.2.21.tar.gz apache-tomcat-6.0.32.tar.gz …

spring -- 自定义注解

我们直接通过代码解释自定义注解的使用及各个含义 package com.sysware.cloud.dts.annotation;import java.lang.annotation.*;Retention(RetentionPolicy.RUNTIME) Target({ElementType.METHOD}) Inherited Documented public interface DtTransactional {/** Whether need to…

angular 字符串转换成数字_蓝盟IT外包,Python算法的一般技术和嵌入式库|python|字符串|key|算法|调用...

近年来&#xff0c;随着python着火&#xff0c;python也开始受到很多程序员的喜爱。 很多程序员已经开始使用python作为第一语言。最近在python上刷问题时&#xff0c;我想去找python的刷问题常用库api和刷问题技术。 和c的STL库文档一样&#xff0c;但很遗憾没有找到。 因此&a…

Mapping Persistence Classes 笔记2---ValueType的形式和映射

2010年5月17日 简介&#xff1a; 前面的笔记着重讲解了实体类以及其class-mapping options&#xff0c;本章笔记将关注值类型的形式以及其OR映射选项。 值类型一般可分为两类&#xff1a;JDK类型和用户自定义类型。本章首先从实体类的使用JDK类型的properties开始&#xff0c;讲…

安装wampserver及配置php,phpmyadmin遇到的问题及解决方法

wampserver 安装好以后&#xff0c;打开&#xff0c;发现appache无法启动&#xff0c;查了一下&#xff0c;发现是前安装过iis&#xff0c;iis使用80端口&#xff0c;打开httpd.conf&#xff0c;把里面所有的80都改成了81&#xff0c;然后appache就可以正常启动了。 再配置wamp…

as一种模拟输入效果

这个小程序展现的是一种模拟输入的效果&#xff0c;比如你在键盘上随便输入什么&#xff0c;在屏幕上就会依次的显示“这句话不是我输入的&#xff0c;呵呵”。比较有意思。 var s:Sprite new Sprite; var t:TextField new TextField(); var i:Number0; var myText:String&qu…

signature验证/salt验证/token验证的作用

1.salt验证: salt是随机生成的一串字符,salt验证的作用是将生成的salt与加密的密码密文拼接后再次加密存储 这样可以是存储在数据库中的密码更加安全 2.signature验证: I、将token, timestamp, nonce, encrypt的内容按照大小字母顺序排列 II、按顺序将列表中排序号的内容拼接成…

算法导论课后习题解析 第四章 上

4.1-1 返回只包含绝对值最小的元素的子数组。 4.1-2 Maximun-Subarray(A)max -infinityfor i 1 to A.lengthsum 0for j i to A.lengthsum sum A[i]if sum > maxmax sumlow ihigh jreturn (low, high, max)每次内循环都利用上次累加的结果&#xff0c;避免重复运算…

win10商店打不开_科技资讯:Win10系统电脑的应用商店老是打不开还闪退怎么办

最近关于Win10系统电脑的应用商店老是打不开还闪退怎么办在网上的热度是非常高的&#xff0c;很多网友们也都是非常关注Win10系统电脑的应用商店老是打不开还闪退怎么办这个事情&#xff0c;为此小编也是在网上进行了一番搜索查阅相关的信息&#xff0c;那么如果说有感兴趣的网…

[原]tornado源码分析系列(三)[网络层 IOLoop类]

引言&#xff1a;由于都是在工作当中抽出时间看源代码&#xff0c;所以更新速度比较慢&#xff0c;但是还是希望通过对好的源码的分析和探讨&#xff0c;大家相互学习&#xff0c;发现不好的地方共同讨论。 上次讲了IOLoop中的几个重要的方法&#xff0c;inistance() 和 add_ha…

参悟JavaScript

引子 编程世界里只存在两种基本元素&#xff0c;一个是数据&#xff0c;一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静的&#xff0c;总想保持自己固有的本色&#xff1b;而代码却天生活泼&#xff0c;总想改变这个世…