Auth0是一个“身份即服务”创业公司,同时也是重度的云服务用户。对于他们来说,服务中断意味着大量用户托管应用无法登陆,因此可用性对于他们来说至关重要。近日,Auth0工程主管Jose Romaniello分享了他们可以豁免大范围Microsoft Azure宕机的跨提供商多云架构。 以下为译文 Auth0是一个“身份即服务”创业公司,它可以让用户忽略底层基础设施,为移动、网络、本地等任何类型堆栈上的应用提供身份验证、授权及单点登录功能。 对绝大部分应用来说,身份验证都至关重要。因此,在设计时我们使用了多等级冗余的方式,其中一个等级就是托管。Auth0可以在任何地方运行:私有云、公有云,或者是租用机房的实体主机上。鉴于这个特性,Auth0同时选择了多个云服务提供商,并且备份在数个地理位置不同的区域中。 本文将是app.auth0.com 基础设施一个非常简单的介绍,同时也包括了app.auth0.com的高可用保证策略。 核心服务的架构其实非常简单: 前端服务器:核心服务架构
Auth0的所有组件都备份在各个节点中,并且完全相同。
Auth0的CDN用例非常简单,我们需要使用它来服务JS库和(允许其他提供商等的)其他配置,assset和配置数据会被加载到S3。因此,我们的定制域名(https://cdn.auth0.com)必须要支持TLS。最终,我们选择构建自己的SDN。我们曾经尝试过3个知名的CDN提供商,在这个过程中遇到了各式各样的问题:
Auth0的一个特性就是允许用户运行自定义代码作为登录事务的一部分,用户可以根据需求编写自己的验证规则。当然,对于一些常用的规则,我们也构建了公共的知识库。
更多的沙箱设计可以在2014年11月份的 演讲视频和 讲义中查看。
开始时,我们使用了pingdom(在现在也没完全抛弃),但是随后我们发现了定制自己健康检查系统(可以基于node.js做任何健康测试)的必要性。下面的操作会运行在我们所有的AWS region上:
如果健康检查通不过,我们会从Slack获取通知,我们拥有两个Slack频道——#p1和#p2。如果错误发生了1次,#p2频道的同事会收到消息,如果错误连续发生两次,警告则会通过#p1频道发布,我们所有的开发运营人员都会收到SMS(通过Twillio)。
我们使用statsd以获得更好的性能统计,并将度量发送给Librato。示例可见下图。
我们同样基于派生度量设置提醒,比如某个值一段时间内增加或者减少多少。举个例子,我们有一个记录登录的度量:if Derivate(logins) > X,然后给Slack发送一条警报。
最后,我们还使用NewRelic为基础设施组件做监视。
在登录服务上,我们使用了ElasticSearch、Logstash和Kibana。在这里,我们使用Nginx和MongDB来储存日志。我们还使用 logstash解析Mongo日志来识别比较慢的查询。
原文链接: Auth0 Architecture – Running In Multiple Cloud Providers And Regions(编译/童阳 责编/仲浩)
欢迎订阅“ImapBox云计算”微信号获得更多云信息。
欢迎关注ImapBox@邮箱云存储微博了解最新云计算及大数据资讯。
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算