Getting your Trinity Audio player ready...
|
PODCAST: Listen to Kareem Tawansi and Brett Raven discuss what to consider when choosing your tech stack when transitioning to the Cloud
So you’ve chosen your Cloud Provider and now it’s time to choose the right tech stack. The funny thing about building software is often we can be the victims of our own success, or put in another way, if we’re not careful, we will create technical debt. It is for this reason that it is imperative to choose the right tech stack before you start building.
Depending on what service you’re getting from your Cloud Provider, you may have some level of abstraction from some of the elements in the stack. But if you’re looking at the full stack then it’s important to make those choices wisely between architecting and designing your new Cloud-based system.
When it comes to what particular language, toolset, or libraries to use, there is going to be an element of preference in your choice. Having said that, some options are more used in certain scenarios than others. For example, Angular, React and PHP are very common front-end choices while there’s a decision to be made about whether or not to go with a no SQL or SQL database. And obviously, some languages are going to be more catered for in some environments, such as .NET on Azure. But I don’t want to overstate this as most vendors try and support most options.
I think one of the biggest considerations to make when choosing your tech stack is the available talent. As more and more companies begin or continue on their journey of Digital Transformation, good quality software engineers are becoming harder and harder to find. As such, it’s important to choose toolsets at that are widely used, thus facilitating a larger talent pool.
And finally, you need to think about open-source versus proprietary. There are advantages (and disadvantages) to both, so they need to be balanced. Do you want community support or paid support?
So, it’s important to give due consideration to your tech stack in order to minimize future technical debt and facilitate the most frictionless road to keep your code fresh.