azure云基础架构(infrastructure)

分类: AUTOMATION 发布于:

公有云架构设计以及设计技巧

(一) 资源选型策略

架构设计时充分利用云上基础设施。

  1. azure提供了第7层(http)的application gateway, 它可以负责负载的分发,并可以通过sesssion affinity实现session的绑定。

这时候在设计infra的时候,可以考虑这一点避免重复设计session的共享机制。

  1. 灾备。

azure在设计的时候,存储已经考虑了跨大区的灾备。

  1. Monitoring && Health checking && Alert

  2. Logging

以上工具不都是免费的,但是性价比比较高。

了解azure云的资费方式

国外(GCE, Aws)的计算资源都是按照per-hour收费的。所以在设计时,哪些是长期运行的几点,哪些是临时的job,需要分清楚。

azure提供了一个非常难用的价格计算器

如果不是流量巨大的应用或者流量突发类型的应用, 设计指导方针是 先按照架构设计跑一次试试看。

为什么?

azure的计算资源类型从A0-G5, 有50种以上的计算资源。

虽然每种类型有自己的计算能力(2 cores, 8G RAM), 也有对应的文档描述, 但是通过文档很难区分具体型号的明确界限

当选择的计算资源不适合时,可以实时热扩。 不用影响正在运行的进程。

  1. azure上的gateway,包括loadbalencer 后端是通过windows上的IIS实现的。

我们曾经发生一个事故。 曾经有一个项目部署了一套saas系统到azure上,当压力增加时(qps大约200左右) 会引发502 error。

投诉路线是这样的

中国上海 $→$ 亚洲日本 $→$ 美国总部。

最终问题定位在application gateway上,升级以后问题才解决。

(二) azure上的系统架构设计样例

开始设计之前,请参考一下这个lib。

https://azure.microsoft.com/en-us/solutions/architecture/cross-cloud-scaling/