Jamstack的新API后端

2020-12-22 21:01:29

上个月,我们讨论了一种新的架构模式,前端是Netlify,后端是Micro。随着前端已逐渐成为Jamstack的主导者,我们认为后端还需要对其设计和消费模型进行根本性的转变。

Netlify在很大程度上不了解框架使用情况,但已将传统堆栈的分解推向了更多由微服务和API驱动的问题。长期以来,Micro一直是倡导者,无论是作为开源项目,还是现在作为称为M3O的托管平台。

但更重要的是,我们看到后端需要超越提供传统基础架构服务的范围来发展。仅专注于身份验证,配置,存储,托管等已不再足够。我们真正需要的是能够提供业务级价值的高级API。

最主要的示例是Stripe,Twilio,Sengrid和Segment。谁专注于金融,通信和分析的API。 AWS,Google和其他公司正在提供有关基础API的信息。

我们真正需要的是抽象的下一层。我们需要新型API和服务的构造块。 Micro充当这些服务的平台,现在我们希望进入提供更高级别的增值服务的阶段。

使用微服务时清楚的是,可以将系统分解为较小的领域特定的可重用服务,然后再聚合成多种形式,如增值服务,产品和业务。

正如您在此图中所看到的,并且可能是从常识中看到的,大多数业务都是从基础架构开始一直由相同的通用构建块组成。只有在达到业务特定要求时,我们才需要我们自己的服务来处理该逻辑。

疯狂的是,我们大多数人继续在后端不断地构建相同的系统,而不是在彼此工作的基础上重复使用和构建。 GitHub加快了开源流程的步伐,但我们尚未看到业务逻辑,服务和API的相同情况。

现在,我们的目标是通过一个统一的平台和可重复使用的服务来实现这一目标。

今天,我们推出了Micro Services,这是一组可重复使用的构建模块服务,无论您是自行托管开源项目还是使用我们的托管平台M3O,这些服务都可以在Micro Platform上使用。

如果您想阅读代码或在本地踢轮胎,请直接浏览github.com/micro/services。

在web.m3o.com上登录时,可以使用上述所有服务来进行探索和部署。

作为此公告的一部分,我们将发布新的Web UI,以快速启动并运行。

登录后,您可以转到新的服务页面,以探索和部署以上任何内容以及直接从公共git网址直接构建的其他任何Micro服务。

选择并运行服务后,该服务的一个实例将部署到您的名称空间。服务部署后,可以直接从网络用户界面中浏览和调用其API端点以及其运行状态和日志。

使用我们称为micro.js的应用程序,也可以很容易地从Javascript调用所有正在运行的服务(当前只有Vanilla JS客户端可用,将来还会有更多)。有关代码,请参见嵌入标签。

Micro.js提供了一种调用平台上运行的服务的简单方法,包括使用用于登录/注册的弹出窗口处理身份验证,从而可以轻松地将微服务添加到Web上的任何位置。

对于那些对登录,注册,用户阅读和令牌刷新API调用的打字稿实现感兴趣的人,相关的Web仪表板代码可能会很有用。

虽然我们提供了一些现成的服务,但Micro是一个全方位的生态系统,其中包括Go开发平台和框架。我们希望鼓励所有人参与其中,无论是为自己的消费编写服务,还是为其他所有人的消费回馈他们到github.com/micro/services。

要了解有关Micro本身的更多信息,请访问开源网站micro.mu或加入我们。