22.1.2021 What Is a Technology Stack?
Choosing the Right Tech Stack For Your Web Project - IntexSoft
(HTTPS://WWW.INTEXSOFT.COM/)
What Is a Technology Stack? Choosing the Right Tech
Stack For Your Web Project
Thursday, 16 January 2020 09 58
(/media/k2/items/cache/1fc372946c0b98fb8d7f87d4c38ea83a_XL.jpg)
When developing any application, it is always important for clients to get a result, and
developers are interested in finding the most optimal way to achieve this result. Application
efficiency depends on many factors. A properly selected technology stack is the most
important one.
In this article we will look into the tech stack itself, will go into the factors to consider when
choosing a technology stack as well as ready tech stack solutions for projects.
Briefly About Tech Stack
Technology stack is a set of tools for implementing some intended IT idea. As a rule, a tech
stack consists of programming languages, frameworks, libraries, various development tools
and programming approaches themselves. The synthesis of all of the above determines the
viability and competitiveness of the application, its functionality, scalability, and further
maintenance.
That stack can be formally divided into 2 parts, i.e. the client-side and the server-side.
The client-side or front-end provides interaction between the user and the server-side, that
is, back-end.
Front-end technologies are responsible for everything the user sees on the screen. Front-
end development provides configuration, optimization, and operation of all interface
elements.
The Back-end is the server part of the application with which the user does not contact
directly. Back-end stores and manages data, and is also responsible for the correct
operation of the client-side.
Front-end technologies include:
HTML/HTML5;
CSS;
JavaScript;
UI-frameworks and libraries: ReactJS, AngularJS, React, Node.js, jQuery and others.
Back-end technologies include:
https://www.intexsoft.com/blog/post/tech-stack.html 1/10
22.1.2021 What Is a Technology Stack? Choosing the Right Tech Stack For Your Web Project - IntexSoft
(HTTPS://WWW.INTEXSOFT.COM/)
Operating system;
Web server: Nginx, Apache;
Programming languages: C#, Java, PHP, Python, Objective-C and others;
Various frameworks build over programming languages: Node.js, .NET, Django, and
others;
Databases: Microsoft SQL Server, MySQL, PostgreSQL, Oracle, Neo4j, and others;
Cloud infrastructures and services: AWS, Microsoft Azure, Google Cloud, Heroku, and
others.
Things to consider while choosing a tech stack
1. Project requirements and features
First of all, when forming a tech stack, it is necessary to take into account the size and the
purpose of the project, since they significantly affect the choice of certain technologies.
The larger and greater the project is, the larger and more complex the tech stack will be.
For example, for small projects (MVP or single-page applications), such well-established
stacks as Python-Django or Node.js-React can be perfect.
Medium-size projects like online stores or mid-market applications usually require more
complex technical stacks with several layers of programming languages and frameworks.
Large projects, such as complex marketplaces or enterprise applications, require a large
technical stack to maintain the integrity and performance of the app. Such large-scaled
https://www.intexsoft.com/blog/post/tech-stack.html 2/10
22.1.2021 What Is a Technology Stack? Choosing the Right Tech Stack For Your Web Project - IntexSoft
(HTTPS://WWW.INTEXSOFT.COM/)
technical stacks usually use multiple levels of programming languages and frameworks.
They are created and used to perform in a large amount of data conditions.
It is important to remember that you should not load the project with additional techniques.
There should be exactly as many technologies as necessary for an effective solution of the
task.
2. Resources and experience
It is necessary to have deep technical and architectural experience and knowledge for
picking a tech stack. To select the technologies competently, it is necessary to know all the
ins and outs as well as differences between them.
Accordingly, when forming those stacks, it is worth giving preference to those technologies
with which you work confidently. You should not choose a new technology for the sake of
new technology: often new frameworks and programming languages are either raw or
experienced developers working with these technologies are simply not there. The choice
of such technologies can lead to the fact that the project developers will waste their time to
gain insight into the new technology, instead of moving forward effectively. However, at the
same time, do not give preference to something outdated and ineffective because there are
“knowledgeable people”. In such cases, difficulties may arise with the support and
effectiveness of the project. When deciding on a technology, it is necessary to find that very
middle ground.
https://www.intexsoft.com/blog/post/tech-stack.html 3/10
22.1.2021 What Is a Technology Stack? Choosing the Right Tech Stack For Your Web Project - IntexSoft
In addition, it is worth considering the availability of resources for the implementation of the
project. For example, if your team does not have a specialist working with a certain
(HTTPS://WWW.INTEXSOFT.COM/)
technology, adding it to the project just makes no sense. The “impressive” tech stack does
not carry any benefit if there are no developers who can successfully and quickly work with
the selected technologies.
3. Scalability
The architecture of your application must be scalable, as scalability is vital for further
development. Scalability determines whether your application can handle the load.
For example, if the number of users increases, your technology stack should allow the
application to cope with this growth.
There are two types of scalability - horizontal and vertical. The first means the ability to
work on different devices and cope with an increasing number of users. Vertical scalability
means the ability to add some new features or elements to the application in the future.
To achieve good scalability, it is better to use powerful programming languages such as
JavaScript. Such languages are initially flexible, as they “are equipped” with various
libraries and structures.
4. Maintainability
Maintainability is one of the main factors when building applications. Maintainability of the
app developed should be done without additional efforts even when you scale.
Particularly, there are two factors on application maintainability depends on:
architecture: should support reusability, be mobile and scalable;
codebase: the codebase should not be too lengthy or too concise; it will take longer to
process a lengthy code, and too concise code may lead to errors during debugging.
5. Security
Any end-user wants to be sure that his or her personal data is safe. Therefore, when
forming tech stacks, it is necessary to choose technologies that provide a high level of
security. This problem is significant, especially when it comes to online payments.
6. Development speed
The speed of project development is one of the most important factors. If the project should
be developed in a short time, the best option would be to select ready-made solutions for
tech stacks that provide easy integration. Such technology combinations reduce overall
development time through third-party integrations.
Ready solutions
https://www.intexsoft.com/blog/post/tech-stack.html 4/10
22.1.2021 What Is a Technology Stack? Choosing the Right Tech Stack For Your Web Project - IntexSoft
In the fast-paced world of technology and business, it would be foolish not to provide ready
tech stack solutions that streamline the work and save time for the development team.
(HTTPS://WWW.INTEXSOFT.COM/)
Let’s look into some of them.
Combines Linux OS, Apache web server, MySQL database, PHP / Perl / Python. This tech
stack can be called an industry standard. It is used to develop web applications and is
popular for its adaptability, security and open source. LAMP is often chosen to increase
efficiency and reduce development costs.
MEAN stack is a set of JavaScript technologies for developing complex, high-performance,
and reliable applications. This includes MongoDB, Express, AngularJS, and Node.js. In
simple words, MEAN is a JavaScript framework that simplifies and speeds up development.
Using one language (JavaScript) for both client-side and server-side development improves
teamwork. In addition, all MEAN components speak JSON, which ensures uninterrupted
data flow between layers.
Another strong advantage of MEAN stack is that all the underlying technologies are free
and open-source. If you encounter a problem during development, you can always count
on community support.
This model includes MongoDB, Express, React / Redux and Node.js. MERN fully covers the
entire development process from client to server just like MEAN.
Given the use of ReactJS in improving the front-end and NodeJS in improving the back-
end, this combination of technologies is often used in the development of E-Commerce
projects.
https://www.intexsoft.com/blog/post/tech-stack.html 5/10
22.1.2021 What Is a Technology Stack? Choosing the Right Tech Stack For Your Web Project - IntexSoft
(HTTPS://WWW.INTEXSOFT.COM/)
This model is also a branch of MEAN stack, where Vue.js. is used instead of Angular.
Vue.js itself combines the best features of React and Angular. Its main advantages are
excellent performance, neat programming style and a large system of tools.
https://www.intexsoft.com/blog/post/tech-stack.html 6/10
22.1.2021 What Is a Technology Stack? Choosing the Right Tech Stack For Your Web Project - IntexSoft
(HTTPS://WWW.INTEXSOFT.COM/)
All the models mentioned above are ready solutions for medium and large project
development.
Of course, universal solutions help to save time, but they are not as good as the specialized
ones since they are just a familiar approach and cannot be applied to all projects.
If we are talking about complex projects which out of the crowd due to their logic, or about
the projects with special requirements for security and performance such as banks, public
sector, then in such cases, it is necessary to build an individual technology stack which
makes it possible to satisfy all the set requirements.
Tech Stacks Behind Popular Apps
As an example of a great tech stack, let’s look into several well-known projects.
Spotify Airbnb Pinterest
(https://stackshare.io/spotify/spotify#stack) (https://stackshare.io/airbnb/airbnb) (https://stackshare.io/pinterest/pinterest) (https:
Server: Nginx Nginx Nginx
Databases: Cassandra, PostgreSQL MySQL, Amazon, Redis, Hadoop MySQL, Redis, Hadoop, HBase
Server-side
Django Rails Django, Javascript MVC
framework:
Programming
Java, Python, Bootstrap JavaScript, Ruby Java, Python, GO
languages:
https://www.intexsoft.com/blog/post/tech-stack.html 7/10
22.1.2021 What Is a Technology Stack? Choosing the Right Tech Stack For Your Web Project - IntexSoft
Conclusion
(HTTPS://WWW.INTEXSOFT.COM/)
Choosing the right tech stack is the basis of any successful project.
Before proceeding with the selection of technologies, it is necessary to carefully analyze the
project and take into account the type, requirements for the project, the experience and
resources of your team, as well as such things as scalability, speed, and security.
Despite the fact that there are ready solutions, they can not always allow you to develop a
project in accordance with all requirements. Therefore, when forming a technology stack,
preference is often given to an individual approach.
The authors
Andrej Suschevich Darya Birukova
Team Leader Marketing Manager
9 2110
Item tags
Software (/blog/tag/Software.html) Business (/blog/tag/Business.html) HTML5 (/blog/tag/HTML5.html)
JS (/blog/tag/JS.html) CSS (/blog/tag/CSS.html) Angular (/blog/tag/Angular.html) Frontend (/blog/tag/Frontend.html)
Web (/blog/tag/Web.html)
Let's start a new project together
Name*
https://www.intexsoft.com/blog/post/tech-stack.html 8/10