Windows Azure HandBook (7) 基于Azure Web App的企业官网改造

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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人员的维护成本,同时提高了企业官网的整体可用性。



本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/5229172.html,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
15天前
|
移动开发 小程序 JavaScript
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
134 0
|
15天前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)
|
6月前
|
消息中间件 数据安全/隐私保护 Windows
windows下RabbitMQ安装后,无法进入web管理页面问题
windows下RabbitMQ安装后,无法进入web管理页面问题
171 1
|
15天前
|
Windows
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
|
15天前
|
机器学习/深度学习 缓存 前端开发
用纯python写web app:Streamlit
一句话,Streamlit是一个可以用python编写web app的库,可以方便的动态展示你的机器学习的项目。【2月更文挑战第9天】
124 0
|
15天前
|
安全 Linux iOS开发
上传 iOS 应用变得更加容易 - 在 Windows 上架 iOS APP 的工具介绍
上传 iOS 应用变得更加容易 - 在 Windows 上架 iOS APP 的工具介绍
|
15天前
|
Linux iOS开发 Windows
windows 如何上架 ios 应用到 app store
windows 如何上架 ios 应用到 app store
|
15天前
|
XML Arthas Java
Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启
Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启
150 0
|
15天前
|
移动开发 小程序
微信小程序web-view嵌入uni-app H5页面,通过H5页面传参给小程序进行转发分享页面,并通过点击转发出来的卡片,定向打开对应H5路径
微信小程序web-view嵌入uni-app H5页面,通过H5页面传参给小程序进行转发分享页面,并通过点击转发出来的卡片,定向打开对应H5路径
|
15天前
|
移动开发 JavaScript
Vant简单H5 web app【小试牛刀】
Vant简单H5 web app【小试牛刀】