Render is a new provider of web and app hosting, described by Render's CEO as offering the "best of both worlds" between full scale cloud providers, such as AWS, and PaaS providers, such as Heroku.
Render is still building out its suite of services, but already has many of the fundamental requirements for running a basic app. Through the dashboard, a developer can decide what sort of service they wish to create, whether public or private. This connects to a GitHub repository, which will deploy updates to the service whenever pushing code changes to the repository. There is no need to create a separate build and deployment pipeline.
Supported languages are scripting languages such as Node and Python. For those who want to run an app using a different technology (for example Java or .Net), Render also provides support for running Docker containers. Creating a Node.js app linked to a GitHub repository is no more difficult than "a click of a button", and it can go live within 30 seconds.
Render's pricing model is based on how long a service is running for. This ranges from $0 per month for static sites to $100 per month for quad-core services with 8Gb RAM. There are additional costs depending on bandwidth.
InfoQ caught up with the CEO of Render, Anurag Goel, to ask him about this new offering.
InfoQ: For those who have not heard of Render, can you tell us what makes it unique and how?
Anurag Goel:When it comes to hosting applications in the cloud, developers have traditionally had to pick between large cloud providers like AWS which are complex and require deep devops expertise, or Platform-as-a-Service (PaaS) solutions like Heroku which are expensive and do not scale well as application complexity increases. Render gives developers and startups the best of both worlds: instant setup and incredible ease of use coupled with the power and flexibility previously afforded only by DIY cloud providers. We do this through an intuitive hosting platform which requires zero knowledge of servers and infrastructure and builds upon powerful containerization technology enabling flexibility, reduced costs, and reliability at scale.
This makes Render the easiest cloud for developers and startups to host all their apps and websites, without worrying about cost, scalability or the need for devops teams.
InfoQ: Would you be able to describe the tech stack Render is built upon?
Goel: Render's dashboard is built with React and GraphQL; our server infrastructure uses Go, Docker and Kubernetes. We use PostgreSQL and Redis for storage and caching, and Let's Encrypt for SSL management. We've built everything to be completely provider-agnostic, so it can easily run on public clouds and managed data centers, allowing our users to benefit from a distributed, hybrid and resilient platform.
InfoQ: Render is targeted towards devs and startups. Is your vision that as startups grow they continue with Render, or as they move into a more mature enterprise mode they would need to move to an AWS type product?
Goel: Our goal with Render is to solve the 'graduation' problem; companies end up graduating from PaaS providers to DIY cloud providers like AWS as they grow for two main reasons: cost and inflexibility.
Render addresses both these issues: we offer significantly more value than existing PaaS solutions especially as an application scales. As an example, if you need 2GB RAM for your app, on Heroku you'll end up paying $250 per month. With Render, you can do that for $15 a month, which is an order of magnitude less and a lot closer to DIY cloud provider pricing.
We're tackling the second issue (inflexibility) by designing Render to be much more powerful and capable compared to traditional platforms; as another example, if you want to run an HTTP service that isn't accessible on the Internet and only accessible to other services in your Render account (like frontend APIs or proxies), this isn't even possible to do with Heroku, and involves a lot of network and security setup on AWS-type clouds. But with Render, it's instant to set it up because network management and service discovery are built in.
Along the same lines, Render users will soon have access to easy to use persistent storage; this isn't possible with Heroku-like platforms, and will allow our users to run applications like Elasticsearch, Kafka and MySQL as easily as any other service on Render today.
All this goes towards making Render incredibly easy to get started with but also the best place to host arbitrarily complex applications cost-effectively so Render users never end up outgrowing the platform.
InfoQ: These days it's common for developers to be able to monitor their services, including CPU/memory usage. Is this something Render provides for?
Goel: Render users can now see real-time memory and CPU statistics in the dashboard. We are also planning to add native integrations with third-party monitoring solutions like Datadog and New Relic.
InfoQ: How are services scaled and what limitations to scaling exist?
Goel: Services can scale vertically and can consume up to 512 GB RAM and 64 CPUs each.
We will launch horizontal scaling in the coming weeks, and Render users will be able to set the number of instances they want to run for any service with Render automatically load balancing between them.
Later this year, we will enable completely automated horizontal and vertical scaling based on user-configurable CPU and memory thresholds.
On a related note, Render billing is always prorated by the second; so if you run an instance that costs $15/month for just 10 days, you only pay $5 for it.
InfoQ: How easy or possible is it to integrate 3rd party tooling, for example Prometheus or Grafana?
Goel:We already have Prometheus running in our infrastructure to expose application metrics to our users. With persistent disks (coming later this year), it will be trivial to run Prometheus, Grafana and other third-party tools on Render. We also plan to publish guides and templates for the most commonly used tools to make it even easier to get started.
InfoQ: There appears to be no built-in auth mechanisms. Is this something that is planned?
Goel: It will depend on user feedback. We're focusing our efforts on offering the best hosting platform for our users, and choosing to do a few things extremely well as opposed to checking off boxes with half-baked offerings like some large cloud providers.
For things like authentication, we'd likely prefer to build out integrations with best-of-breed services like Okta and Auth0 instead of reinventing the wheel and taking precious engineering bandwidth away from improving our core platform.
InfoQ: Finally, what SLAs do you have?
Goel: We work hard to achieve 100% uptime, but also acknowledge this isn't always possible. We're working on defining formal SLAs which will include crediting users if we fail to meet our service level objective of 99.99%.
More information on Render can be found on the company's website.