@levinzhang
2019-06-09T08:02:55.000000Z
字数 2886
阅读 519
by
Render是一个新的Web和App托管供应商,按照Render的CEO所述,在全面的云供应商(如AWS)和PaaS供应商(如Heroku)之间,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站点。