Contributed by Sachin Agarwal of BigBitBus.
You have created your MVP and now its time to move it from your laptop or from the box under your desk into a “production” environment. While the CANARIE’s OpenStack cloud, DAIR, is a great place to start developing and testing your software, it is not an environment for hosting commercial applications/services.
This is 2019, so there are plenty of credible pubic cloud choices; Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Digital Ocean, Linode, the list goes on. Many of these provide all the features your new venture could possibly need, including infrastructure (compute/storage/networking), different platforms for databases and big-data, machine learning and Internet of Things (IoT), container platforms like Kubernetes and serverless computing, identity and access management, automation, and much, much more.
Here are a few considerations when starting your public cloud journey:
1. Team skill set: The most valuable commodity of your early startup is the time of your employees. If the team has prior experience with a cloud provider, choosing this provider could save a significant amount of time when deploying to the familiar platform – time that can be invested elsewhere in your product.
2. Financial considerations: Most early startup infrastructure needs are modest – you probably don’t need a whole lot of servers/storage in the early days – so the operating expenditure of the cloud infrastructure is also modest (say, compared to the cost of a single full-time employee) and cost differences between public cloud providers will be marginal. You can also apply to “startup credit programs” offered by some cloud providers.
3. Data locality: If your customer data needs to live in certain countries or regions, you should refer to the cloud provider’s information regarding the regions/locations of their data-centers. For example, many cloud providers now have Canadian data centers, but some others don’t. Location considerations also become important when minimizing user-perceived latency.
4. Cloud vendor lock-in: You may have a need to change cloud providers in the future (e.g. if your startup gets acquired by a company that uses a different cloud provider). It’s best to create cloud agnostic automation from the beginning (e.g. use Terraform, configuration management tools like Ansible, Chef, or Salt, Kubernetes, etc.). This will help your business avoid cloud vendor lock-in.
5. Scaling considerations: Many cloud provider services get expensive as you scale up your operation. For example, managed server-less services may seem like a bargain initially but may prove to be more expensive as your usage volume grows. Evaluating your options early and testing with high user loads will help you choose managed services that scale with your business in a cost effective manner.
We at BigBitBus are developing tools and documentation to promote transparency in public cloud provider selection. If you are looking for performance comparisons between cloud provider offerings, check out some of our blog posts and free tools.