I can’t count how many times I’ve been asked about what technology stack is better or which one to choose for the next web project. The truth is that there is no such thing as technology stacks. Each one can be altered, tweaked and upgraded over time.
The Technology Stack is just a general term for describing a combination of programming languages, software units and low-level application that works together. It’s a sum of technologies which allows your product to do what is required of it. Whether it is a mobile or web application, there is always a tech stack behind it.
That is why I recommend thinking about technology stack as of a cocktail, specifically a recipe for the cocktail, because even with the right ingredients you’ll need an experienced mixologist (software development team) to make you drink taste heavenly.
Example of Tech Stack used in GBKSOFT’s project
There are more than 20 basic tech stacks, and various combination in between. Pretty much like in cocktails. In case you didn’t know, there are more than a hundred ways to mix an Old Fashioned.
Let’s take a look at basics:
Operation System – The Base Liquor.
Your software product won’t work or provide added value if it cannot be executed by means of a computer machine. Just as it wouldn’t make sense to mix cocktails if people could drink pure alcohol without disgust.
Web Server – Sweet Ingredient.
Everybody likes sweets. Sweetness makes the cocktail appealing to a wider audience, not just a few snobs. Web Server allows your product to communicate with outer world. It processes requests via the network protocols (typically HTTP/HTTPS), deliver those requests to the OS and makes your products available to multiple users at once.
Database Management System – Sour Ingredient.
Ugly but irreplaceable. The database is boring as an accountant, but when you have too much money/sweets, someone needs to keep an eye on them. Fortunately, DMS usually goes in a package with Operating System.
Front-end / Client Side – Flavoring Agent.
This is what beginners notice in cocktail’s taste first. But only a few understand that the flavor also consists of numerous ingredients.
Scripting and Programming Languages, Frameworks, Libraries. All of this techs work together in order to make a cocktail presentation (both taste and visual) better.
Notice: All of the above listed layers are the base that is required for development of any web/mobile app. To give you a big picture, here’s an extended list of tech layers.
Think two shots ahead
In other words, think how you will scale your product. There is no need to take Windows for OS if you’re going to scale your product by adding new features rather than selling to business and embedding your app into the existing infrastructure.
Take something versatile, not exquisite and cheap in maintenance, like Martini. The best choice is obviously open-source Linux. Good gin goes well with almost any vermouth.
Know your client
Take your time
You obviously don’t want to give your lady B52, when a whole night lies ahead. But sometimes, two shots may cheer you up. App performance and time required for development differ depending on the language you choose. You can’t hire 3 PHP developers and make the process go 3x faster. An additional coder can increase development speed no more than 70% max. Thus, don’t rush ahead, keep it simple from the start and add new features gradually.
If you’re hosting a charity evening for Top 3% wealthiest members of society, prepare a good booze. Large enterprises have a solid ecosystem, so you’ll need to match their standards.
Think about WINS (100% Microsoft’s techs). All parts of WINS are made to live together. Such stack may be a good match for B2B product. But be prepared, it costs a lot.
For a startup project better focus on LAMP Stack or Ruby Stack.
Start with the Classics
Better focus on the foundation and take wide-spread technologies. Opt for reliable techs like Apache and MySQL for the base. There are a strong community and vast code base, so there is 0% chance to encounter a unique problem.
PHP and MySQL are mature web combo. It’s free to use; they are secure and efficient. There is a strong user base for support and a broad base of talents to choose from, and they’re easy to learn.
Using new programming languages like Go and Rast is definitely fun, but if you’re not a developer, you unlikely appreciate this kind of fun.
This article is written by Evgeniy Bril, a Software Architect and Cocktail Lover in GBKSOFT, outsourcing web and mobile development company. Evgeniy is a key person that makes your project scalable and easy to maintain. Thanks to his advanced and deep knowledge of innovative technologies our team can produce a project with high level of complexity and loading.
Disclosure: Some of our articles may contain affiliate links; this means each time you make a purchase, we get a small commission. However, the input we produce is reliable; we always handpick and review all information before publishing it on our website. We can ensure you will always get genuine as well as valuable knowledge and resources.