个人理财公司Credit Karma的团队大约有一半由工程师组成,因此希望简化其开发周期,并创建了一种部署工具来实现自动化和加速交付。
Credit Karma开发人员效率和平台工程主管Jeremy Unruh表示,他的团队的目标之一是加快公司的工程设计。考虑到许多平台的复杂性以及它们使用的技术(例如Kubernetes),他说典型的产品工程师必须专注于运输功能。Unruh说,这可以包括在客户看到这些功能之前进行试验和转移流量。“我们团队的动机之一就是将其抽象化,并提供无缝的体验,使他们除了开发自己的东西外,无需考虑任何其他东西。”
Unruh说,大约三年前他加入Credit Karma时所面临的挑战的一部分是提高整个公司发布代码的效率。他说,那里的工程师一直在使用较旧的Jenkins风格的系统,该系统充当了通用的求职者。Unruh说,在该系统上开发产品意味着清除过程中的一些障碍,包括跳过在Windows计算机上运行的远程桌面。他说,最重要的是,需要构建新的微服务的团队编写自定义部署代码以推动生产向前发展。Unruh说,这将成为系统执行服务工作的基础。
他说,这意味着一切都不同,因为每个团队都采用自己的方法,这使他们放慢了速度。“将您的服务部署到生产中,线性地需要15个步骤,” Unruh说。“这真的很麻烦,我们无法标准化。”
在寻找提高效率的方法时,他想消除只为了访问系统而跳到另一台主机的需要。Unruh说,他还试图结束对用于部署服务的自定义代码的需求。他说:“我只是建立一个服务,就可以部署它。”