Discussion on Tech Stack

Discussion on Tech Stack

Daily short news for you
  • Privacy Guides is a non-profit project aimed at providing users with insights into privacy rights, while also recommending best practices or tools to help reclaim privacy in the world of the Internet.

    There are many great articles here, and I will take the example of three concepts that are often confused or misrepresented: Privacy, Security, and Anonymity. While many people who oppose privacy argue that a person does not need privacy if they have 'nothing to hide.' 'This is a dangerous misconception, as it creates the impression that those who demand privacy must be deviant, criminal, or wrongdoers.' - Why Privacy Matters.

    » Read more
  • There is a wonderful place to learn, or if you're stuck in the thought that there's nothing left to learn, then the comments over at Hacker News are just for you.

    Y Combinator - the company behind Hacker News focuses on venture capital investments for startups in Silicon Valley, so it’s no surprise that there are many brilliant minds commenting here. But their casual discussions provide us with keywords that can open up many new insights.

    Don't believe it? Just scroll a bit, click on a post that matches your interests, check out the comments, and don’t forget to grab a cup of coffee next to you ☕️

    » Read more
  • Just got played by my buddy Turso. The server suddenly crashed, and checking the logs revealed a lot of errors:

    Operation was blocked LibsqlError: PROXY_ERROR: error executing a request on the primary

    Suspicious, I went to the Turso admin panel and saw the statistics showing that I had executed over 500 million write commands!? At that moment, I was like, "What the heck? Am I being DDoSed? But there's no way I could have written 500 million."

    Turso offers users free monthly limits of 1 billion read requests and 25 million write requests, yet I had written over 500 million. Does that seem unreasonable to everyone? 😆. But the server was down, and should I really spend money to get it back online? Roughly calculating, 500M would cost about $500.

    After that, I went to the Discord channel seeking help, and very quickly someone came in to assist me, and just a few minutes later they informed me that the error was on their side and had restored the service for me. Truly, in the midst of misfortune, there’s good fortune; what I love most about this service is the quick support like this 🙏

    » Read more

The Problem

MEAN stands for the first four letters in a set that includes MongoDB, Express, Angular, and Node.js. Similarly, LAMP consists of Linux, Apache, MySQL, and PHP. Additionally, there are many other acronyms with similar meanings, such as JAM Stack, T3 Stack... By now, you surely know that this is a set of technologies that help create a complete website or web application, right?

Back in school, I was very fond of PHP and worked on many projects based on PHP. At that time, I used a Windows computer, so the toolkit I used was WAMP, which means replacing Windows with Linux. Back then, just knowing WAMP was enough to do quite a lot, from landing page websites to e-commerce sites. I thought there was nothing I couldn't do. When it was time to graduate, the name Node.js suddenly became a hot topic online. I curiously read about it but didn't understand anything at all. Probably because it was different from PHP, which I had been using; from coding to deployment processes, everything was different. Yet, during my internship, I ended up working in a JavaScript/Node.js position. Honestly, I can't remember how I managed it!

For those who are new to JavaScript or Node.js, the name MEAN is hard to forget. It's like an unwritten rule that people won't ask why it's MEAN and not something else. Many people strive to master MEAN because it’s said that this toolkit has received a lot of attention and makes it easier to find a job. I am no exception; this name followed me for quite a long time, sleeping and waking up with MEAN.

MEAN, LAMP, WAMP... or many similar names act as the backbone of applications. That is, with just these minimum components, the system can operate. However, in reality, this is not enough. There are still many other components involved in the software system, all of which play a role in ensuring it operates stably and efficiently. Together, they form a Tech Stack.

So what is Tech Stack? Is it important? What benefits does understanding it bring us? Hopefully, readers will find the answers in today's article.

What is Tech Stack?

Tech Stack (also known as "technology stack") is a collection of technologies, programming languages, frameworks, libraries, and tools used to build and deploy an application or software system. Specifically, a Tech Stack typically includes Front-end, Back-end, Database, and supporting tools.

Front-end (FE) and Back-end (BE) need no further explanation. FE is responsible for everything the user sees and interacts with. Meanwhile, BE handles the core logic of the application. The Database (DB) is an essential part of modern applications; anything that needs to be stored almost always requires a database.

It is easy to see that MEAN, LAMP, WAMP... meet 3 out of 4 criteria, meaning they include FE, BE, and DB. So what are the supporting tools? They include all the remaining components such as Windows, Linux (environment), source code management tools (Git), testing, deployment (CI/CD), and other DevOps tools. In short, any component that participates in the software system.

So how do we define supporting tools? Well, it is closely related to system architecture.

Relationship with System Architecture

System architecture refers to the way components are organized, structured, and divided within the system to ensure performance, scalability, security, and maintainability. System architecture determines how components communicate and work together (e.g., Monolithic architecture, Microservices, Serverless, etc.).

For example, previously, Monolithic architecture was very popular; all components were in one block, which eliminated communication costs. You only needed FE, BE, DB programming languages, and a server to deploy the system. Nowadays, many people are more interested in Microservices, separating the logic processing parts for increased transparency and scalability. However, this incurs additional communication costs, meaning using communication support tools between systems like Pub/Sub, Message Queue...

If a system needs to handle a large volume of data and requires scalability, we tend to choose additional databases like SQL, NoSQL, or combine them. Additionally, caching techniques to optimize query performance also require suitable tools. Every tool participating in the system becomes a part of the Tech Stack.

That's about the logic and data processing. Another equally important component is the DevOps processes, CI/CD, and automation. This is where many software tools are used by professionals. They lay the foundation for building stability through testing or automatic deployment processes, avoiding human error.

Not only are these tools oriented toward code and programming, but there are also many tools dedicated to analyzing and processing business operations that fall under the Tech Stack as Business Tools.

To better visualize what a Tech Stack includes in practice, readers can refer to the website stackshare.io. This acts as a comprehensive picture of the tools that an operating system uses. The example below shows the Tech Stack of Facebook. How many of those can you name?

Facebook Tech Stack

Importance and Benefits

Tech Stack plays a crucial role in building and operating an application. It determines how different components of the system are organized, from user interface (front-end), business logic processing (back-end), to databases and other supporting tools.

A carefully chosen Tech Stack not only helps determine the architecture of the application but also ensures optimal performance, scalability, and high security. It also contributes to optimizing the development process, reducing time to market, and facilitating maintenance and upgrades over time.

Understanding and mastering multiple Tech Stacks brings many benefits. When you have knowledge of various technologies, you become more flexible in selecting and combining the most suitable technologies for each specific project. This not only helps solve problems effectively but also broadens your understanding of new technology trends.

Diversity in knowledge also makes it easier for you to switch between different projects, facilitating career development. Imagine, when you know a lot, you can handle many different types of projects and make informed decisions about technology, contributing to optimizing workflows as well as reducing maintenance and operational costs for the system.

What Tech Stack are you using at work or for personal projects? Please share it in the comments below. Thank you!

Premium
Hello

5 profound lessons

Every product comes with stories. The success of others is an inspiration for many to follow. 5 lessons learned have changed me forever. How about you? Click now!

Every product comes with stories. The success of others is an inspiration for many to follow. 5 lessons learned have changed me forever. How about you? Click now!

View all

Subscribe to receive new article notifications

or
* The summary newsletter is sent every 1-2 weeks, cancel anytime.

Comments (0)

Leave a comment...