With DevOps and “you build it, you own it,” the modern startup’s tech stack has evolved significantly. Hundreds of dev tools have been released in the last decade, completely changing how developers manage their workloads. At Neuronimbus, we recently evaluated this landscape, and this is our opinionated guide.
You can’t go wrong with any of the three major clouds (AWS, Azure, GCP). They all have the full feature set required by a business of any size. There are still a few factors that could influence your decision:
Not every cloud provider is available in every region. GCP, for example, is unavailable in Africa. So, if you need to deploy your application in a specific region, make sure the provider you choose offers the full suite of their offerings in that region.
GCP has a fantastic set of offerings centred on ML. I’ve met many CTOs who began with other clouds but migrated partially or completely to GCP due to some of its ML capabilities.
GCP wins by a slim margin, in my opinion, thanks to a better UI and native observability tools.
Serverless, PaaS, or k8s?
- There are several limitations to PaaS Serverless (AWS Lambda, GCP Cloud Functions). Likely, you’ll soon run into these limitations, forcing you to use something else for some of your infrastructures.
- Kubernetes (k8s) is extremely powerful but difficult to set up and manage. As a result, only use this if you are familiar with k8s.
- If you don’t want to deal with Kubernetes at first, managed PaaS (AWS Beanstalk, AWS GAE) could be a good place to start. For most startups, they provide the ideal balance of flexibility and usability.
Microservices vs. Monolith: Microservices
After a certain scale, you’ll need to move to microservices. There are many tools available now that make this migration easier (Docker, Kubernetes, APMs, request tracing), so more and more startups are migrating to microservices sooner. However, microservices still necessitate a larger upfront DevOps investment to set up all the necessary tooling and visibility. If you have the resources and know-how, you should invest in microservices sooner rather than later.
There are currently more than 25 CI/CD tools on the market. I have not used or researched all of them, but only the most well-known. Two, in particular, stand out:
- CircleCI: One of the most popular CI/CD platforms is CircleCI. It’s simple to get started and scales well to your needs. However, on a large scale, this may become prohibitively expensive.
- BuildKite: If the cost of CircleCI becomes an issue for you, BuildKite would be a good place to migrate to. It offers infinite configurability while remaining relatively simple to use.