文章
翻译
应用现代化趋势:左移已经过时,下移才是未来

应用现代化趋势:左移已经过时,下移才是未来

Richard Seroter , Director of Outbound Strategy and Engagement

欢迎阅读《应用现代化趋势》的首刊,也被称为“TMI”——一个完美地概括了我们使命的缩写:热情地分享所有与技术有关的事情。这篇专栏来自Google Cloud的领导者,专注于软件开发、分布式系统、无服务器、微服务、DevOps和SRE、平台运营,或者是当今流行词汇引发专栏作家想象的任何话题。今天我们聆听Richard Seroter的意见,他是Google Cloud现代基础设施团队的对外战略与参与总监,已经思考这些话题超过20年了。亲爱的读者们,请记住,当涉及现代基础设施时,没有所谓的信息过多。

十岁的Richard独自坐在冰冷的汽车驾驶座上,认为自己是国王。“看着我,我在开车!”我会对坐在我旁边的虚构乘客大喊大叫。直到多年后,我才意识到我机智的母亲会“让”我启动我们的汽车。我太着迷于自己出奇制胜的驾驶技能,没能意识到我在做她不想接手的工作:为我们的上班路途预热车引擎。

今天呢?除了我的意识以外,没有什么改变。四十多岁的Richard正在疯狂地戳着自助结账屏幕,在杂货店查找“无籽葡萄”的代码,同时享受自己扫描和装袋生产的“特权”。

从我的母亲到我们当地的市场再到软件开发,将工作负载从一个组转移到另一个组是优化资源的关键步骤。今天,我们要求我们的开发者“左移”并适应不断发展的方法论。但这是一个沉重的负担。我们可以通过利用他们可用的全部工具和服务来最大化他们的才能,而不是强压更多的工作量在我们的开发者身上。

当然,“左移”——在开发过程的早期融入安全和QA审查的做法——是一个非常好的想法。但多年来,越来越多不传统的开发工作类型已经以“全栈工程师”的名义向左滑动,以赋予他们更多的权力。这得停止了。

[小小的发泄:地球上就像有9个真正的“全栈工程师”。几乎没有人会用React编写前端、设置Kubernetes、配置RabbitMQ实例、提供SAN空间和点亮顶部机架交换机。今天的开发者被要求了解Web框架、架构模式、测试策略、构建系统、多种类型的数据库、缓存、自动化工具、容器编排器、L4-L7网络概念、SaaS API、监控系统、众多的公共云,也许还有一点点的机器学习。我刚刚翻阅了Indeed.com,惊讶地发现我们要求初级和高级开发者的能力太多了。这实在太多了。]

下移!

作为一个行业,我们需要提供帮助。首先,我们需要鼓励开发者(以及他们的经理们!)通过充分利用可用的技术,将更多的工作负载压缩到他们已经使用的平台上,从而“下移”,而不是告诉他们左移。压缩你的技术栈,不要强迫人们在工作中掌握太多知识。提供平台抽象。最近,我为一位客户做了一个“Google如何实施DevOps”的演讲,它突出了我们为工程师提供的许多平台。我们为编码、测试、构建、发布、部署、托管、告警等提供托管体验。专门的Google团队支持这些关键平台,因此我们的产品工程师可以专注于他们需要做的事情,而不需要了解或操作“全栈”的基础设施。每个组织都应该这样做。

技术领导者不应该要求当前的工程资源承担更多的责任——学习新语言、平台和云——而是应该成立平台工程团队,将他们的平台作为产品来对待。优化始于减少开发者的认知负担,消除分散他们注意力、阻碍创新的不必要责任。同时,为他们提供利用人工智能和大语言模型(LLMs)的能力所需的工具和基础设施,意味着你的开发者正在创造而不是苦苦挣扎。我们目前正在启动更多的指导和材料 (opens in a new tab),帮助每个人拥抱平台工程,敬请期待。

通过观点赋能

作为云服务提供商,我们可以将观点融入到我们的产品中。即使开发人员被迫使用各种产品和服务来完成他们的工作,我们也可以通过普遍的“下移”原则,在他们所在的地方与他们会面,分担基础设施管理负担。我喜欢GKE Autopilot能够随需应变地为我提供一个经过适当加固、管理的Kubernetes集群,而又不会阻碍我的工作流程。如果你需要使用Kubernetes,你应该按照Autopilot的方式来做,并消除所有分散你开发时间的集群配置问题和困扰。想要一个安全的供应链吗?不要让一个鲜活的人来解析软件架构师的供应链级别(SLSA (opens in a new tab))清单。自动向构建添加证明(就像我们在Cloud Build中所做的那样),并将运行时检查变成一个…可选项。我们正在这样做。默认情况下使服务高可用,而不是要求开发人员自己找出来。我们的服务,如Pub/Sub、Firestore、Spanner、Cloud Storage或Cloud Logging都可以通过这种方式“自动工作”。观点也可以在更低的层面上,我们可以帮助某人在他们的代码中解析CloudEvents,而不是强迫他们自己找出来。使用诸如生成式AI应用程序构建器 (opens in a new tab)之类的工具,开发人员可以快速推出令人兴奋的新体验,如数字助理、定制搜索引擎、聊天界面等。为客户提供观点明确但可扩展的框架,以最大化他们的技术投资,是成功(云)体验的关键。

在Google Cloud,我们正在帮助人们使用令人难以置信的技术来构建惊人的事物。为了实现这一目标,我们创建了工具和服务,为开发人员提供了一个安全设计的硬件和软件体验。这使得他们可以默认实施许多“左移”的最佳实践,加速开发。高效地分配工作负载可以确保工程资源在最需要它们的时候始终高度可用并发挥最佳性能。

作为一名2023年的软件开发人员真是太了不起了,但这也是任何职业中最大的认知负担之一。我们不是要将软件生命周期中越来越多的责任加给开发团队,而是帮助我们的客户建立一个促进可持续和创新的工程文化的平台实践。通过采用“下移”的做法,并充分利用技术栈的优势,通过良好配置的自动化和管理服务,创新可以茁壮成长。随着我们站在AI辅助技术的新阶段的悬崖边上,为了实时指导而转向自然语言聊天机器人的开发者缩短了代码创建时间,我们正在赋予开发者们驱动商业和技术成功的能力。和十岁的Richard不同,他们甚至可能会有所收获。