Deta vs. Heroku。寻找更好的云计算供应商

614 阅读6分钟

在选择云服务提供商时,速度、可扩展性、成本和安全性都应该被考虑,因为这些变量对你的应用程序的成功有巨大影响。因此,关键是你要投入大量的精力来确定哪一个是最适合你的。

在这篇文章中,我们将比较最受欢迎的云服务提供商之一Heroku和一个相对较新的完全免费的替代品Deta。我们将探讨这两个平台提供的服务和功能,它们的定价模式,以及它们的开发者体验--即在这些平台上托管应用程序的体验。

什么是Heroku?

Heroku是一个云平台即服务(PaaS),最初由James Lindenbaum、Adam Wiggins和Orion Henry于2017年创立。该平台起初只支持用Ruby编程语言创建的项目,但自从2010年被Salesforce收购后,该平台增加了对多种编程语言的支持,包括Java、Node.js、Scala、Clojure、Python、PHP和Go。

Heroku Cloud Platform

Heroku的特点

Heroku提供了一系列的工具和服务,以方便扩展和部署你的应用程序。其中一些包括。

代数

几乎每个云服务提供商都为他们的云容器取了一个独特的名字;Heroku的名字是Dyno。

Dynos是任何Heroku应用程序的基本组成部分。它们是隔离的虚拟Linux容器,提供运行你的应用程序所需的所有CPU、内存和操作系统资源。

Heroku还消除了为你的应用程序配置硬件资源和虚拟机的压力。与其担心硬件管理,你可以简单地将你的应用程序发布到Heroku,该平台将把你的应用程序的所有代码和依赖关系打包到dynos。

附加组件

Heroku还允许你用各种附加组件来扩展你的项目,这些附加组件是由Heroku和第三方开发者提供的额外的云服务,可以为你的应用程序添加更多的功能,如缓存、数据存储(包括对Postgres、MongoDB和MySQL等的支持)、事件调度、日志等。

操作体验

Heroku提供的另一个耐人寻味的功能是操作体验平台,它允许你专注于维护你的应用程序的可靠性,同时提供一个优秀的用户体验。

这个平台有助于监测你的应用程序的健康状况,验证其响应能力,并对请求失败产生主动警报,甚至在你的用户看到它们之前。

Heroku Operational Experience Platform

价格

Heroku提供了一个慷慨的免费动态计划,其中包括一个自定义域名和一个免费的512MB的内存供应。然而,你的应用程序将在30分钟的不活动后休眠。这意味着,如果每隔30分钟没有向你的应用程序发送请求,或者它的URL没有被访问,应用程序就会休眠,而下一个请求将需要长达10秒的时间来加载。

其他每项计划从每月每朝7美元到500多美元不等,取决于你的项目要求。欲了解更多信息,请查看他们的定价页面

开发者经验

在Heroku上托管你的应用程序的过程是相当简单的。一个选择是用Heroku和你的项目开发平台(如GitHub或GitLab)建立一个CI/CD管道;另一个选择是使用Heroku CLI,这是一个更快创建新项目以及直接从你的命令行管理你以前所有项目的方法。

使用Heroku CLI,你还可以简单地搜索并将他们市场上的任何附加组件添加到你的项目中,甚至可以在部署给公众使用之前在本地测试你的项目。

什么是Deta?

Deta--正如其主页上提到的 "为实干家和梦想家提供的云"--是一个相对较新且完全免费的云服务提供商。它提供了一个对开发者友好的界面,允许你在几秒钟内将你的程序部署到云上。虽然该平台目前只支持托管Node.js和Python项目,但未来对其他编程语言的支持也不足为奇。

Deta Cloud Platform

功能介绍

德塔微信

Deta托管的应用程序,如Heroku的Dyno,被称为micros;这是一个沙盒化的Linux虚拟机,每个进程执行的内存超过128MB,还有一个只读的文件系统,存储空间高达512MB。

与Heroku不同,它只允许你运行最多两个免费的dynos,你可以在Deta上创建无限数量的micros。然而,你的应用程序源代码及其依赖的大小不能超过250MB。

Micros目前只支持Node.js和Python。值得注意的是,这两种语言的旧版本不被支持;这在未来可能会改变,但目前支持以下版本。

  • Nodejs:12.x,14.x
  • Python。3.7, 3.8, 3.9

Deta基础

Deta并不是为操作Postgres或MySQL这样的关系型数据库而设置的,因此该团队开发了自己的安全NoSQL数据库,专门为托管在其平台上的应用而设计。

Deta Base是一个快速和可扩展的NoSQL数据库,优先考虑终端用户的便利。它有一个用户界面以及一个SDK,允许你管理和查询数据库中的记录。该数据库以Javascript、Python和Go SDK的形式提供,其语法相当简单。下面是一个如何从数据库中插入和删除记录的例子。

const { Deta } = require('deta');

// Project key retrieved from deta dashboard
const deta = Deta('your-project-key'); 

// Connect to or create a new 'users' database.
const users = deta.Base('users'); 

// Add new user to the database.
users.put({name: "Elijah", state: 'Lagos'})

// delete user with key 'one'
const res = await db.delete("one")

Deta Drive

Deta Drive是一个安全和可扩展的文件存储解决方案,是该平台提供的另一项服务。它与Deta Base很相似,不同的是Deta Drive侧重于文件/资产管理,如图片、视频和其他类型的媒体,而Deta Base侧重于数据管理。所有账户都有10GB的存储空间,考虑到它是免费的,这是一个相当慷慨的提议,所有存储在驱动器上的文件都可以直接从你的仪表板或通过他们的SDK以编程方式管理。

价格

与Heroku不同,Deta提供的所有服务都是免费的,你不需要提供任何信用卡信息或其他敏感的支付信息就可以开始使用。

开发者体验

与Heroku一样,Deta也有其集成的CLI,用于管理所有现有的项目或创建新的项目。与Heroku不同,Deta目前不支持CI/CD,这意味着你不能将你的GitHub或GitLab项目同步到Deta,以反映新的变化,因为它们被推送。

最后的想法

在这篇文章中,我们比较了最受欢迎的云服务提供商之一Heroku和完全免费的新选择Deta。这两个平台都提供了优秀的服务。

然而,就目前而言,Deta启动和运行的速度更快,而Heroku应该被考虑用于企业应用程序。另外,由于Deta还比较年轻,我们应该期待在未来有很多耐人寻味的更新。

The postDeta vs. Heroku:寻找更好的云计算供应商》首次出现在LogRocket博客上。