InfoQ 访谈:Render 新应用托管云供应商

阅读数:5256 2019 年 6 月 12 日 08:00

InfoQ访谈:Render新应用托管云供应商

Render 是一个新的 Web 和 App 托管供应商,按照 Render 的 CEO 所述,在全面的云供应商(如 AWS)和 PaaS 供应商(如 Heroku)之间,Render 做到了“完美的平衡”。

Render 仍在致力于构建它的服务套件,但是已经具备了运行基础应用的基本要求。通过 dashboard,开发人员可以决定创建哪种类型的服务,也就是公开的还是私有的。这会连接到一个 GitHub 仓库,每当将代码更新推送到该仓库的时候,都会向服务部署更新。这样的话,没有必要创建单独的构建和部署管道。

目前,它所支持的是脚本语言,如 Node 和 Python。对于想要使用不同技术(如 Java 或.Net )运行应用的人来说,Render 还支持运行 Docker 容器。创建连接至 GitHub 仓库的 Node.js 应用只需要“点击一个按钮”,它能够在 30 秒以内运行起来。

Render 的定价模式是基于服务的运行时长的。价格从静态站点的每月 0 美元到 8Gb RAM 四核服务的每月 100 美元不等。根据带宽的不同,还会有额外的成本。

InfoQ 联系到了 Render 的 CEO Anurag Goel ,询问了这个新产品相关的问题。

InfoQ:你能对还没有听说过 Render 的读者介绍一下它都有哪些独特之处吗?

Anurag Goel:在云中托管应用时,传统上开发人员需要在大型云提供商 (如 AWS) 和平台即服务 (Platform-as-a-Service,PaaS) 解决方案 (如 Heroku) 之间做出选择,前者复杂且需要深入的 devops 专业技能,后者较为昂贵而且不能随着应用程序复杂性的增加而扩展。Render 为开发人员和初创公司提供了两者的完美平衡:瞬间搭建和超强的易用性,再加上以前只有 DIY 云供应商才能提供的强大功能和灵活性。我们通过一个直观的托管平台来实现这一切,用户不需要任何关于服务器和基础设施的知识,它构建在强大的容器化技术之上,能够达到灵活性、降低成本以及大规模扩展的目的。

对于开发者和初创公司来说,Render 是最易于使用的云解决方案,他们可以托管所有的应用和 Web 站点,不用担心成本、可扩展性和需要 devops 团队的问题。

InfoQ:你能介绍一下 Render 都是构建在什么技术栈之上的吗?

Goel: Render 的 dashboard 是基于 React 和 GraphQL 构建的,服务器基础设施使用了 Go、Docker 和 Kubernetes。我们使用 PostgreSQL 和 Redis 进行存储和缓存,并使用 Let’s Encrypt 进行 SSL 管理。我们构建的所有内容都是供应商中立的,所以它能够很容易地在公有云和托管的数据中心运行,从而能够让我们的用户从分布式、混合和弹性平台方面获益。

InfoQ:Render 的目标是开发人员和初创公司。那么在初创公司不断地成长的情况下,你的愿景是它们是该继续使用 Render,还是随着其企业模式的不断成熟,应该迁移至 AWS 这种类型产品?

Goel: Render 所致力解决的是“毕业生”的问题,随着企业的不断增长,它们会从 PaaS 厂商转移至 DIY 云供应商(如 AWS),这样做的原因有两个:成本和灵活性。

Render 同时解决了这两个问题:我们提供了比现有 PaaS 更有价值的解决方案,尤其是在应用规模扩展方面。举例来说,如果你的应用需要 2GB RAM,在 Heroku 上你每月需要支付 250 美元。而使用 Render 的话,你只需要每月支付 15 美元,这是数量级级别的成本节省,它已经非常接近 DIY 云供应商的价格了。

我们通过将 Render 设计地比传统平台更强大来解决第二个问题(即缺乏灵活性)。举例来说,如果你希望运行一个 HTTP 服务,这个服务不能通过互联网进行访问,只能由你的 Render 账户下的其他服务来访问(类似于前端 API 或代理),在 Heroku 中这根本无法实现,而如果使用 AWS 云的话,则会需要很多网络和安全方面的搭建工作。但是,借助 Render,瞬间就能搭建完成,因为网络管理和服务发现是内置的功能。

除此之外,Render 用户很快就可以访问易用的持久化存储了,在 Heroku 这种类型的平台上,这是不可能实现的,我们能够让用户运行像 Elasticsearch、Kafka 和 MySQL 这样的应用,这个过程就像现在使用 Render 运行其他服务一样简单。

所有这些都使得 Render 非常容易上手,同时也使其成为托管任意复杂应用程序的最佳地点,因此 Render 的用户永远不会超过平台的增长速度。

InfoQ:现在,开发人员监控服务是非常常见的需求,包括 CPU/ 内存使用。Render 提供相关的功能了吗?

Goel:现在,Render 的用户可以通过 dashboard 查看到实时的内存和 CPU 统计数据。我们还计划添加对第三方监控方案的原生支持,如 Datadog 和 New Relic。

InfoQ:服务是如何扩展的,在扩展方面有什么限制吗?

Goel:服务可以垂直扩展,每个服务最多可以使用 512 GB 内存和 64 个 CPU。

在未来的几周内,我们将会提供水平扩展的功能,这样的话 Render 用户就可以设置服务运行的实例数量,Render 会自动在它们之间进行负载均衡。

今年晚些时候,我们将基于用户配置的 CPU 和内存阈值实现完全自动化的水平和垂直扩展。

与此相关的是,Render 的计费始终是按秒进行的。因此,如果运行一个实例,该实例每个月花费 15 美元,持续 10 天的话,只需为此支付 5 美元即可。

InfoQ:集成第三方工具的难度或可行性如何呢,比如 Prometheus 或 Grafana?

Goel: 我们已经在基础设施中运行了 Prometheus,以便向用户公开应用程序的指标数据。今年晚些时候,我们将会提供持久化磁盘功能,这样的话,在 Render 上运行 Prometheus、Grafana 和其他第三方工具将变得非常简单。我们还计划发布最常用工具的指南和模板,以便更容易地入门。

InfoQ:你们似乎没有内置的认证机制,该特性在规划中吗?

Goel: 这将取决于用户的反馈。我们正致力于为用户提供最好的托管平台,并选择做一些非常棒的事情,而不是像一些大型云提供商那样,做一些半生不熟的产品。

对于像身份验证这样的事情,我们可能更愿意与像 Okta 和 Auth0 这样最好的服务进行集成,而不是重新发明轮子,避免从改进我们的核心平台上占用宝贵的工程资源。

InfoQ:最后一个问题,你们的 SLA 是多少呢?

Goel:我们在努力实现 100% 的正常运行,但是不得不承认这不一定总能实现。我们正在努力定义正式的 SLA,其中包括如果我们未能达到 99.99% 的服务水平目标,将对用户进行赔偿。

关于 Render 的更多信息,可以参见公司的 Web 站点。

查看英文原文 Q&A on New App Hosting Cloud Provider, Render

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论