How to pick a cloud provider for your early stage startup?

Choosing the right cloud provider is a critical business decision. We tell you what factors to consider.

Running a startup, scaling it and achieving viability in the business is a hard problem. There are many landmines along the way, where a suboptimal choice can lead to insurmountable difficulties later on. Choosing the right cloud provider for your business is one of those critical decisions, especially for early-stage startups, where you have to weigh multiple technical and business factors before making a call.

Tanmai Gopal (Co-founder at Hasura), was a panelist at the DigitalOcean Tide Summit held on Oct 14 in Bangalore. Vishal Pathania(CTO, Evok Analytics), Sudheendra Chilappagari (Co-Founder & Head of Product, Belong.io) and Arunkumar Jadhav VP — Engineering, HackerRank) were the other distinguished panelists. The discussion was moderated by Janakiram MSV (Ex-Microsoft, Cloud Expert) The agenda for the discussion was making the right infrastructure decisions for a startup.

The panelists identified some key factors to consider before choosing your cloud provider:

  1. Price and Ease of Use: This is essential for early stage startups because the focus is on speed and economy.
  2. The entry barrier: How difficult is it to take an MVP/prototype code from on-premise infra to the cloud?
  3. Cost of Exit: Is exiting the provider going to take too much time or effort?
  4. Custom Features: What are the additional services offered by each provider and how do they align with your needs? (Db Back-ups etc.)
  5. Road to Adoption: What is the learning curve as you incrementally begin to make use of the additional services/features offered by the provider?
  6. Cost of Failure: What are the hidden costs associated with the provider when things go wrong? What happens when there is down-time? How good is the SLA?

There are some common pitfalls that startups need to avoid:

  1. Do not optimise for performance till necessary. At most, build to exploit elasticity.
  2. Startups need to be provider-agnostic. Do not use services which you don’t really need.

In a free-wheeling discussion, the panelists also spoke about the need to strike a balance between experimenting with the latest tech for your stack and being conservative about mission critical elements of the business.

The priorities of the business have to come first and you cannot experiment for experimentation’s sake.

Tanmai spoke about our experiences with adopting technology very early. At Hasura, we started using Docker and React, way ahead of the adoption curve and had our fingers burnt quite badly. That’s not to say we gave up, because both are critical to our business.

Another way to experiment would be to take an iterative approach, where you try out the latest tech in internal hackathons and then slowly transition your business to it after proof-of-value and a better cost-benefit understanding emerges.

Technology has to move the needle on some critical business requirements for adoption. If you feel compelled to experiment, the best way forward is to use products or managed services providers that make life easy and offer real support.

For more information on similar infrastructure questions, check this and this out.

We strongly believe that remaining provider-agnostic and going with what is optimal for your immediate business needs is the correct way to select your cloud infrastructure, especially when you start your business.

In fact, we built the Hasura platform, an infra-agnostic managed services platform, to cater to the need and desire of building products that leverage the strengths of latest frameworks and technologies from the open source communities.

Do try it out and let us know what you think!

Add backend APIs to your apps in minutes with the Hasura platform. Check it out here: https://hasura.io

This post was originally published on 19-October, 2016


Hasura is an open-source engine that gives you realtime GraphQL APIs on new or existing Postgres databases, with built-in support for stitching custom GraphQL APIs and triggering webhooks on database changes.