基于开源软件在Azure平台建立大规模系统的最佳实践

前言

Microsoft Azure 是微软公有云的唯一解决方案。借助这一平台,用户可以以多种方式部署和发布自己的应用。 这是一个开放的平台,除了对于Windows服务器和SQL Server的支持,Microsoft Azure也支持了大量主流开源软件和框架,包括Linux, Tomcat, Java等。如何将一个基于开源软件的系统迁移到Microsoft Azure平台,并充分发挥云在弹性、敏捷性等方面的优势? 本文和读者分享一些最佳实践经验,并在文末以中国网络电视台的系统迁移作为参考案例。

阅读本文之前,希望读者对Microsoft Azure有所了解。读者可以登录http://www.windowsazure.cn 得到关于这一平台的各项信息。本文提到了如下概念:

- 基础设施即服务(IaaS: Infrastructure as a Service): 消费者通过互联网获得计算机基础设施类的资源,包括计算资源(虚机),存储资源和网络资源等。

- 平台即服务(PaaS: Platform as a Service): 云平台的服务提供商对资源在IaaS的基础上做进一步封装,将IaaS层对用户透明。消费者借助开发工具和一系列开发语言,在云平台上构建自己的应用,而无需管理和维护虚机、存储、网络等基础设施。

在Azure中使用Linux虚拟服务器:

Azure平台目前支持三种类型的Linux操作系统: UBUNTU, CENTOS和SUSE。他们的版本分别是:

- Ubuntu Server 12.04 LTS

- Ubuntu Server 12.10

- Ubuntu Server 13.10

- Ubuntu Server 14.04 LTS

- OpenLogic

- SUSE Linux Enterprise Server 11 SP3

在Azure平台使用Linux虚机,有如下最佳实践帮助用户得到更好的体验。

为Linux 配置交换分区(SWAP)

在Linux中保留swap分区有两个重要的原因:

当物理内存不足以支撑系统和应用程序(进程)的运作时,这个 swap 空间可以用作临时存放使用率不高的内存分页,把腾出的内存交给急需的应用程序(进程)使用。

即使你的机器拥有足够多的物理内存,也有一些程序会在它们初始化时残留的极少再用到的内存分页内容转移到 swap 空间,以此让出物理内存空间。对于有发生内存泄漏几率的应用程序(进程),swap 空间更是重要,因为谁也不想看到由于物理内存不足导致系统崩溃。

在Azure平台上,当用户通过镜像库,创建出一台Linux服务器时,默认并没有分配任何交换分区。运行free命令,我们可以看到swap所对应的数字为0。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/cloud-computing/

时间: 2016-09-08

基于开源软件在Azure平台建立大规模系统的最佳实践的相关文章

思科发布免费开源软件云管理平台OpenStack

为进一步显示对OpenStack项目的承诺,思科推出了这个开源软件http://www.aliyun.com/zixun/aggregation/14224.html">云管理平台的一个免费发布版.这个软件还包括虚拟网络和高可用性功能等其它服务. 思科已经成为OpenStack日益增多的已经发布开源软件代码的机构会员之一.这些会员与Red Hat.SUSE.Canonical和Ubuntu等Linux发布公司以及专营Rackspace和OpenStack的公司Piston Cloud Co

Windows Azure提示、工具和编码最佳实践

在撰写这一系列文章的过程中,我总结出了很多最佳实践.在这篇文章中,我介绍了在保护您的 Windows Azure 应用程序时,需要考虑的更多事项. 下面是一些工具和编码提示与最佳实践: 在操作系统上运行 获取最新的安全补丁 尽量以部分信任模式运行 错误处理 如何实施重试逻辑 记录 Windows Azure 中的错误 Azure 存储的访问权限 Blob 的访问权限 存储连接字符串 门卫模式 旋转存储密钥 用于确保数据安全的加密服务 在操作系统上运行 获取最新的安全补丁 当使用 Visual S

Twitter 系统完全基于开源软件构建

Twitter 宣布其整个系统基于开源软件系统构建,同时该公司也贡献很多开源的软件,并为这些开源软件专门制作一个汇集页面 http://static.oschina.net/uploads/space/2014/0113/070016_rPk9_12.png" > Twitter是国外的一个社交网络及微博客服务的网站.它利用无线网络,有线网络,通信技术,进行即时通讯,是微博客的典型应用.它允许用户将自己的最新动态和想法以短信形式发送给手机和个性化网站群,而不仅仅是发送给个人.Twitter

开源软件在商业世界中的10个最佳用途

在技术领域存在一定的必然性.举例来说,开源软件将以它自己的方式进入你的业务中.十年前,这一定很容易引发质疑.现在呢?没有办法避免--而且也是没有理由的.有了这么强大(同时也是必要的)技术,开源已经在各种情况下成为高科技的救星.但是开源最适合你的哪些业务领域?当然,这个问题的答案每家公司各有不同.但是一些应用可以在几乎所有情况下适用. 让我们来看一看开源软件的10个可能是最好的用途,有助于你企业增长,将你带入从未领略过的更高一级的灵活性和可靠性,或者只是为你省下相当可观的一笔预算. 1.服务器软件

开发基于IBM Lotus Domino的Web 2.0应用的最佳实践

简介:本文介绍了开发基于 IBM Lotus Domino 的 Web 2.0 企业应用的最佳实践.这些最佳实践覆盖 系统开发的整个生命周期,包括系统设计阶段.实现阶段以及系统装配和部署阶段.根据本文所介绍的这 些方法,可以高效的开发高质量的基于 Domino 的 Web 2.0 企业应用. 背景简介和挑战 Domino 是 IBM Lotus 下面的一个旗舰产品,由于其提供了多层级的安全解决方案,内置集成的协同 服务应用和目录服务并提供灵活的数据库复制机制,因成为很多企业应用的重要平台. 随着

阿里云开源容器技术Cabernets在阿里云上的最佳实践

摘要:本文的整理自2017云栖大会-成都峰会上阿里云资深研发工程师谢瑶瑶(初扬)的分享讲义,讲义主要介绍了阿里云上一键部署Kubernetes的相关内容.阿里云上一键部署高可用Kubernetes集群,支持集群弹性伸缩,高度隔离的资源,丰富的安全组策略让您构建高度安全可靠的应用. 在2017云栖大会-成都峰会上,阿里云资深研发工程师谢瑶瑶(初扬)做了关于Cabernets在阿里云上的最佳实践的分享.Kubernetes拥有开源的容器编排系统,自动化部署,管理,扩展容器化的应用,支持on-prem

开放式创新的崛起:打造可持续发展的开源软件公司

Accel 近期举办了一个超过100位开源界的高管和思想领袖参加的全天活动,讨论的内容是利用开放技术构建伟大企业,赶上下一次浪潮.本文是从会种所学到的内容,围绕着开源软件开发的未来以及如何围绕开源软件来打造可持续发展的商业模式而展开. 在上世纪80年代的中期,Richard Stallman 发起了"自由"软件运动,Stallman 主张软件的使用者可以根据自己认为合适的方式来自由的操作软件.这么多年过去了,开源软件的运动早已发展的超越了 Stallman 的梦想--从科技巨头垄断到软

动互联网:开源软件的又一个春天

本文讲的是动互联网:开源软件的又一个春天,[IT168 资讯]随着中国3G时代的来临,移动互联网以其丰富多彩的应用成为广大企业挖掘的下一个金矿.作为新一代互联网,移动互联网主要是在开源软件和开放技术支撑下发展起来的,它的发展已经逐渐具备让任何人在任何地点.任何时间使用任何通信设备去做任何事情(5个"Any")的能力.从移动互联网产业链上的广大企业来看,无论是从芯片制造商到终端设备商,还是从操作系统厂商到应用软件开发商,都已纷纷"拥抱"开源软件,将其列为自身发展的重要

开源软件真正能够用起来还在于执行力

曾经有一段时间,许多人都认为开源的希望在中国.特别是在2001年的时候,中国开展的第一次软件正版化政府采购在北京进行,全面采购了基于开源软件发展起来的国产基础软件,包括国产Linux和国产http://www.aliyun.com/zixun/aggregation/17181.html">办公软件,微软产品全部出局.这一事件在全球引起很大震动,当时许多人更是认为,在桌面领域打破微软垄断的希望就在中国.此后,我国政府继续通过政策.财政和科技攻关项目等加强对开源软件的支持力度,经过几年的发展