DEV Community

Gwen (Chen) Shapira
Gwen (Chen) Shapira

Posted on

Lessons learned when building self-serve provisioning

I've talked to ~20 companies that are at various stages of building data infrastructure (and sometimes ML, analytics and other infrastructure). Many of them have a step when signing up customers that require provisioning some cloud resources for the customers.

I was at Confluent at the time when we moved from "talk to sales and wait a week" manual provisioning to self-serve provisioning. The way different companies go about this are different some of the lessons are generally applicable. Ram Subramanian, who was the VP Eng at Confluent who ran the entire cloud service recorded a vide with me where we discussed the lessons we've learned:

  • Manual process, especially one when there are multiple humans between the customer and "get something done" introduces risk of getting things wrong and pissing off the customer.

  • Not only does it piss off customers, a lot of mistakes means a lot of back-and-forth and is a huge waste of time.

  • This gets much worse as growth accelerates. And customer expectations go up over time too.

  • Since building actual product automation (as opposed to partially-automated collection of scripts) takes some time (especially if you need it to be well tested since your customers are already a bit annoyed), you actually need to start before this is a real painful problem.

  • It doesn't take much to go from a point of "manual is fine" to "our engineers spend so much time on manual work that they don't have time to work on automation" and from there to "our best engineers quit".

  • Another thing we learned is that there is a huge gap between "automated for internal use" and "self serve for customers". For real customer facing you need much better feedback loop around "what is happening? are there any issues? is it making progress? what does this error mean and what do I do now?" and you also need much better guard rails - customer mistakes can bring down your system or cost you a lot if you are not careful about how you build it.

P.S
We started a series of "SaaS Stories" - I am trying to interview people who built great SaaS products to talk about how they built some of the foundational SaaS experience and share what they learned. Especially about things that may look basic but turned out to be much harder than anyone expected. Warning each other about potential pitfalls and potential solutions seems like a great cause. So, if you want to join the series and talk about how you built your on-boarding, authorization, multiple product tiers, billing, notifications, user and org management, etc... I'd love to chat. No vendors talking about their solutions - only people building SaaS products sharing their lessons. Ping me via @gwenshap on twitter. TY!

Top comments (0)