Article

Tech Stacks: Insights on the Building Blocks of the Digital World

Logistics Shipping Networking Servers Computing Technology Abstract Background

Tech stacks, also known as solution stacks, are combinations of technology “stacked together” and used to build modern digital applications. Think of tech stacks as the building blocks needed to create easy-to-maintain, scalable websites, web apps, and mobile apps. The “stack” includes programming languages, libraries, frameworks, patterns, UI/UX tools, custom software, cloud computing services, and much more.

In light of ongoing digital transformation across industries, every organization should understand the basics of tech stacks. With new tools and services being developed at a nearly constant rate, becoming technologically antiquated––even obsolete––is a veritable risk.

Consider the decline of newspapers and the subsequent creation of “news deserts,” which is an ongoing challenge in the media industry. The New York Times (admittedly, a much more well-resourced media organization than local or regional newspapers) faced the challenge head-on, appointing Jason Sobel as CTO. A TechCrunch article outlines the vital role a modern tech stack plays, regardless of one’s industry:

If every company has become a tech company, then The New York Times is a prime example. Although it launched as a print newspaper 171 years ago, in 1851, today that same company is very much a tech-driven media business.

While the transition has been ongoing to some extent for decades, the NYT brought in Jason Sobel in the summer of 2021 as chief technology officer to accelerate the transformation into a modern tech organization.

For The New York Times, the objective is to produce content and deliver it digitally. The technology architecture choices they make in light of that goal are essential. But for companies in FinTech, E-Commerce, insurance, real estate, or any other major industry––if the notion that every company has become a tech company is to be believed––rigorous solution architecture is equally vital, even if the ultimate goal or expected outcomes of creating a best-in-class tech stack is different.

In this article, we’ll break down some of the choices you’ll face when building a tech stack. If you’re confused about where to start or overwhelmed at the myriad choices, this article will provide an introductory primer to get started with the decision-making process.

An image illustrating tech stacks and solution architecture.
Interested in reading more about solution architecture? Check out this post by Fresh software development director, Dragan Rusnov.

What are the most common tech stacks?

Because each piece of technology in a tech stack impacts the functionality, performance, and scalability of your finished product, it’s crucial to understand the advantages and tradeoffs of each option. That said, there are a few common tech stacks to consider that provide a starting point, with options to customize depending on your use case.

Go-to tech stack configurations include LAMP, MEAN, MERN, and MEVN. Here are a few other stacks––and stack elements adjacent to our service offerings––that have worked for our clients in the past:

Tech stacks were essential when building the TruckTrax application, pictured here.
The TruckTrax application was built using a customized tech stack for the organization’s developers and end users.

Factors to consider when choosing a tech stack

There’s no one-size-fits-all answer to this question. One of our biggest differentiators as a software development company is our emphasis on consultation. As indicated above, it’s important to consider projects on a case-by-case basis, ask the right questions, and build an authentic solution for your use case. 

Rather than locking yourself into a specific set of technologies, start by considering what you need out of them.

Consider the tech stack cost

The cost difference between open source and enterprise tech stacks is often a big factor for smaller organizations and startups. While the highest-end business stack may be appropriate for some organizations, there are plenty of open source frameworks and tools available today that are just as robust, flexible, and scalable as your organization grows––and easy to modify if you outgrow them and have a solid base stack in place. 

Evaluate your ecosystem

What ‘neighborhood’ do you want to live in? What tech stack ecosystem best fits your business? In some cases, your stack can reside within clear-cut boundaries. In others, leveraging a large collection of stack elements is a requirement.

Consider The New York Times’ website––with over a dozen news categories, a massive database of historical articles, cooking advice, and even on-website gaming, a huge range of technologies is required. While there are hundreds of configurations, the technology team at The New York Times chose several dozen technologies related to frameworks (Adobe Enterprise Cloud, Apollo GraphQL, Svelte, etc.), content delivery (Cloudinary, CloudFront, Amazon S3, etc.), Javascript functions (Sentry, Underscore.js, GSAP,etc), and much more.

While tech stacks have standard conventions, The New York Times had to consider the various specialty tools they needed to serve their unique user base and customize from there. 

An alternative example would be if your product hinges on a specific service, in which case extending outside of a certain ecosystem isn’t always necessary. If your application relies heavily on cloud computing functionality, Microsoft Azure, Amazon AWS, and Google Cloud Platform (GCP) are all potential choices and have useful integrations under the same provider umbrella. Depending on which makes the most sense for your business, you could consider complementary tools that are friendly with Microsoft’s, Amazon’s, or Google’s other services. 

Prioritize ease of use

The tech stack should serve your organization and your users––simplify and streamline where possible, empowering your devs to be effective, and focus on providing excellent user experience. 

How much knowledge your team will need to build an application with the tech stack in consideration? Some frameworks and tools have a steeper learning curve than others, and some are quicker to set up. If your team is already well-versed in one ecosystem or one set of technologies, it’s worth considering whether adopting something entirely new makes sense. If you need to be able to deploy quickly, this is especially important to keep in mind.

Ensure high-end performance

Performance of a tech stack depends in part on whether the elements of the stack work efficiently with each other, whether the stack can meet the application’s requirements, and whether your organization has the right resources and experience to leverage a particular stack. Scalability, maintenance needs, and deployment speed are also affected by your choice of tech stack. 

This is related to ease-of-use: how equipped is your team to manage and maintain the application as your user base evolves?

Plan for growth and scalability

It’s essential to consider your product roadmap––or create one if you haven’t––to see how your application will handle an increase in or evolution of users. While you may not have the insight you need to predict what features you’ll need as your user base grows, (this is where robust user research & testing are invaluable), you’ll still want to ensure your tech stack is set up to allow you to scale your application when the time comes. 

Choose programming languages that are friendly with the other tools you anticipate being required to scale your application. Explore the lift of incorporating anticipated integrations and plan backward from there. 

The ultimate goal is choosing a tech stack that allows you to quickly make adjustments to your application in order to handle growth. 

For Harbor Wholesale, building tech stacks for their organization was vital.
Analyzing the tech stack across Harbor Wholesale’s entire organization was vital to recommending optimizations.

Seven initial steps to plan your technology stack

There are various factors you’ll need to consider when building a tech stack. These are a few to consider out of the gate.

1. Outline your project needs 

What kind of project are you working on? A platform for data analysis? This will have a different set of requirements than an e-commerce website. Spend time on the front end of the project diving deep into every defining factor of your application, then plan the stack around it.

2. Identify the key components of your stack

You’ll consider frontend, or “client-side,” technologies, including common elements such as: 

You’ll also explore backend, or “server-side,” technologies, including: 

And frameworks such as:

Database systems to store and retrieve data, via SQL databases, are an essential part of the process of building a tech stack. Common options include:

NoSQL databases are also an option, such as: 

The server environment, which will allow your application to run, could be either on-premise (“on-prem”) or via cloud-based solutions such as: 

3. Choose a programming language

Even if the choice seems clear, ask critical questions and consider the trade-offs:

  • What makes the most sense for your type of project, based on what others are using or what you’ve used historically? 
  • What is your team’s expertise? 
  • What will yield the best development productivity while still allowing you to accomplish your goals?
  • What is the support community like for your programming language of choice? Will more robust external support be needed based on your team’s capabilities? 

4. Select a suitable framework or library

Looking to save time and build your application in a more structured environment? Frameworks and libraries provide an excellent opportunity to do so.

5. Pick your database

Data structure and application scale are both vital, and thus, appropriate database selection is vital. MongoDB is excellent for applications that handle large amounts of diverse data. But depending on your unique project needs and organizational constraints, other options might make more sense. These include:

6. Decide on a hosting platform

The hosting platform you select must be able to handle your application’s load and traffic. This will vary widely depending on the app and its intended use (an internal facing app might have a dozen daily users; a social media app could have millions). 

Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure are prominent, highly-popular choices for hosting platforms. But depending on where your user base is located, your budget, and your team’s technical expertise, alternatives include: 

  • Netlify and Vercel (deploy websites with serverless functions)
  • IBM Cloud (an option for apps leveraging IoT, Blockchain, and AI functionality)
  • Heroku (build and run apps in the cloud; simple and easy to use)
  • DigitalOcean (scalable platforms; cost-effective and developer friendly)
  • Vultr (high-performance storage; low pricing with good ease-of-use)
  • Linode (virtual private servers; affordable and robust)
  • Alibaba Cloud (integrated e-commerce; suitable for Asian userbases)

7. Consider DevOps tools

DevOps is a set of practices that combines software development and IT operations to reduce the system, and DevOps tools automate and streamline these practices. Tools to consider are listed below.

8. Implement required libraries and middleware

Libraries and middleware provide specific functions or features for your application (authentication libraries, data processing libraries, etc.) and are vital to your app’s performance. Once again, the choice here relates to the rest of your tech stack, but commonly used options include:

JavaScript / Node.js

Python

Java

Ruby

9. Strategize for scalability, performance, and security 

Your tech stack will need to handle growth in users, data, and traffic. Ensuring that your tech stack can be secured and supports encryption, secure user authentication, and access control is vital in light of modern security concerns and user expectations.

Tech stacks are essential for a range of apps, including biometric recognition technologies.
Creating a complex biometric application for NEC required our software developers to consider a huge range of possible technologies.

Tools to plan a tech stack

There are a few tools available to help you research and build your tech stack. Here are some of the ones we recommend looking into. 

Builtwith –– explore the stacks used to build websites, technologies, and apps

Builtwith allows you to see the stack a technology is built with. Simply type in the name of the product you’re curious about and you can see a detailed list of the technologies used to build it. This is helpful for researching what apps with similar functionality to yours are using to accomplish their goals. Competitive research is crucial during design and development. 

StackShare –– decrease tech debt and use data to drive your tech stack strategy

StackShare lets you learn about the best dev tools, cloud infrastructure services, and stacks, in addition to seeing what you’re using internally in aggregate (to decrease technology debt, for example) and identify opportunities for optimization. 

Customized consulting –– meet with actual devs to get insight, recommendations, and plans of action

We sometimes refer to our approach as “principal driven software development.” Given that technology changes constantly, start with the wisdom of what works, develop a comprehensive understanding of your challenge, create flexible roadmaps, and plan for generative value now and in the future.

There are dozens of tools available and an increasing move toward automation. But with the myriad distractions facing decision makers, human-to-human interaction and tailored consultation are more important than ever.

The technology we used was important to consider in a project for United Rentals.
We can help your team plan out your tech stack and software roadmap like we did for United Rentals.

Need more information? We’d love to learn more about your project or simply touch base.

As stated above, sometimes the best place to start with something as complex as planning a tech stack is with people. We love connecting with prospective clients and partners––or simply people seeking to learn more––so please don’t hesitate to reach out.

We’d be honored to learn more about your project and help you build a custom stack that positions your organization for success.

Let’s connect!

Ben-Spencer-Default-BW_optimize.jpg

Ben Spencer

Content Strategist

Ben has a passion for blending design and writing into a cohesive product narrative. An advocate for research, strategy, and discovery at the front end of any project, Ben excels in high-level thinking about how to most effectively tell a brand’s story in an authentic and relevant way.

Ben received Bachelor’s degrees in Film Studies and Religion from Whitman College, as well as a Master’s in Education from Lipscomb University. He studied UX Design and Content Strategy at General Assembly before joining Fresh’s team in January 2016.

Outside of work, Ben enjoys reading voraciously, watching horror movies, playing video games, and building his skill as an aspiring novelist. He spends every second he can with his wife and his two beloved Boxer dogs, California and Tennessee.