Isn’t this such an exciting time, when so much is happening in the startup arena? Technology-based startups bet on their ideas and work towards giving life to their dreams over a period. Ideas which are given shape via technology and placed on the tarmac as a pilot roll-out are tested for their relevance and acceptance from the consumers and businesses. This is where the idea of a public cloud comes across as a boon for tech startups that are either testing the waters with their beta products or productionising their solutions. A public cloud offers unprecedented compute and is the perfect platform for startups to take off. It is just not about compute boxes but capitalising on unique offerings that matter the most to them from a solution standpoint.
At the time when these pilots are rolled out (with ‘beta’ or ‘trial run’ tags), there is no sense of scale or directional indicators on compute capacity. Some may invest in market studies leading up to forming an opinion on the way forward, but at best they are ballpark and based on one’s awareness of the domain. Often, the question is about the pilot creation, where the pilot travels a certain distance, but is now being challenged for it longevity while the business leaps to garner bigger deals. This is the time and phase where startups go back to the drawing board, to assess how they can stand up to the upside they are witnessing on their businesses.
Getting access to public cloud is comparable to getting access to a theme park with unlimited rides. But it all depends on how they are utilised and perceptions are formed on the basis of ones’ tryst with specific rides. Startups look for quick ways to deploy and get their solutions/services up and running. This article presents some of the field learnings from a technology standpoint in the form of recommended practices startups should keep in mind when they begin their journey in the cloud.
This is one area architects and designers need to think through. A typical approach taken by a startup is not get tied to a specific platform. Depending on factors indicated under #4 (‘Cloud credit management and cost optimisation’) below, you tend to move your workloads from one cloud platform to another. Migrations or move-overs are not easy and come with certain costs (time and effort). At times, having used native services on specific cloud platforms might make the movement harder. If you have taken a stance not to use platform native capabilities, it might work in your favour during migrations, but at the cost of not capitalising on the power of cloud beyond pure boxes (hosting workloads in VMs).
This is where the need to make your workloads universal comes in handy. What does ‘universal’ mean in this context? It is about realising the core capability (main business function) by way of using certain peripheral native services (storage, integration, and data services) to complement the core functionality. When you take this approach, the core remains independent of a cloud platform and it can only be called complete by leveraging peripheral services. So when you move from one cloud platform to another, you take the core, which is at the heart of your solution, and wire it up with required peripheral (managed) services. This is true heterogeneity in the context of public cloud. In hindsight, it is also important to establish basic know-how of at least two cloud platforms to realise this model.
At times, it is fashionable to say that we have built it all in-house instead of using any readily available solutions. While it is important to demonstrate technical prowess leading to intellectual property creation, you have to balance it to address ‘time to market’ (TTM). TTM is very important for tech startups in view of competition and this is where ‘Managed Services’ or ‘PaaS’ comes in handy. Why waste time when someone has already done it the hard way? You are better off using it and moving on with stuff which is far more important to your business than going the route of reinventing the wheel.
Don’t get bogged down and stay on the trail of demonstrating technical prowess, but demonstrate agility by using proven frameworks and softwares that are out there. PaaS offering lays out services which can be readily consumed. Hence, if you are grappling with multiple ideas, you are better off realising them sooner in your efforts to test the waters.
This is the most talked about but less adopted stream in the startup world. A sense of urgency is at the centre of any startup and an essential ingredient for them to compete. Down the line, you may realise the aspect of disciplined approach to execution, and the lack of it in your effort to release something quickly. As your business grows, you will realise that TTM is increasing and you lack agility in the process followed. This is where the need for DevOps is felt and an essential ingredient in the overall SDLC. The sooner startups bring in this culture, the better would be their road ahead when it comes to scaling their systems and being responsive to business demands.
Major public cloud vendors provide usage credits to help startups jumpstart. It may last for a while, and is considered a major cost saver in the startup world. However, one should be mindful of the fact that these credits have an expiry and at some point, they must shift this cost into their routine burn rate. One crucial recommendation for startups here is to leverage these credits and invest in experimentation. You have to invest time to explore ways and means to scale, secure, grow, and instil value into your overall offerings.
In addition, the experimentation should also lead you into discovering the most cost-effective way to run your solution. This is critical to address the reality when credits run out and you have to pay from your pocket, because you are assured that you have the most economical solution in place.
Cloud provides more than one solution to a problem. Hence choose the one that justifies the cost as well as meets your performance requirement. Be it B2B or B2C, your differentiator may eventually be ‘availability’ and ‘responsiveness’. Hence it is important to build your system considering they would fail. Transient failures are evident and ensure you know the failover or recovery path in times of crisis. Your systems should carry the tag of ‘fail safe’, since factors like ‘availability’ and ‘responsiveness’ have a direct impact on the perception your users will have of your product and the reputation.
Cloud is evolving and so should startups. Cloud platform vendors are offering innovative solutions and a great amount of effort is going into democratising the software for application developers. Startups face a plethora of challenges and have to ensure the boat sails with certain stability. Based on my observation of the field, startups need to give thought to the above described areas. It is always desirable to do it right the first time, though learning from failures gives great insights on the way to success.
(Disclaimer: The views and opinions expressed in this article are those of the author and do not necessarily reflect the views of YourStory.)