17611538698
webmaster@21cto.com

福特是如何进行云原生转型的?

云原生 0 1014 2022-10-24 08:51:56

当今正进行数字化转型时代,正如微软公司首席执行官萨蒂亚纳德拉(Satya Nadella)所说的那样,现在每家公司都将是一家软件公司。

图片

纳德拉说的这些软件公司其中就包括福特汽车,这家公司现在已经过渡到在云原生软件上运行了 6 年了。

应技术媒体特别邀请,福特技术团队的两名高级员工 Beckie Riss 和 Satish Puranam 分享了他们对福特技术、帮助同事适应,并拥有先进云技术战略,如何帮助公司招募新人才等看法。

首先,您能介绍一下自己和您的团队吗?

BECKIE RISS(首席架构师,开发人员关系、工具与支持):我的团队是企业架构的一部分,我们负责构建内部平台、工具和流程以支持福特的云原生软件开发。  

SATISH PURANAM(云技术负责人):我的团队是福特 IT 运营部门的一部分,我们专注于公有云和私有云技术,其中包括大量的研发、产品评估、服务启动,并且随时待命,解决我们产品组合中的任何重大服务中断。

为什么技术专家应该考虑福特?

RISS:我们致力于在全公司范围内进行全面数字化转型,我们拥有有史以来最好的产品阵容(包括在特斯拉在内的电动汽车销量中,我们排名第二),并且让拥有以软件为主导的、永远在线的福特汽车变得更加快乐的技术、服务和深厚经验。例如,我们从联网车辆数据中了解客户偏好,然后可以通过向这些产品来更新有用的功能或其他改进。比如 F-150 和 Mustang Mach-E 客户,他们最近使用了我们的 BlueCruise 免提、增强版高速公路驾驶技术等福特 Power-Up 软件更新。第一天,他们可以正常驾驶车辆,第二天他们就可以解放双手了。我们正持续提供更强有力的支持。

福特是什么时候开始这项技术改造的?

RISS:2016 年,福特智能移动CIO Marcy Klevorn 启动了一项新计划,从此开始了福特的云原生应用程序开发之旅,以充分利用现代云计算技术和基础设施的力量。作为此计划的一部分,云与 DevOps 增长和软件加速成熟 (CDGM) 团队在企业架构领导下成立,用来加速云原生应用程序的开发,同时加快提高许多软件工程师的技能。福特推动应用程序托管环境现代化,以支持软件开发的旅程,这些出于希望缩短上线时间并为开发社区和基础设施站点可靠性工程师控制成本和复杂性的愿望。

PURANAM:随着云原生技术变得越来越主流,我们已经改变了数字战略,我们相信这种趋势将会继续下去,因为未来成为现实的创新将永无止境。我们的主要挑战是围绕最终用户启用,最大化减少进入这些现代化技术堆栈的巨大障碍。

成功对你来说是什么样的?

PURANAM:我们的软件工程师可以快速交付具有高度满意度和有效性的业务功能。

RISS:我们团队的目标是允许工程师自由选择技术和工具集,以创新并提供“有意见的堆栈”。

您使用了哪些工具和技术?

PURANAM:我们的重点技术领域包括公共云和开放技术,如 Kubernetes、Knative、Istio、Tekton、ArgoCD、Kubevirt、Prometheus、SigStore 和 Terraform。此外,还有 Airflow、Kubeflow、Seldon 等数据平台。

RISS:我们的团队目前正在开发一个软件平台,使用 Backstage 来整合各种门户、服务、指南、工具和基础设施入门实用程序,并为软件工程师们提供无缝连接。

您的部分工作是“文化转型”。作为采用新技术的一部分,福特开发团队文化的哪些部分需要发展?

PURANAM:我们很早就意识到需要重新定义我们重视的角色,教育我们的同事来弥补这些角色,并以不同的方式让组织更加灵活。

我们的 IT 领导团队定义了关键的文化价值观:“好奇”、“做正确的事”和“创造明天”。 

RISS:我们的员工逐渐意识到需要拥有自己的职业发展。我们的 CIO 创建了 PowerUp Time,每周 4 小时,员工可以花时间提升技能或从事创新项目,以改造自己使用的工具和平台。我们还认识到,有一个中心团队来解决将开发工具组合在一起,并使这些平台可供软件工程师使用的问题,而不是总让人们重复集成工作,这是非常有意义的。

对于您的员工来说,围绕云原生和开源最困难的变化是什么?

RISS:一切开始自助服务。云原生平台让自己,开发者,坐在方向盘后面。这种情况变得好坏参半,有些人很高兴能掌控局面,而另一些人则有些害怕。我们需要构建一种平台/服务,以便提供简单的入口并内置足够的防护栏。宣传和培训也变得非常重要。我们的大部分工作是入门指南、视频、常见问题解答和一对一互动。

PURANAM:云原生缺乏简单的入口,还有极快速的变化步伐,因此开发人员需要时刻保持警惕。减少我们的开发人员的认知负担是挺不容易的事。

KubeByExample.com 是否帮助采用了这些更改?

PURANAM:我们基于 KubeByExample 教程创建了一个参考应用程序,帮助我们的员工学习 Kubernetes 和 Tekton。该网站讨论的所有内容都是我们的开发人员需要学习的内容。

说到 Tekton,您的团队是如何采用它的?他们是否已经熟悉持续集成/持续部署 (CI/CD)?

RISS:在 2016 年开始我们的旅程时,我们的技术团队开始采用 CI/CD 管道,主要使用 Jenkins。迁移到 CI/CD 的文化进展是缓慢的,还依赖于想要投资于传统进行现代化改造的地方。随着我们开发新应用程序的速度很快,并且有支持合作伙伴,Tekton 出现在我们的视野中。在过去的 18 个月里,团队从采用 CI/CD 到采用 Tekton。

PURANAM:Tekton 是 Kubernetes 云原生的,我们希望它能够利用好我们不断增长的专业知识。我们一直也在寻找具有松散耦合的可重用组件——创建单独的任务并让开发人员重用这些任务。Tekton 抽象了很多概念,团队无需成为 CI/CD 专家就可以使用它。我们让 Terraform 进行配置,Tekton 为我们提供了一种并行的方式来推动基础设施的改变。

RISS:我们一直在积极采用 DORA 推荐的最佳实践,它提倡基础设施即代码 (IaC)、CI/CD ,来推动通过适当的功能和安全测试的小步骤发布。我们相信这种方法和实践对于成功非常重要。

采用 Knative 和无服务器平台效果怎么样?

PURANAM:Knative 是一个抽象层,用于消除 Kubernetes 的复杂性。开发人员是否需要具备 1000 多个 Kubernetes 对象处理的专业知识?还是他们可以自由编码不需要关心基础设施?这些是关于我们如何减少开发人员的认知负担。

RISS:它让我们的研发团队抽象出围绕 Angular、Java Spring Boot 和 Node.js 技术堆栈构建和部署容器的全部复杂性。

关于福特和 Cloud Native 的未来有什么展望?

RISS:在我的职业生涯中,我看到了如此多的技术进步,我很难预测未来。但我可以自信地说,我们将在新技术出现时采用它们,利用它们为公司的软件研发带来更多好处。 

评论