RightScale® Inc的解决方案架构师。云管理使组织能够轻松地部署和管理跨公共、 私人和混合云的业务关键型应用程序。RightScale提供了有效配置、 监视、 自动化和治理的">云计算基础架构和应用程序。
迁移到云的时候,产生焦虑是正常的。但是这是不应该的—IT产业已经对成功云部署所需的基本元素做了多年的实验:冗余、 可扩展性和自动化。这些想法都不一定是新的,但现在他们可以集体应用到新 Windows Azure 虚拟机 (作为一种服务的基础设施) ,比传统数据中心的方法实现地理分布、 高度冗余的体系结构花费更少的时间。对任何规模的公司这都是吸引人的建议,从2006年起,在RightScale我们帮助大小公司在云端部署应用程序。我们首创的云分类管理,提供一个在云环境中使组织能够部署和管理应用程序的平台,而且我们的客户已经在云端推出百万计的服务器。
RightScale对成为Windows Azure的战略合作伙伴感觉很自豪,作为一个介绍我们自己到Windows Azure社区的方法,我们想要分享一些从我们独特经历中来的最好的实践,使世界上最大的云部署更加强大。
冗余是王道
长久以来, 在系统部署中负载平衡web应用程序层和镜像的数据库是处理服务失效的常用方法 —云计算的优势是,地理位置分散的部署方式可以让更靠近客户端的服务器向客户端提供资源,同时也能提供超越数据中心边界的灾难恢复功能。当你设计系统冗余时,你需要考虑以下几点:
• 不要仅仅计划服务器冗余,如果你不能得到服务器正常运行时间的话是没用的——记住你的公共DNS基础结构也很重要。
• 对服务失效做计划并经常使用它。灾难恢复和故障切换测试是确保长期运行的关键。
• 想想自动故障转移的含义。对于一些系统,自动故障转移可能会导致数据的损坏——测试和评估你的故障转移计划不仅仅为了服务器的正常运行,而是为了保证服务正常运行和数据完整。
可扩展性打开新的大门
能够按照你的需求向上或向下优化你的长期总成本。当你的应用需要更多资源时,可以在数小时甚至数分钟内通过几台服务器从云中访问数以百计的服务器。当这种需求减少时,你可以很快的减少资源数量以便你可以节省闲置资源的费用。当你正在设计规模的时候:
• 记住分开部署来解决遇到的错误。
• 评估数据在不同区域之间转移的成本。
• 当你需要的资源增加或减少时,考虑性能指标和系统触发器将显示出来的东西。
自动化是一切
所有很简单的任务都要你自己做的话——时间将会被浪费掉。构建自动化进程可以使你的技术团队更少的关注生产支持项目,更多的关注更新、生产、功能和解决方案,这样将会推动你的公司的发展。如果你想使用快速的和按需的向上/下扩展,自动化是保证你能够启动一台服务器并且最小化其从启动到正常工作状态所耗时间的关键所在。对于web服务器,这可以包含从管理网站代码的安装到连接负载平衡设置的一切。对于镜像数据库服务器,你可以很容易的扩大和缩小,但自动重新初始化镜像会话的进程和生产新的二级节点将使数据层的扩大缩小更容易。有些事情需要考虑:
• 资源分配和释放的自动化进程——这两组任务都是要注重细节,需要100%确保应用程序的准确和运行时间。
• 学习PowerShell,了解Cmdlets可供你使用的产品。了解MSDeploy 和 MSBuild。利用现有的工具来减少部署的劳动。
• 将此时间用来改进你的进程。找出你正在使用产品的最佳做法并努力在你的新的自动化进程中实施。
单独采取这些方法并不新颖。但通过正确执行,你可以使你的团队不用把重点放在物理硬件上,代替专注于高可用性解决方案的做法,尽管你的系统(或你的团队)很小。大型和小型的部署都得益于冗余,可伸缩和自动化。你的进程越完善,你的团队在短期和长期内的成长就越好。如果你想要尝试这些Windows Azure上的基础技术,RightScale
free edition是一个开始的最快和最简单的方法。