云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

亚马逊云_免费二级域名解析系统_免费申请

小七 141 0

哈希科普社区开发人员将HashiCorp Terraform带到Auth0了解Alex Kalyvitis如何创建Auth0作为Terraform的代码

基础设施即代码是一个强大的工具,有助于减轻维护云架构的痛苦。DevOps工程师只需编写一个配置文件,将其输入到HashiCorp Terraform和viola这样的解决方案中!对适当的云资源进行更改。Auth0的Terraform集成来自我们的开发人员社区,由软件工程师alexkalyvitis编写。我们和亚历克斯坐下来谈谈他的经历和他从中学到了什么。开发人员和DevOps工程师将从这次采访中学到什么:为什么将基础设施作为身份验证代码创建一个成功的开源项目需要什么沙菲克:你是怎么第一次知道Auth0的?亚历克斯:像每个工程师一样,在某个特定的时刻,你必须面对300磅重的认证大猩猩。它不是你的业务的核心,但你必须把它做好,否则你会得到一个不安全的应用程序。开发人员界的共识是让it是他们的核心业务的人这样做。在我之前在Yieldr的经验中,我们从基本身份验证开始,以确保只有特定的人可以访问。然而,我们很早就意识到,我们需要更多的开放实践来实现它。幸运的是,一些最好的身份验证资源来自Auth0。我从Auth0的文档中学到了很多东西,我想也许我应该使用它而不是构建一个。我尝试了Auth0,在探索了诸如社交提供者之类的特性之后,我意识到它是一个健壮的产品。从那以后,我一直很乐意使用它。你为什么要写这个表格?亚历克斯:创建Terraform提供程序是从内部组织理念开始的,即让我们所有的云基础设施都作为代码签入。这样做可以使您能够管理所有支持您的基础设施的东西,如amazonaws、Cloudflare、newrelic、Pagerduty或其他基础设施或服务提供商。你可以像对待产品代码一样仔细对待它。因此,如果我对我的基础设施进行了更改,这不是通过登录到控制台并切换开关来实现的。它使动作更加谨慎和安全。例如,有一次,我们的一位工程师在开发一个新特性时,在Auth0租户中切换了一个标志。这破坏了我们的登录流程。但是我们没有立即建立连接,而是浪费时间在代码库中寻找bug。我们花了大约一天的时间才弄清楚发生了什么事。所以在那一点上,我们说,"好吧,这必须用代码来管理。"不幸的是,当时还没有Auth0的Terraform提供程序。所以我们决定建一个。我从查看Auth0提供的客户端库开始,不幸的是,gosdk不可用,所以我不得不制作一个来支持该提供程序。几年后,随着社区的大量贡献,人们开始使用它来提供他们的认证基础设施。沙菲克:你遇到过什么挑战吗?你是如何应对的?亚历克斯:挑战。是的,我的意思是,任何规模或复杂程度都很高的项目都会面临挑战。在制定计划时,我首先在沙地上划出一条线,可以说,使用Auth0支持的内容和Auth0公开记录的内容。我使用了Auth0的管理文档,API文档,这是我的黄金标准。如果它不在那里,它就不在提供者中。所以这就是我基于很多原创作品的地方。当然,后来人们开始将它用于API文档中不一定详细说明的事情。因此,通过一些逆向工程和检查仪表板中发生的更改,我们设法添加了其他功能。从某种意义上说,这是一个挑战,但这不是火箭科学,有点猜测。我们构建了一个API,你知道,它应该如何表现。还有,时间,时间是关键。我必须平衡我能为这个项目分配多少时间。我在工作中有一个严格的时间表,因为我们正在制造一个复杂的产品。因此,建设和维护该项目是在周末和下午进行的。平衡家庭生活是一个挑战。我怀疑有些用户可能会因此而感到沮丧,但一个人能做的就那么多了,我已经尽力了。沙菲克:当对供应商的需求增加时,你的反应是什么?亚历克斯:我很高兴看到人们发现它有用。我建造了一些人们关心的东西。很酷。尽管它还没有发展到下一个卡夫卡或宝贵的开源技术的水平,但它是建立在这个肩膀上的。看到人们关心你的工作并发现它如此有用以致于他们愿意为之做出贡献,真是太令人兴奋了。有些人对它充满热情,他们觉得这甚至是他们自己的,即使我还没有亲眼见过他们。沙菲克:你从这次经历中学到了什么?亚历克斯:你必须对每个人都做个好东道主。你很容易因为一个看似不合理或意义深远的评论或请求而感到沮丧。但重要的是要头脑冷静,尊重每一个人,并为他们指明正确的方向。如果我认为他们错了,我会尽力帮助你,因为最终,你所看到的人们,他们的行为都是一样的。所以,如果你想让别人尊重你,那么你就必须尊重别人,为自己赢得尊重。我在很多人身上看到了这种品质,尤其是在一些孤立的事件中。所以,是的,在你想支持的社区里做一个榜样。沙菲克:为什么你决定让它开源,而不保留它的专有权?亚历克斯:嗯,首先,这不是我们业务的核心,因为我们专注于打造我们的产品。开源是回馈社区以及动员社区做出贡献的一个好方法。这是同一个硬币的两面。所以,一方面,你付出了很多努力,免费赠送了一些东西,但是你得到了更多的关注和更多的关注。这是一件好事,尤其是当你处理像基础设施这样敏感的事情时。通过开源的众包有助于解决我们无法预见或没有时间处理的问题。你在考虑谁在写开源代码?亚历克斯:去吧。绝对要做!这个过程会教会你很多东西,因为通常比你聪明的人可能会发现你所用的东西,并倾向于与你分享他们的知识。所以在某种程度上,这是一种学习的方式。对于我们这些工程师来说,开源是非常有价值的,因为我们可以阅读和理解由一些最优秀的人编写的世界上最好的代码库。这是一个巨大的学习机会。我不知道为什么一个开发者会做一些源代码比较近的事情,除非这对他们的业务很重要。除非它是一个核心的软件是知识产权,你不想让你的竞争对手看到,我不知道为什么不开放源代码。特别感谢Alex允许我们采访他,感谢他与Auth0的Terraform提供商所做的令人难以置信的工作。我们高度重视并赞赏我们的开发者社区继续作出的贡献,以及多年来培养的合作伙伴关系。关于Auth0Auth0为应用程序、设备和用户提供了一个验证、授权和安全访问的平台。安全性和应用程序团队依赖Auth0的简单性、可扩展性和专业知识,使身份对每个人都有效。Auth0每月维护超过45亿次登录交易,确保身份安全,从而使创新者能够进行创新,并使全球企业能够为其全球客户提供可靠、卓越的数字体验。更多信息,请访问https://auth0.com或在Twitter上关注@auth0。Auth0文档在几分钟内实现身份验证.灯箱{宽度:100%;高度:100%;位置:固定;顶部:0;左:0;背景:rgba(0,0,0,0.85);z-指数:9999999;线高:0;光标:指针;}.灯箱图像{光标:指针;余量:0自动;显示:块;}.灯箱图像{职位:亲属;顶部:50%;左:50%;-ms转换:translateX(-50%)translateY(-50%);-webkit转换:翻译(-50%,-50%);转换:平移(-50%,-50%);最大宽度:100%;最大高度:100%;}@媒体屏幕和(最小宽度:1200像素){.灯箱图像{最大宽度:1200px;}}@媒体屏幕和(最小高度:1200像素){.灯箱图像{最大高度:1200px;}}.灯箱跨度{显示:块;位置:固定;底部:13px;高度:1.5em;线路高度:1.4em;宽度:100%;文本对齐:居中;颜色:白色;文本阴影:-1px-1px 0#000,1px-1px 0#000,-1px 1px 0#000,1件1件0万件;字体系列:"fakt web","Helvetica Neue",Hevetica,sans serif;字号:18px;}.lightbox.videowrapper容器{职位:亲属;顶部:50%;左:50%;-ms转换:translateX(-50%)translateY(-50%);-webkit转换:翻译(-50%,-50%);转换:平移(-50%,-50%);最大宽度:900px;最大高度:100%;}.lightbox.videoWrapperContainer.videoWrapper容器{高度:0;线高:0;余量:0;填充:0;职位:亲属;填充底部:56.333%;/*自定义*/背景:黑色;}.lightbox.videoWrapper iframe{位置:abs