手机站:/m

阿里云_阿里云服务器更换操作系统_稳定性好

时间:2020-11-19 16:37编辑:淘客樊里来源:淘客樊里当前位置:主页 > 云解析 >

工程类Auth0内部开发工具:释放工程潜力帮助工程师专注于构建解决客户身份问题的功能。

Auth0正在不断增长。举几个例子,我们刚刚实现了一个新的里程碑:每月25亿次以上的安全认证登录,到2018年底,销售额和新客户都增长了近80%。我们正在以非常快的速度发展和扩展组织,工程也不例外。这带来了一些有趣和有趣的挑战:促进和发展推动这一努力的文化。雇佣并留住优秀的工程师。尽量减少重复工作和时间,以便在新员工到来时提高工作效率。这篇博客文章的重点是Auth0如何解决最后一个挑战;通过建立一个专门的团队来释放Auth0开发人员的潜力,从而满怀信心地交付业务价值。Auth0的开发人员工具团队正如Auth0的目标是使开发人员的身份更加简单一样,Developer Tools团队的目标是让我们的工程师完全专注于开发并为客户提供价值。我们希望提供最好的工具来让我们的开发人员满意并投入到新功能的发布中,而不是每天都在为那些可以自动化的、令人精疲力尽和重复的任务而挣扎。我们定义了开发工具时要采用的思维方式,并概述了一个包含以下愿景的路线图:提供Auth0工程团队可以使用的工具链来改进他们的工作流程、自动化手动任务、简化复杂的流程以及实现一组公司范围的标准。我们做什么与工程团队密切合作,了解他们的痛点,提供工具和指导。调查现有工具并开发新工具以满足其需求:开发环境工具。变更管理工具。调试和性能工具。事件响应工具。与SRE团队合作,将站点可靠性工具集成到平台中。推荐模式和实践:确定组织中当前使用的模式。为脚手架和代码片段提供开发工具。促进最佳工程实践的采用和工具化,例如:合同测试。我们不做的事虽然我们提供一般指导,但我们不提供咨询服务,即:我们既不应特定团队的要求处理特定问题,也不应按要求提供建议,或按要求进行调查,也不为解决特定团队的需求开发定制解决方案。我们不根据需要提供建议或针对特定问题开展工作:我们的工具是按照产品方法开发的。我们不会在另一个团队中嵌入团队成员来构建工具。我们可能是为了发现,但是开发是在开发工具团队中进行的。我们不调试和分析内部服务,我们为此提供工具链。我们不做SRE(站点可靠性工程),我们可以提供工具,在他们的分析过程中可以改善经验。我们不调查随机工具或技术的需求。如果这与减少开发人员的痛苦有关,我们就这么做。"了解我们的工程师如何专注于为客户解决身份认同难题。"在推特上留言工具开发思路在以下原则的指导下,我们将开发工具作为内部产品:所有权:我们拥有我们提供的工具,遵循"你构建它,你运行它"的原则。我们操作我们构建的内容:处理CI/CD、事件响应等。我们不仅要注意编码,还要保证产品运行良好。可扩展性:我们开发这些工具时从零开始考虑可扩展性。例如,任何工程师都应该能够轻松地扩展我们提供的CLI,以便与Auth0的本地开发环境交互。我们欢迎用户通过git工具收集他们的贡献和贡献。我们的目标是遵循一个迭代过程来开发我们的工具(就像我们的产品工程团队一样),与我们的内部客户密切合作。我们团队采用的流程适合精益启动周期模式。Jeff Patton的精益创业模式是在CC by 2.0下授权的。"Auth0开发人员工具团队共享三个关键原则,以开发工具开发思路,帮助他们为开发人员创建成功的内部产品。"在推特上留言我们的工具我们目前维护和定期使用的一些工具在组织内部产生了很大的影响和采用率,但是在采用上面提到的内部开发工具作为产品思想之前就已经构建好了。最初,如果没有任何使用指标,我们很难从发布的工具中学习。因此,我们通过以下方式重点关注现有解决方案:改进文档,包括用户指南和内部操作手册,简明地描述部署、故障排除和贡献指南。使用工具和性能指标来衡量迭代改进的影响。维瓦尔迪纪尧姆·博尔杜克在《反鞭炮》上的照片。维瓦尔迪是我们迄今为止投入大部分精力的工具。它以意大利音乐作曲家的名字命名,是一个基于Docker容器的开发环境,允许工程师在他们的机器上运行本地Auth0。通过命令行界面(CLI),Vivaldi提供了与本地运行的服务实例快速交互的命令,以便:更新依赖项。运行测试。附加调试器。运行诊断工具。执行性能分析器。该工具的初始版本对开发周期有很大影响,并被广泛采用。在Vivaldi之前,开发人员需要手动启动他们正在工作的服务,与本地环境的依赖性抗争。现在,他们可以依赖于一个独立的、可复制的环境,能够相对快速地启动整个服务集群。随着我们的团队和服务数量的增长,我们现在正积极与团队合作,以更好地实现快速开发循环,而不太依赖于在本地运行所有Auth0服务。我们已经在计划下一代Vivaldi,它将以可扩展的方式支持未来的增长。松弛机器人程序照片由弗朗克V。反鞭炮。在一次黑客竞赛中,我们开发了一个名为Gynoid的内部Slack机器人平台,并很快被我们的工程组织采用。该平台是为满足开发人员的需求而定制的:要轻松构建Slack机器人:只需创建一个JavaScript文件,添加元数据,就可以了!。直接从GitHub存储库安装Slack bots。从不同的源扩展现有的bot:一个bot、多个函数、不同的存储库。我们把这些扩展称为机器人。为了安装新的扩展,我们有一个Gynoid作为这个库的包装器。我们的妇科机器人负责注册和扩展我们的机器人直接从Slack。一个著名的机器人是一个为任何空闲频道充当门房的机器人,恰当地命名为@concierge。它是这样工作的:需要值班人员回答直接问题的频道会邀请@concierge加入该频道。一名队友被指派为@concierge。例如,当有人需要向团队提出任何问题时,他们会访问团队的频道并直接向@concierge提问。角色为@concierge的团队成员通过Slackbot发送一条带有礼宾请求的直接消息。礼宾部现在有责任研究并直接处理请求。如果请求超出了团队的范围,则请求将被重定向到适当的通道礼宾机器人帮助我们避免不必要的噪音,尤其是在我们公司内部,它被广泛用作提问时@here和@channel的替代品。当你的团队中有一个"随叫随到"的轮换,而人们需要通过一个空闲的渠道联系到随叫随到的队友时,这是非常有用的。路线图我们目前正在开发主要工具的下一个主要版本,重点是:可伸缩性改进:我们基于Docker的开发环境Vivaldi将运行越来越多的服务,而不会损害开发人员的机器资源。稳健性:我们的slack机器人平台Gynoid将进行端到端测试,其依赖关系将升级到最新的稳定版本,从而使我们的团队和其他团队的贡献者能够自信地引入变化或开发新的机器人。此外,对于统一的内部CLI(命令行界面),我们还处于早期阶段(发现、可行性分析和构思):我们已经有多个CLI提供了不同类型的功能。随着cli数量的不断增长,很难对其进行跟踪。一些团队将决定使用不同的技术堆栈,这可能需要不同的运行时依赖关系和独特的CLI来更好地管理它。但是,我们可以创建一个统一的CLI,可以定制和扩展,以满足不同技术栈的需要。拥有统一的CLI将有助于内部工具链的扩展,同时保持可维护性。结论我们的目标是提供最佳的开发人员体验,在整个工程组织中实现统一。为此,我们获得了工具链的所有权,迭代改进它们,并鼓励团队使用这些已经证明了它们在提高开发人员生产率方面的价值的工具。我们致力于开发工具团队致力于发现、构建、维护和推广可重用解决方案,这样其他工程师就不必为重复性任务而挣扎,也不必经历缓慢的开发周期,或者不停地切换上下文来处理可以自动化的维护任务。我们希望Auth0工程师专注于开发新功能,为我们的客户解决身份问题。关于Auth0Auth0提供了一个验证、授权和安全的平台

上一篇专属服务器_徐工机械阿里云_优惠

下一篇数据库_阿里云微博_企业级

云市场知识本月排行

云市场知识精选