云原生 API
基于托管计算服务(例如容器平台或函数运行环境)搭建的后端服务,设计上能随实际需求上下扩展。
迪拜企业想要迪拜聘请云开发工程师时,通常关心的是应用如何被构建,而不仅仅是它恰好运行在哪里。云开发工程师会围绕云服务商提供的托管服务来设计软件,例如托管数据库、消息队列、函数运行环境或对象存储,而不是在通用服务器上从零开始编写一切。美国国家标准与技术研究院在其云计算定义中,将这种按需、快速供给的资源池视为云计算的核心特征,而云开发工程师的工作,正是设计出真正能利用这一特征的应用。
这与一般的 Web 或后端开发是一项确实不同的技能。一位熟悉某家云服务商托管服务的开发工程师,能交付出一个自动扩展、服务器故障时无人察觉的功能,而用传统方式构建的同一功能,则需要有人时刻盯着它。本页介绍的是不特定服务商的通用角色;如果您的团队已经完全依赖 AWS,我们的AWS 开发工程师页面更贴合需求。
云开发工程师负责构建的内容
六类常见的构建工作,按各自依赖的托管服务分类。
基于托管计算服务(例如容器平台或函数运行环境)搭建的后端服务,设计上能随实际需求上下扩展。
读写托管数据库或对象存储的应用代码,而不是需要团队自行打补丁和备份的自建数据库。
由队列消息、文件上传或定时任务触发的代码,适用于后台任务、通知以及无需即时完成的处理工作。
调用支付服务商、消息服务或其他外部 API 的应用代码,由云端负责处理重试、密钥和周边的扩展需求。
将旧版应用的某一部分重建为运行在托管服务上,通常是更大规模迁移之前的第一步、范围有限的尝试。
选择能让账单保持可预测的服务和模式,因为云成本会随用量扩展,这与传统托管方式不同。
大多数迪拜企业迪拜聘请云开发工程师时,只需要上述六类构建工作中的两到三类,而不是全部六类,因此在向对方说明需求之前,先明确具体是哪一类会更有帮助。
值得关注的技能
对某家云服务商自有服务的熟练程度,而不只是对”云”这个概念的泛泛了解。
| 技能或工具 | 合格的表现 | 为何重要 |
|---|---|---|
| 托管计算服务 | 在至少一家主流服务商的函数运行环境或容器平台上有真实的生产环境经验 | 教程很少涉及真实负载下才会出现的冷启动、超时和并发限制问题 |
| 托管数据库或存储 | 熟悉至少一种托管数据库,理解其一致性和扩展行为 | 托管数据库的表现,与自行安装调优的数据库并不相同 |
| 基础层面的基础设施即代码 | 能够读懂并调整定义云资源的模板,即使不是主要撰写者 | 把应用代码和它所依赖的基础设施放在一起审查会更容易 |
| 密钥与配置管理 | 从不硬编码凭据,并正确使用云服务商的密钥存储机制 | 云环境中凭据泄露是常见且代价高昂的错误 |
| 可观测性 | 把日志和基础指标作为工作的一部分加入,而不是事后补充 | 没有可见性的云应用一旦上线就很难排查问题 |
合作方式
专属开发工程师适合有持续新功能要基于托管服务构建的长期产品。限定范围项目适合一项界定明确的开发工作,例如一项新服务或某个功能的迁移,最终以清晰的交接收尾。如果人员最终应由您自己发薪,招聘支持服务由我们负责寻访候选人并主导面试中的技术环节,最终决定权仍在您的团队手中。如果现有团队只是想就某项具体设计决策获得第二意见,我们也提供独立的咨询服务,而不会接管整个构建工作。
候选人评估
能揭示真实托管服务经验、而非死记语法的考察方式。
您可以自行使用以下考察方式,也可以交给我们,作为招聘支持服务中技术评估环节的一部分。
而不是教程练习的翻版。询问它使用了哪些托管服务,为什么选择这些而不是其他方案,以及上线后出现过什么问题。
如果下游服务超时,或某个函数在任务执行中途耗尽内存,会发生什么。真正有实战经验的候选人会给出具体答案。
一位出色的云开发工程师能大致说明,在规模扩大后,某个设计选择为何比另一个更昂贵。
请对方大致说明过去项目如何存储凭据和配置,而不必要求提供真实的密钥。
一位坦率说明自己熟悉哪家云服务商、只是浅尝过哪些的候选人,比声称对所有服务商都同样精通的人更有价值。
无论采用哪种方式,在迪拜聘请云开发工程师的目标,都是找到一位能为系统中的各项选择给出理由的人,而不只是描述自己用过哪些服务。
认证
目前并不存在单一、不区分服务商的云开发认证,因此这里的证书需与候选人实际使用的服务商挂钩。
每家主流云服务商都设有自己的开发方向助理级认证,例如 AWS Certified Developer Associate。这些认证能合理反映候选人对该服务商各项服务的了解广度,但考察的是知识,而不是真实生产压力下的判断力。
候选人能够讲解的一个真实上线项目,比单独一张证书徽章更有说服力。如果您的项目明确是 AWS、Azure 或 Google Cloud,可以直接问对方是否持有该服务商的助理级认证,我们各服务商专属页面对此有更详细的说明。
实际上,大多数在迪拜聘请云开发工程师的企业,都会把证书作为多项考量因素之一,与真实项目经验和面试表现一并权衡。
阿联酋相关事项
两个在真实迪拜项目中经常出现的方面。
阿联酋官方对2021 年第 45 号联邦法令(其联邦个人数据保护法)的说明指出,该法律适用于境内和境外对个人数据的处理,并对跨境数据传输设定了规则。凡是要处理客户或员工数据的云开发工程师,都应该能说清自己使用的存储和数据库服务实际运行在哪个区域。
AWS 官方公告确认,其包含三个可用区的中东(阿联酋)区域已于 2022 年正式上线,让工作负载有了留在境内的物理选择。其他主流云服务商也提供类似的区域选项,值得在评估阶段一并比较。
本角色属于我们的云计算分类,是更广泛的迪拜聘请开发工程师部分的一员。如果团队已经确定使用某一家云服务商,AWS 开发工程师、Azure 开发工程师和Google Cloud 开发工程师页面专门介绍对应的技术栈。如果真正的问题在于架构设计而不是日常构建,请参见云架构师;如果需要关注的重点是基础设施本身而非应用代码,我们的云工程师页面会更合适。
直接解答
普通开发工程师写出的代码,恰好运行在云端的某台服务器上。云开发工程师则会刻意围绕托管服务进行设计,例如队列、托管数据库或函数运行环境,让应用按照云服务商设计的方式扩展和恢复,而不是与之对抗。
这样做会有帮助,但在早期并非总是必需。如果贵机构尚未选定服务商,我们可以在评估阶段根据您的工作负载推荐一个,或先引入一位云架构师做一段简短的顾问工作。
在日常工作层面通常可以,尤其是小型项目。对于必须在负载下保持稳定的生产环境基础设施,通常更安全的做法是让专职云工程师与开发工程师搭配工作,避免搭建和运维争夺同一个人的精力。
无服务器是云开发的一种风格,完全建立在事件驱动的托管服务之上,没有需要打补丁或调整规模的服务器。云开发工程师可能在应用的某些部分使用无服务器,其他部分则使用更常规的托管服务,视工作负载而定。
作为招聘支持服务的一部分,我们会代您运行本页列出的技术评估,并用通俗的语言向您汇报,让您能够放心做出招聘决定。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。