首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于 Azure Web App 的企业官网改造

用户场景

C 公司是全球大型跨国连锁餐厅,在世界上大约拥有 3 万间分店。其 IT 系统主要部署其海外数据中心,或者租用其他 IDC 托管机房。因为国内外网访问 Internet 的连通性问题,或者是由 IDC 托管机房的互联网带宽不够。在国内的消费者访问其官方网站的速度非常不理想。

客户急需一个稳定且快速的平台,能够保证消费者快速访问其官方网站,获得该公司的最新资讯。

架构设计

C 公司官网技术平台采用流行的开源技术。Web 服务器采用是 Linux 操作系统,开发语言是 PHP,数据库服务器采用的是 MySQL。

在海外数据中心,主要的问题有以下几点:

Web 服务器和数据库服务器都是单台服务器,会出现单点故障

Web 服务器没有负载均衡

Web 服务器没有自动备份功能

MySQL 数据库没有高可用设计,没有数据库备份功能

通过将 C 公司官网做升级改造,主要修改了以下内容:

将 Web 服务器由 Linux VM 改造为 Azure Web App,PHP 代码基于 Web App 进行重构

Azure Web App 可以实现自动横向扩展功能,可以自动扩展多个实例,以应用高峰访问需求。在访问低谷期的时候,可以横向收缩以节省成本

将静态资源,比如文件、图片、照片等,保存到 Azure Storage 云存储中

将 MySQL VM 迁移到 Azure MySQL PaaS 平台

客户收益

客户收益主要有以下几点:

自动横向扩展和自动横向收缩

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

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

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

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

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

Web 代码自动备份

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

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

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

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

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

MySQL PaaS 数据库高可用

我们将 MySQL 虚拟机迁移到 Azure MySQL PaaS。因为 MySQL PaaS 本身就提供了数据库的高可用功能,与传统 MySQL VM 主备模式来说,使用 MySQL PaaS 成本更低,而可靠性更高。

MySQL PaaS 数据库自动备份

MySQL PaaS 还提供最长 35 天的数据库自动备份功能。当发生数据库逻辑问题,可以通过使用 MySQL PaaS 数据库还原功能,将 MySQL 数据库还原到上一个正常的版本。

更低的成本

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

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180105G0GGYU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券