《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的企业官网改造的更多相关文章

  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. Azure 部署 Asp.NET Core Web App

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

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

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

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

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

  8. Azure Web App (一)发布你的Net Core Web 项目

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

  9. Azure Application Gateway(一)对后端 Web App 进行负载均衡

    一,引言 今天,我们学习一个新的知识点-----Azure Application Gateway,通过Azure 应用程序网关为我么后端的服务提供负载均衡的功能.我们再文章头中大概先了解一下什么是应 ...

随机推荐

  1. 2014 Super Training #4 B Problem Arrangement --状压DP

    原题:ZOJ 3777  http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3777 题意:给每个题目安排在每个位置的value ...

  2. foeach集合遍历

    package number; public class Number { public static void main(String[] args) { int[] arr={5,2,1,0,3, ...

  3. 使用Objective-C的文档生成工具

    前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象Java语言本身就自带javadoc命令,可以从源码中抽取文档.今 ...

  4. avi 格式详解

    http://blog.csdn.net/becomly/article/details/6283004 http://blog.csdn.net/easecom/article/details/45 ...

  5. mysql忘记密码及无法使用程序连接

    select(一)忘记root密码 很久之前装了mysql,后来做项目的时候,一直木有用到,就把密码给忘记了. 网上各种找,最终解决了这个问题了,记录下. 1)打开services,找到mysql服务 ...

  6. 渗透相关website

    开源安全测试方法论:http://www.isecom.org/research/osstmm.html 信息系统安全评估框架:www.oissg.org/issaf 开放式web应用程序安全项目(O ...

  7. Aforge.net识别简易数字验证码问题

    参考:https://www.bbsmax.com/A/rV57LjWGdP/ https://blog.csdn.net/louislong007/article/details/47683035 ...

  8. 【Java基础】16、小数的浮点型和定点型

    一.简介 1.对于不需要任何准确计算精度的数字可以直接使用浮点型,但是如果需要精确计算的结果,则必须使用定点型(BigDecimal类) 浮点型:float,double 定点型:BigDecimal ...

  9. Jquery计算时间戳之间的差值,可返回年,月,日,小时等

    /** * 计算时间戳之间的差值 * @param startTime 开始时间戳 * @param endTime 结束时间戳 * @param type 返回指定类型差值(year, month, ...

  10. C++学习笔记(8)----C++类的大小

    C++类的大小 (i) 如下代码: #include<iostream> using namespace std; class CBase { }; class CDerive :publ ...