从前端到全栈!“云原生”是什么意思?这对全栈开发意味着什么?无服务器云:从前端到全栈的最短路径 想成为全栈开发者?那就去无服务器吧!

2025-05-27

从前端到全栈!

“云原生”是什么意思?

这对于全栈开发意味着什么?

无服务器云

从前端到全栈的最短路径

想要全栈?那就去无服务器吧!

我的大部分职业生涯都是在做前端,当我想成为一名全栈开发人员时,我的第一个想法是“我必须了解云!”

因此,云成为了我的起点,因为我为什么要关心十年前的事情是如何完成的呢?

我了解到 AWS 是市场领导者,甚至还提供一些认证,所以我专注于 AWS。我的想法是,当我学习并考取这些认证后,我将能够更好地了解基础知识。

并且它被认为是有效的;我对 AWS 以及如何使用其服务构建应用程序有了很好的了解。

但是当您是前端开发人员时,有更快的方法可以开始。

从长远来看,我仍然建议参加认证,但即使拥有足够的学习资源和涵盖内容,在开始使用云原生技术时您可能永远不会使用,也需要数周的时间来准备。

当然,了解 EC2 的来龙去脉是件好事,但作为前端开发人员,最好从一开始就采用“云原生”。

“云原生”是什么意思?

我看到了云和素食主义之间的一些相似之处。

如果人们停止食用肉类产品,他们通常会尝试以1:1的比例替代肉类菜肴。他们会像平常一样烹饪这些菜肴,不添加肉类产品,而是尝试用植物或菌类食材来达到同样的效果。

这在一定程度上确实有效,肉类替代品行业也每天都在进步,但它错过了制作不含肉的菜肴的可能性。

云计算也是如此。企业使用服务器或虚拟机构建单体应用,因此云提供商必须为他们提供可以作为直接替代方案的技术。

开发人员开始在这些云虚拟机上安装他们的 SQL 数据库和单片应用服务器,并节省了一些钱,因为他们不再需要进行所有维护。

但如果他们采用云原生技术而不是仅仅采用虚拟机,那么将会获得更多。

那么,什么是云原生技术?

这是专为在云环境中运行而设计的技术。

云原生技术应该水平扩展,而不是像整体技术通常那样垂直扩展。

云原生技术应尽可能实现“按需”定价。租用一个月可能比购买一台服务器便宜,但租用一小时可能比租用一个月更便宜。按功能执行付费可能比租用一整台虚拟机一小时更便宜。

云原生技术应该易于设置和维护。毕竟,如果你运行虚拟机,你仍然需要安装安全补丁等等。

还有很多要点,但我认为这些是最重要的。

这种云原生方法的问题在于,你会失去一些灵活性。

您可以在虚拟机上“按原样”安装所有软件,但无法使用 Lambda 函数执行此操作。您也无法使用 S3 存储桶来存储 SQL 数据库文件。

这对于全栈开发意味着什么?

基于虚拟机的方法是更经典的方法,也是网络上学习资源最多的方法。这种方法是为了解 SQL 数据库、负载均衡器和 Web 服务器的人创建的。

但当你从前端开始的时候,启动起来也会困难得多。

如果你从事前端开发,无论如何你都必须学习新技术,那么为什么不比那些以“老方法”做事的人更有优势,拥抱云计算呢?

无需为不使用的服务器付费,无需安装操作系统更新或安全补丁,无需对 SQL 数据库进行分片,也无需担心水平扩展问题。一切开箱即用。

无服务器云

在当今的云术语中,“无服务器”这个词描述的是特定于云提供商的云原生技术,但也为您在特定云提供商上提供最佳的开发人员体验。

Google Firebase 允许你利用大部分前端技能在 Google 云上构建全栈应用程序。虽然它让你被锁定在其生态系统中,但使用它也能节省大量时间和(维护)成本。

相比之下,Kubernetes(K8s)不是特定于云提供商的,同时仍在尝试成为云原生,只是所有云的原生。

K8s 允许你在任何云平台上构建全栈应用程序,但仅凭你的前端技能,你无法走得太远。它让你可以访问任何云平台,但你需要在设置和维护上投入更多时间。

从前端到全栈的最短路径

学习无服务器技术。

不同的云提供商都提供一些无服务器技术,帮助您快速启动和运行。

我个人最喜欢的是AWS Amplify,因为我喜欢 AWS 云,而且我认为它遵循了正确的方法。与 Google Firebase 相比,它并非一项全新的服务。虽然它附带的部署服务无疑有助于处理繁重的工作,但它主要利用命令行工具来简化与现有 AWS 服务的协作。这让您能够充分利用 AWS 的强大功能,而且操作起来并不比使用 Rails CLI 难多少。

但是 AWS 和其他提供商还提供了许多其他无服务器技术来帮助您启动和运行。

AWS 还提供CDK,这是一个“基础设施即代码”框架,允许你使用 JavaScript、TypeScript 等语言定义云基础设施。这样你就无需再学习其他编程语言了。

正如我所提到的,Google 拥有Firebase 生态系统,我没有使用过它,但它似乎是一个坚实的、尽管相当独特的入门基础。

Azure 推出了一项名为“静态 Web 应用”的新服务,该服务目前处于预览阶段,承诺“简化从源代码到高全球可用性的全栈开发”。

Cloudflare 提供Cloudflare Workers 生态系统。所有边缘部署(低延迟)的功能均可作为服务和键值存储,适用于具有动态功能的静态网站。

Netlify比大型云提供商高出一级。他们致力于构建“核心云原生服务”和前端之间缺失的部分,因此您无需为此担心。

FaunaDB是一款数据库即服务 (DBaaS)。它可以在任何联网设备上使用,并支持全局复制。虽然它并非一款功能齐全、功能齐全的无服务器产品,但它解决了全栈部署过程中遇到的最大问题之一:部署可靠的数据库。

Auth0是业界领先的身份验证服务商。他们也提供(小型的)功能即服务和存储功能;虽然它们无法满足您的所有需求,但足以满足您的实际使用需求。

想要全栈?那就去无服务器吧!

市面上有很多无服务器技术可以帮助你成为全栈开发者。有些技术甚至可以让你在几分钟内部署一个功能齐全的应用程序。

但不要被它愚弄;这些只是你成为一名多产的全栈开发人员的第一步。

如果您想深入了解,我建议您阅读AWS的“Well-Architected”文档(尤其是他们的无服务器镜头(pdf)AzureGCP)。它们涉及全栈应用程序必须考虑的所有要点,并展示有关特定云提供商提供的服务的解决方案。

如何保障你的应用安全?如何实现持续交付?这些文档为你一一解答。

文章来源:https://dev.to/fllstck/from-frontend-to-fullstack-2ah4
PREV
JavaScript 开发人员的 Solidity 基础知识(第一部分)
NEXT
DevOps 为何有用