Envato不停机迁移边缘网络提供商

2018阿里云全部产品优惠券(好东东,强烈推荐)
领取地址 https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=82lei0yp

推荐:IP地址的分类——a,b,c 类是如何划分的

[现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。 IP地址类型 最初设计互

看新闻很累?看技术新闻更累?试试 下载InfoQ手机客户端 ,每天上下班路上听新闻,有趣还有料!

CDN提供商 Envato 通过 迁移 边缘网络,将旗下分布式拒绝服务(DDoS)和Web应用程序防火墙(WAF)系统整合至同一个供应商的平台上,并通过基于测试的自动化方法将基础架构变更与监视和持续反馈机制相结合,借此进行回归测试,实现零停机顺利迁移。

Envato主要提供内容交付网络(CDN)服务。与其他CDN提供商类似,他们也有一个由边缘服务器组成的网络。边缘网络可用于从距离用户地理位置最近的地方向用户交付内容。它可以看作是一种 代理缓存 ,首先从实际承载了内容的源服务器获取内容,随后交付给就近用户。包括Envato在内的大部分CDN厂商都会为边缘网络实施相应的安全措施,以防范DDoS和其他类型的攻击。

Envato的边缘网络服务器会进行DDoS清洗,同时可充当 WAF 。借此确保在边缘位置,而非源基础架构位置缓解安全威胁。此外这种方式还可将源位置与此类攻击隔离。这样的WAF通常是基于规则的,而规则源自对以往历史请求的分析结果。面对潜在攻击,需要通过拦截等方式降低请求速度,或强制进行人工介入,例如必须输入正确的验证码才能访问。包括 CloudFlareAkamaiFastly 在内很多CDN厂商都使用了类似的技术。DDoS清洗需要检测并缓解可能的DDoS流量。根据Akamai的最新互联网安全态势报告( PDF ),过去一年里,全球范围内DDoS和WAF攻击的数量分别增长了14%和10%。

Envato原本以菊花链的形式部署了这些系统,用户请求首先需要遍历DDoS清洗,随后遍历WAF系统,接下来才能抵达源位置。

推荐:TCP协议中的三次握手和四次挥手(图解)

[建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文

图片来源: https://webuild.envato.com/blog/migrating-edge-providers/

针对所有这些系统,调试、新部署的推出、自动化机制方面的差异以及统一预警能力的缺失等因素使得Envato希望迁移为某种统一系统,通过一个系统实现DDoS清洗和WAF。在请求ID的生成以及潜在安全事件的预警等方面,这两个系统存在较大差异,这也使得调试工作变得更加困难。由于底层服务提供商各异,只有部分系统可以实现基础架构自动化,兼容性的实现变得极为困难,推出新的变更时需要付出巨大的精力。

对最终用户来说,迁移过程不能停机。迁移团队计划准备好测试套件,将变更发布给一组有限的测试用户,并在将这一过程中出现的所有问题顺利修复后,再全面发布给所有用户。使用测试套件主要是为了防止基础架构功能退化,具体做法与应用程序代码的升级和发布完全类似。他们使用了基于Ruby的框架RSpec实现行为驱动的开发(BDD),这种方式已被Envato工程团队广泛使用。该团队编写了一个名为HttpSpec的库,这个库运行在RSpec框架下,可处理HTTP交互(请求/响应)。此外他们还使用了Spotify的开源库 rspec-dns 。这一过程还使用了另一个名为 ServerSpec 的周边项目,该项目可以通过编写RSpec测试对服务器配置进行声明式测试。另外,他们还使用了一款内部工具对不同提供商的API调用响应进行转换,借此简化不同提供商之间的迁移操作。

最终,他们通过对不同流量以及对客户的潜在影响划分优先级,分阶段完成了迁移操作,并通过循环不断的自动化测试确保整个迁移过程顺利结束。

阅读英文原文: Migrating Edge Network Providers at Envato Without Downtime

推荐:基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎

[ 网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项。由于网络爬虫只负责网络资源的抓取

相关推荐