Shared Hosting, VPS, Scalable Containers, Serverless - where to host your MVP and how to scale with growth?
It's hard for non-technical founders to understand the variety of technologies and terms: VPS/Serverless, No-code/Low-code, Language/Framework, etc. I decided to write a series of posts to help them.
Today I want to talk about the server infrastructure. Hosting, VPS, Containers, Serverless - where and how to host your MVP, what to do as you grow?
We'll go from simple things to more complex ones.
Shared Hosting
You buy a limited amount of resources on a physical server (a computer that is located in a data center). In this case, you are not only limited by disk space but also have artificial limitations in the number of sites, domains, supported languages, and technologies.?
? Best fit for simple CMS-based websites, say WordPress.?
VDS/VPS.
The next step is a virtual dedicated/private server (VDS/VPS) - in this case, you still buy part of the resources of a physical server, but you don't have all those limitations, you are limited by memory and CPU resources and you can install your software and configure it the way you want. I'd also include in this category such things as AWS EC, DigitalOcean Droplets, and other similar solutions that essentially provide the same features.
? Best fit for 95% of startups at the MPV stage and sometimes for a much longer time.
Physical Server.
Next comes the physical server - it's pretty simple, you rent a real physical server. The limitations are the physical resources of the server.
? For most startups it's similar to VPS. If you're not sure - choose VPS, it's easier to manage and configure.
Normally you'll be billed on a monthly or daily basis for Shared Hosting, VDS, and Physical Server.
Serverless
Amazon (AWS Lambda) or Google (GCloud Serverless) offer this kind of service. You only pay for *each* call/request. So, you only pay for the moments when your application works.
It's not just about the payment model, it's also about scalability. Serverless architecture allows you to handle peak loads seamlessly. Let's say you have 1k customers today and 10k customers tomorrow. With a classic approach, you need to plan for that peak and buy the necessary resources (additional servers). In the case of Serverless - a Cloud provider (AWS/Google) will do everything for you.
领英推荐
? Serverless is one of the options that you can choose to scale your project at the post-MVP stage.
Limitations
I should mention that the Serverless approach has its limitations and bottlenecks, such as databases. With the right approach, this technology can help fast-growing startups.
Are there other ways to scale?
Auto-scaled virtual containers.
One popular modern way is dynamically scalable containers. The provider can automatically start additional containers (virtual servers) as the load increases.?
? Another option that can be considered for the post-MVP growth stage.
Limitations
The downside is that launching new containers takes some time, and during that time, customers can experience temporary disruptions. A good example of such an infrastructure is DigitalOcean Managed Kubernetes.
To summarize all together, here are the most popular options:
? Hosting - for simple websites
? VPS/VDS - good for almost any startup at the MVP stage
? Physical Server - VPS alternative
? Serverless - great for fast scaling, bottlenecks should be considered
? Auto-scaled Containers (e.g. Kubernetes) - another well scalable option. It also has its peculiarities
My opinion - if you're building an MVP, just go for a virtual server (AWS EC2, DO Droplet, etc). Don't start with a scalable architecture, spend time and resources on the product, and think about scaling at a later stage.
Head of Business Development – 2V modules
3 年That's actually very helpful information. Thank you!