Windows Azure HandBook (7) 基于Azure Web App的企业官网改造
《Windows Azure Platform 系列文章目录》
1.用户场景:
C公司是全球大型跨国连锁餐厅,在世界上大约拥有3万间分店。其IT系统主要部署其海外数据中心,或者租用其他IDC托管机房。因为国内外网访问Internet的连通性问题,或者是由于IDC托管机房的互联网带宽不够。在国内的消费者访问其官方网站的速度非常不理想。
客户急需一个稳定且快速的平台,能够保证消费者快速访问其官方网站,获得该公司的最新资讯。
2.架构设计
C公司官网技术平台采用流行的开源技术。Web服务器采用是Linux操作系统,开发语言是PHP,数据库服务器采用的是MySQL。
在海外数据中心,主要的问题有以下几点:
(1)Web服务器和数据库服务器都是单台服务器,会出现单点故障
(2)Web服务器没有负载均衡
(3)Web服务器没有自动备份功能
(4)MySQL数据库没有高可用设计,没有数据库备份功能
通过将C公司官网做升级改造,主要修改了以下内容:
(1)将Web服务器由Linux VM改造为Azure Web App,PHP代码基于Web App进行重构
(2)Azure Web App可以实现自动横向扩展功能,可以自动扩展多个实例,以应用高峰访问需求。在访问低谷期的时候,可以横向收缩以节省成本
(3)将静态资源,比如文件、图片、照片等,保存到Azure Storage云存储中
(4)将MySQL VM迁移到Azure MySQL PaaS平台
3.客户收益
客户收益主要有以下几点:
(1)自动横向扩展和自动横向收缩
由于客户的官网访问量是有高峰期和低谷期的,如下图:

可以看到在白天8点以后,访问量会逐渐上升。而在夜间23点的时候,访问量会达到低谷。
通过Azure Web App内置的横向扩展功能,可以在访问高峰期的时候,使用3台实例做横向扩展,以应对业务高峰。在访问低谷期的时候,使用2台实例做横向收缩,以节省成本。
如下图所示,为业务高峰期的自动扩展功能,采用3个实例实现负载均衡。

下图是业务低谷期的自动收缩功能,采用2个实例实现负载均衡。

(2)Web代码自动备份
Azure Web App内置自动备份功能,可以实现将PHP代码每天全备份到Azure Storage云存储中。这样当官网的PHP代码产生逻辑问题的时候,可以直接从Azure Storage云存储中,将代码进行还原,如下图:

(3)使用Azure Storage,降低Web Server互联网带宽压力
客户的官网包含很多静态资源,如文件、图片、照片。一般的实现方式是把这些静态资源包含在项目源代码中,通过本地调用的方式直接访问。但是这样需要Web服务器具有比较好的互联网带宽水平。
通过把这些静态资源保存到Azure Storage中,可以减轻Web Server的互联网带宽压力。

如上图所示,整个官网的静态内容,在过去7天内产生的出口流量为5.29TB。但是由于Azure Storage访问速度非常快,官网页面打开速度还是非常流畅的。

上图中,Load: 1.48s
(4)MySQL PaaS数据库高可用
我们将MySQL虚拟机迁移到Azure MySQL PaaS。因为MySQL PaaS本身就提供了数据库的高可用功能,与传统MySQL VM主备模式来说,使用MySQL PaaS成本更低,而可靠性更高。
(5)MySQL PaaS数据库自动备份
MySQL PaaS还提供最长35天的数据库自动备份功能。当发生数据库逻辑问题,可以通过使用MySQL PaaS数据库还原功能,将MySQL数据库还原到上一个正常的版本。

(6)更低的成本
与客户之前部署在海外数据中心的成本相比,采用Azure Web App自动横向扩展和MySQL PaaS数据库的新一代企业官网的Azure使用成本,比之前降低90%。
同时还降低了IT人员的维护成本,同时提高了企业官网的整体可用性。
Windows Azure HandBook (7) 基于Azure Web App的企业官网改造的更多相关文章
- 【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
前言 在Azure中,可以通过App Service快速部署,构建自定义站点(PaaS服务).默认情况下,这些站点被访问URL都是面向公网,通过公网进行解析.为了最好的安全保障,是否可以有一种功能实现 ...
- 004.Create a web app with ASP.NET Core MVC using Visual Studio on Windows --【在 windows上用VS创建mvc web app】
Create a web app with ASP.NET Core MVC using Visual Studio on Windows 在 windows上用VS创建mvc web app 201 ...
- 基于 Azure IaaS 搭建企业官网的规划和实践
本课程主要介绍了基于 Azure IaaS 搭建企业官网的案例分析和实践,实践讲解如何使用 Azure 门户创建虚拟机, 创建虚拟网络, 创建存储账户等. 具体包括项目背景介绍, 项目架构, 准备和实 ...
- 巧用百度Site App新组件为企业官网打造移动站
一年前我曾经详细介绍过百度Site App,时隔一年的发展,Site App再一次发生了翻天覆地的变化:自定义程度更高.新增电话地图组件.增加流量统计.增加广告管家.生成APP客户端等功能,百度Sit ...
- 基于tp5的免费开源企业官网系统
基于tp5的免费开源企业官网系统 基本功能: 自定义菜单,单页 添加新闻文章前台展示 前台页面自动适配电脑与手机端等.后台模板用的是:AdminLTE 项目放在github上有兴趣开源下载看看 htt ...
- Azure 部署 Asp.NET Core Web App
在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web A ...
- 企业官网Web原型制作分享-Tesla
Tesla是汽车行业知名的奢华品牌,产品为纯电动汽车,知名度极高.此模板正是取自Tesla的官网,高端大图配上文字排版,彰显了汽车的奢华感觉. 本原型由国产Mockplus(原型工具)和iDoc(智能 ...
- Windows Azure Web Site (18) Azure Web App设置MIME
<Windows Azure Platform 系列文章目录> 在笔者之前的文章中,介绍了我们在使用Azure Web App,可以把静态资源保存到Azure Storage中: Wind ...
- Azure Web App (一)发布你的Net Core Web 项目
一,引言 今天我们看一下Azure上的一个服务-----Web 应用,我们都知道云计算的三大模式:Iaas(基础设施即服务),Paas(平台即服务),Saas(软件即服务). Iass,其实就是虚拟主 ...
随机推荐
- ASP.NET 上传文件最大值调整
首先,最容易找到的是web.config下面配置: <!--maxRequestLength=50MB--> <httpRuntime targetFramework="4 ...
- lxc on centos
终于把lxc的网络配通了,也不知道对不对,记一下 一开始都是雷同的地方 yum install libcgroup lxc lxc-templates 安装lxc cgroup 然后记得 chkcon ...
- 修改TFS2013服务账户或者密码
修改TFS2013服务账户或者密码 TFS作为微软软件开发的全生命周期管理解决方案,可以很好的与windows的域管理结合使用,方便多系统下用户的管理和授权.如果TFS使用的服务账户设置的域账户密码过 ...
- XXX项目总结
前言 昨天晚上睡不着总感觉有些什么东西需要记下来,所以就有了这篇文章.做了好几次的重构是应该有一个总结以备以后查阅,当然有些设计思想是通过自己的总结也有些是吸收别人的思想,同样如果能对你有所帮助那就再 ...
- nw.js FrameLess Window下的窗口拖拽与窗口大小控制
nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将fr ...
- angularjs组件之input mask
今天将奉献一个在在几个angularjs项目中抽离的angular组件 input mask.在我们开发中经常会对用户的输入进行控制,比如日期,货币格式,或者纯数字格式之类的限制,这就是input m ...
- windbg 基础命令实战 - 简单程序破解
以前玩游戏遇到一些实在过不去的管卡,经常会找一些游戏修改软件来修改游戏,让自己变得无比强大,将boss一路砍瓜切菜过足游戏瘾.其实游戏修改软件的功能大多都比较简单,我们可以通过windbg的一些简单命 ...
- 安装金山WPS2013造成的HTML5 file.type值异常
处理代码的兼容性是前端攻城师们的家常便饭了,一般是对各种浏览器进行兼容性处理.但是有时候我们也会遭遇到浏览器以外的影响因素,这个是经常会被忽视掉的内容.比如前几天就听说客户端安装迅雷.暴风影音等软件会 ...
- 用python语言讲解数据结构与算法
写在前面的话:关于数据结构与算法讲解的书籍很多,但是用python语言去实现的不是很多,最近有幸看到一本这样的书籍,由Brad Miller and David Ranum编写的<Problem ...
- Enterprise Architect的共享Respository设置,postgresql数据库
Enterprise Architect有一个很实用的共享,在设计UML图的时候,可以连接到一个数据库服务器,将所有的画图数据共享在上面,所有连到这个server的人,都可以看到 别人的图,图中的元素 ...