Categories
程式開發

手把手教你在Serverless平台上部署应用


如今,部署一个三层(表示层、业务逻辑和存储)架构应用程序可能会有些棘手。假设我们有一个简单的Django应用程序,即本教程中的民意投票应用程序。它在我们的本地计算机上运行完美,我们添加了requirements.txt来保存该项目的依赖项。至于数据库,由于我们仅在本地开发,因此可以使用SQLite。

本文中,项目的目的是构建一个系统,使我们能够推送分支代码并将更改部署在单独的环境中,为我们提供唯一的URL进行检查。与now.shheroku.com的功能类似,我们需要一种机制,可以打包我们的代码和依赖项并进行部署,但同时还需要考虑系统的多版本、升级、负载平衡、扩展及数据库状态。

Indroduction

为了实现这一目标,我们需要两个主要组件:一个组件是获取我们的代码并准备将其发布,即CI/CD组件,另一个组件将我们的变更发布到互联网,称为服务组件。我们可以添加第三个组件来保持应用程序的某些状态,例如数据库和存储,但是我们将其添加到服务组件中。

手把手教你在Serverless平台上部署应用 1

Serving component

对于服务组件,我们可以使用Knative。它是基于Kubernetes的Serverless解决方案,并集成了其他一些在Kubernetes上构建的组件。从根本上讲,它可以通过Docker运行并公开到互联网,而无需繁琐的部署流程。你只需要定义一个描述镜像及其运行环境的服务,Knative就会处理其他所有事情(从路由、日志记录、监视到应用程序不同版本的管理以及服务自动扩缩容,包括0缩放以停止服务使用)。

原文链接:【https://www.infoq.cn/article/A0Y8FGvRHh1moOxelhBQ】。未经作者许可,禁止转载。