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

时间:2022-09-15 10:01:14

  《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)自动横向扩展和自动横向收缩

  由于客户的官网访问量是有高峰期和低谷期的,如下图:

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

  可以看到在白天8点以后,访问量会逐渐上升。而在夜间23点的时候,访问量会达到低谷。

  通过Azure Web App内置的横向扩展功能,可以在访问高峰期的时候,使用3台实例做横向扩展,以应对业务高峰。在访问低谷期的时候,使用2台实例做横向收缩,以节省成本。

  如下图所示,为业务高峰期的自动扩展功能,采用3个实例实现负载均衡。

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

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

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

  (2)Web代码自动备份

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

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

  (3)使用Azure Storage,降低Web Server互联网带宽压力

  客户的官网包含很多静态资源,如文件、图片、照片。一般的实现方式是把这些静态资源包含在项目源代码中,通过本地调用的方式直接访问。但是这样需要Web服务器具有比较好的互联网带宽水平。

  通过把这些静态资源保存到Azure Storage中,可以减轻Web Server的互联网带宽压力。

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

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

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

  上图中,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数据库还原到上一个正常的版本。

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

  (6)更低的成本

  与客户之前部署在海外数据中心的成本相比,采用Azure Web App自动横向扩展和MySQL PaaS数据库的新一代企业官网的Azure使用成本,比之前降低90%。

  同时还降低了IT人员的维护成本,同时提高了企业官网的整体可用性。

Windows Azure HandBook (7) 基于Azure Web App的企业官网改造的更多相关文章

  1. 【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)

    前言 在Azure中,可以通过App Service快速部署,构建自定义站点(PaaS服务).默认情况下,这些站点被访问URL都是面向公网,通过公网进行解析.为了最好的安全保障,是否可以有一种功能实现 ...

  2. 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 ...

  3. 基于 Azure IaaS 搭建企业官网的规划和实践

    本课程主要介绍了基于 Azure IaaS 搭建企业官网的案例分析和实践,实践讲解如何使用 Azure 门户创建虚拟机, 创建虚拟网络, 创建存储账户等. 具体包括项目背景介绍, 项目架构, 准备和实 ...

  4. 巧用百度Site App新组件为企业官网打造移动站

    一年前我曾经详细介绍过百度Site App,时隔一年的发展,Site App再一次发生了翻天覆地的变化:自定义程度更高.新增电话地图组件.增加流量统计.增加广告管家.生成APP客户端等功能,百度Sit ...

  5. 基于tp5的免费开源企业官网系统

    基于tp5的免费开源企业官网系统 基本功能: 自定义菜单,单页 添加新闻文章前台展示 前台页面自动适配电脑与手机端等.后台模板用的是:AdminLTE 项目放在github上有兴趣开源下载看看 htt ...

  6. Azure 部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web A ...

  7. 企业官网Web原型制作分享-Tesla

    Tesla是汽车行业知名的奢华品牌,产品为纯电动汽车,知名度极高.此模板正是取自Tesla的官网,高端大图配上文字排版,彰显了汽车的奢华感觉. 本原型由国产Mockplus(原型工具)和iDoc(智能 ...

  8. Windows Azure Web Site (18) Azure Web App设置MIME

    <Windows Azure Platform 系列文章目录> 在笔者之前的文章中,介绍了我们在使用Azure Web App,可以把静态资源保存到Azure Storage中: Wind ...

  9. Azure Web App &lpar;一&rpar;发布你的Net Core Web 项目

    一,引言 今天我们看一下Azure上的一个服务-----Web 应用,我们都知道云计算的三大模式:Iaas(基础设施即服务),Paas(平台即服务),Saas(软件即服务). Iass,其实就是虚拟主 ...

随机推荐

  1. 基于DotNetOpenAuth的OAuth实现示例代码&colon; 获取access token

    1. 场景 根据OAuth 2.0规范,该场景发生于下面的流程图中的(D)(E)节点,根据已经得到的authorization code获取access token. 2. 实现环境 DotNetOp ...

  2. Maven使用常见问题整理

    Maven使用常见问题整理  1.更新eclipse的classpath加入新依赖  1.在dependencyManagement里面加入包括版本在内的依赖信息,如:   <dependenc ...

  3. Java基础之读文件——使用通道读取混合数据1&lpar;ReadPrimesMixedData&rpar;

    控制台程序,本例读取Java基础之写文件部分(PrimesToFile2)写入的Primes.txt. 方法一:可以在第一个读操作中读取字符串的长度,然后再将字符串和二进制素数值读入到文本中.这种方式 ...

  4. std&colon;&colon;sort引发的core

    #include <stdio.h> #include <vector> #include <algorithm> #include <new> str ...

  5. android ExpandAbleListView控件

    ExpandAbleListView控件 1.API对ExpandAbleListView的解释:

  6. POJ 2778 DNA sequence

    QAQ 做完禁忌 又做过文本生成器 这道题就是个水题啦 首先转移方程还是文本生成器的转移方程 但是注意到L很大,但是节点数很小 转移都是固定的,所以我们可以用AC自动机来构造转移矩阵 之后进行矩阵乘法 ...

  7. Failed to collect certificates from &sol;data&sol;app&sol;vmdl201020547&period;tmp&sol;base&period;apk&colon; META-INF&sol;CERT&period;SF indicates &sol;data&sol;app&sol;vmdl201020547&period;tmp&sol;base&period;apk is signed using APK Signature Scheme v2&comma; but no such signature

    错误信息: 12-26 11:08:44.809 1501-1535/system_process E/PackageInstaller: Commit of session 201020547 fa ...

  8. 基于GUI的四则运算

    基于GUI的四则运算 *强 201421123028 连永刚 201421123014 林方言 201421123023 coding 地址 https://git.coding.net/lizhi ...

  9. Spring cron表达式详解

    一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示: 代表含义 是否必须 允许的取值范围 允许的特殊符号 秒 是 0-59 , - * ...

  10. linus上运行jar包文件增删查

    package com.osplat.util; import com.alibaba.fastjson.JSON; import com.osplat.bean.Resultmodel; impor ...