基于 Cloud Run 的 API 和后端
空闲时缩容至零、流量恢复时自动扩容的容器化服务,供移动应用、网站或其他服务调用。
已经运行在 Google Cloud 上、或为新产品选定了 Google Cloud 的企业,往往会迪拜聘请 Google Cloud 开发工程师来构建应用本身:一个 API、一项后端服务,或一个通过 Google 托管服务读写数据、而不是依赖自建数据库服务器或消息队列的 Web 应用。这是构建应用的工作,与运维底层平台的 Google Cloud 工程师职责有所区分。
真正出色的 Google Cloud 开发工程师,与只是部署过一个教程项目的人之间的区别,在于是否熟练掌握 Google 特有的做事方式:哪种托管服务能替代原本需要自行运维的一部分基础设施,以及在什么情况下,Cloud Run 上的一个容器比一台更昂贵、常驻运行的虚拟机更适合某项工作负载。在迪拜招聘 Google Cloud 开发工程师之前,值得先明确您的项目真正需要哪些 Google 服务。
Google Cloud 开发工程师负责构建的内容
真正会落地到生产环境的内容,而不是招聘广告里的一堆术语。
空闲时缩容至零、流量恢复时自动扩容的容器化服务,供移动应用、网站或其他服务调用。
由文件上传、队列消息或定时任务触发的小段代码,中间无需一台常驻运行的服务器。
直接调用 Google 自有服务的应用代码,例如存储、消息传递或托管数据库,而不是自行搭建同类服务。
位于数据平台前端的应用层,通过明确定义的接口读写数据,而不是直接、不受管控地访问数据库。
从代码变更到部署上线的可复现路径,让发布保持一致,而不是一次性的手动操作。
在代码层面正确配置身份验证、输入处理和服务间权限,与平台层面的安全措施相互配合。
值得关注的技能
候选人是否真正交付过成果,对照 Google 自有的产品名称核实,而不是一份泛泛的云端简历。
| 技能或工具 | 合格的表现 | 为何重要 |
|---|---|---|
| Cloud Run 或 App Engine | 曾在其中之一交付过真实服务,而不只是跟着入门指南操作过一遍 | 部署和扩展行为与自行运维的服务器有足够的差异,容易让新手栽跟头 |
| 选择合适的托管服务 | 能说明为什么选择某项 Google Cloud 服务,而不是自建替代方案 | 选错方案会在日后悄悄增加成本或运维负担 |
| API 设计 | 在编写实现之前,先设计出清晰、有文档说明的接口 | 调用该服务的人不应该需要阅读源码才能使用它 |
| 自动化测试 | 把测试作为工作的一部分来写,包括容易被忽略的事件驱动代码 | 未经测试的事件处理程序会悄无声息地失效,通常只有在真实生产负载下才会暴露 |
| 部署流水线 | 熟练搭建可复现的构建和部署流程,而不只是手动部署 | 手动部署一旦超过最初几次发布就难以为继 |
Google 官方在其 Cloud Run 文档中,将其描述为一个能自动扩展、并可缩容至零的全托管平台,这正是如今这么多新的 Google Cloud 应用开发工作,都围绕它而不是围绕一台固定虚拟机来构建的原因。
合作方式
一个持续增长、每月都在增加新功能和集成的应用,更适合由专属开发工程师负责维护代码库。一项有明确起止点的单一服务,例如一个 API 或一次从旧技术栈的迁移,则更适合限定范围项目,按照书面简报报价并交付。如果您更希望在自己公司内部长期建立这项能力,我们的招聘支持服务负责寻访候选人并进行技术评估,最终决定权和雇佣关系都在您手中。如果悬而未决的是架构问题,例如 Cloud Run 是否真的适合您的工作负载,在动手写代码之前先进行一次简短的咨询,通常能省下比它本身更多的成本。
候选人评估
能揭示真实服务搭建经验的考察方式。
询问它的功能、为什么运行在当前位置,以及现在回头看会如何调整设计。仅凭这一个问题,就能在迪拜招聘 Google Cloud 开发工程师承接更复杂任务之前,筛掉大多数不合适的人选。
一个部署在 Cloud Run 上的单一 API 端点,规模控制在一个下午能完成,考察重点是结构和错误处理,而不只是答案在技术上是否正确。
出色的答案会权衡成本、运维负担和对工作负载的适配度。薄弱的答案则不论是否适合,都默认沿用上次用过的方案,这正是在迪拜招聘 Google Cloud 开发工程师负责具体应用之前,需要提前识别的习惯。
当某次发布破坏了系统时会发生什么,以及能多快回滚。真正在生产环境中运维过服务的候选人,会有具体的答案。
专门要求查看事件驱动代码的测试,因为这正是较常被忽略的部分之一。
认证
Google 官方为这一具体角色设立的证书。
这是 Google 官方认证,其认证页面将其描述为验证在 Google Cloud 上设计、构建、测试和部署应用的能力。在迪拜招聘 Google Cloud 开发工程师时,把它列为偏好条件是合理的,我们也可以应要求将其纳入候选人筛选标准。
获得 Google Cloud 认证的个人,可以通过 Google 官方认证名录分享公开证书,值得据此与简历上的姓名核对,而不是单凭对方的说法照单全收。
阿联酋相关事项
一个真正会影响阿联酋托管应用的方面。
阿联酋通过了其首部联邦个人数据保护法律,即 2021 年第 45 号联邦法令,要求在处理个人数据前取得同意,并对数据的跨境传输设定条件。应从一开始就把这一点纳入数据结构和各项集成的设计,因为事后再往一个已上线的 Google Cloud 应用中补充同意处理机制,会带来大得多的干扰。
Google Cloud 距离阿联酋最近的区域,是位于沙特阿拉伯的达曼,而不是阿联酋境内的某个区域。如果您迪拜聘请 Google Cloud 开发工程师所做的项目,对数据必须留存在阿联酋境内有硬性要求,请尽早提出这一点,因为它可能会彻底改变平台的选择。
本角色列在云计算分类下,属于迪拜聘请开发工程师下的一个类别。这一角色常常与Google Cloud 工程师的平台工作混淆,如果您还不确定自己需要哪一个,也请查看那个页面;此外可参见GCP 解决方案架构师,了解通常先于这两者出现的设计决策。如果 Google Cloud 只是众多服务商之一,我们的多云架构师和云顾问页面覆盖了更广的视角;如果云服务商本身尚未确定,我们通用的网站开发简报可能更适合。
直接解答
Google Cloud 开发工程师编写并部署应用,构建应用的方式要能充分利用 Google Cloud 服务。Google Cloud 工程师则负责运维应用之下的平台:项目、网络、身份和监控。小团队有时会让一人兼顾两者,但这两项技能实际上并不相同。
这取决于您已经在使用什么。如果您的数据、分析或现有服务已经在 Google Cloud 上,在这里继续构建能让一切保持在同一个平台内。如果还没有定案,在决定聘用之前,值得先做一次简短的咨询沟通。
如今 Cloud Run 适合大多数新的后端和 API,因为它以容器方式运行,空闲时能缩容至零。App Engine 仍然适合一些为它专门构建的现有应用。一位称职的 Google Cloud 开发工程师,应该能针对您的具体应用给出理由,而不是默认使用某一种方案。
在工作层面通常可以,因为许多 Google Cloud API 本就设计为可以直接从应用代码中调用。要求较高的数据平台或大规模分析建设,通常需要专才,而不是让一位通才的 Google Cloud 开发工程师同时兼顾两端。
以针对您简报明确范围的书面固定报价为准,而不是按小时计费。大多数在迪拜聘请 Google Cloud 开发工程师做限定范围搭建的企业,更倾向于这种方式而不是没有边界的按小时安排,较大的建设项目通常会拆分为多个阶段,每个阶段开始前都会先确认。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。