---
title: Microservices and the Scalability Trap
description: Microservices are the all the rage in software development right now--but do they magically cause application slowdowns to vanish? Maybe not...
image: https://blog.intertecintl.com/hubfs/Stock%20images/top%20view%20of%20businessman%20hand%20working%20with%20modern%20technology%20and%20digital%20layer%20effect%20as%20business%20strategy%20concept-3.jpeg
---

[![Logo_web](https://blog.intertecintl.com/hs-fs/hubfs/Logo_web.png?width=1920&height=1080&name=Logo_web.png "Logo_web")](http://Intertec%20International)

- [Why Nearshore?](https://www.intertecintl.com/why-nearshore)
- [About Intertec](https://www.intertecintl.com/about)
- [Blog](https://blog.intertecintl.com)
- [Employment Verification](https://info.intertecintl.com/request-employee-information-from-human-resources)

[![Contact Us](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/7230565/ee4af9bf-0c3c-411c-a65a-bf21cf958902.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/7230565/ee4af9bf-0c3c-411c-a65a-bf21cf958902)

[![Intertec International](https://blog.intertecintl.com/hs-fs/hubfs/Logo_web.png?width=1920&height=1080&name=Logo_web.png "Intertec International")](http://Intertec%20International)

- [Why Nearshore?](https://www.intertecintl.com/why-nearshore)
- [About Intertec](https://www.intertecintl.com/about)
- [Blog](https://blog.intertecintl.com)
- [Employment Verification](https://info.intertecintl.com/request-employee-information-from-human-resources)

[![Schedule A Meeting](https://no-cache.hubspot.com/cta/default/7230565/bb88404d-87cd-4a9d-9ec6-63d42304ee0b.png)](https://cta-redirect.hubspot.com/cta/redirect/7230565/bb88404d-87cd-4a9d-9ec6-63d42304ee0b)

# INTERTEC BLOG

## **Our Latest Content is on the FPT Blog**

Feel free to browse our existing content below, however, if you're looking for the latest articles, we now post them to [FPT Software's blog page](https://blog.fpt-software.com/). 

## [Microservices and the Scalability Trap](https://blog.intertecintl.com/microservices-and-the-scalability-trap)

 August 27, 2020 / by [Arturo Saa](https://blog.intertecintl.com/author/arturo-saa)

- [Tweet](https://twitter.com/share)

A long time ago in a galaxy far, far away, programmers used to build applications that were as fast as possible with the extremely expensive hardware that was available—no cloud computing, no multi-cores, just one CPU and some lines of code trying to run quickly enough to provide a decent user experience. And it worked… for a while. Though not every piece of code that got churned out was truly optimal, hardware was evolving so rapidly that most problems could be fixed simply by adding more processing power. Moore’s Law stated that processing power should double—and the cost of computers should halve—every two years, and for a while that held true. The result was that hardware got faster and faster and faster, consistently coming to the rescue of programs that might have otherwise run too slowly.

![top view of businessman hand working with modern technology and digital layer effect as business strategy concept-3](https://blog.intertecintl.com/hs-fs/hubfs/Stock%20images/top%20view%20of%20businessman%20hand%20working%20with%20modern%20technology%20and%20digital%20layer%20effect%20as%20business%20strategy%20concept-3.jpeg?width=1000&name=top%20view%20of%20businessman%20hand%20working%20with%20modern%20technology%20and%20digital%20layer%20effect%20as%20business%20strategy%20concept-3.jpeg)But all good things must come to an end eventually. When Moore’s law stopped being a reliable predictor of hardware improvements people began turning to multi-core hardware, and scalability became a major concern for coders across the world and businesses they supported. Ultimately, with the rise of cloud computing a new (well, not really that new…) way of building applications became dominant—the cloud was supposed to be the foundation for infinitely scalable applications that offered a stable and reliable user experience. But anyone who spends a lot of time using or working with [software](https://blog.intertecintl.com/5-key-stats-about-agile) can tell you that that’s not always the case. For every smoothly-running cloud app that can process transactions quickly and efficiently, there’s another one that’s slow and painful to use.

So, what gives? Why has the cloud *seemingly* failed to deliver on its promise of making processing power irrelevant and scalability a breeze? To answer that, we first have to talk about microservices.

 

## The Rise of Microservices

Microservices, for the uninitiated, are essentially loosely coupled, independently [deployable](https://blog.intertecintl.com/5-challenges-in-implementing-agile) apps that are organized around specific business functions. Microservice architecture allows small teams to rapidly and easily deliver, test, and maintain small segments of a much larger system without risking the stability of the system in its entirety. In more traditional monolithic applications, all of your functionality resides in one code base, and changes to any piece of the application have the potential to impact functionality elsewhere—meaning that things often move slowly and require a lot of oversight. With microservice architecture, you essentially avoid these issues, resulting in a number of distinct benefits.

- **It’s easier to build and maintain apps:** Simplicity is the key principle of microservices, which means that applications are broken down into a group of discrete chunks specifically designed to perform a specific job. This logical island is self-contained, so the architecture ensures it has all it needs to perform its job; since each chunk is only designed to support only one piece of the business, it’s easy to use the best technology in every microservice. Also, as every microservice is basically a self-contained piece of code, if a process is hard loaded in a specific microservice it won’t affect the performance of other microservices (at least not in terms of hardware).
- **You can organize functionality around specific business needs:** Microservice architectures should be designed to reflect the realities of a specific business domain, such that the entire system design is fundamentally business-driven. Little pieces of code support every individual part of the business, theoretically enabling faster responses to business changes, new rules, or completely new business areas.
- **Speed, productivity, and scalability are easier than ever:** The whole idea behind microservices is to be responsive to your business—breaking down the application into chunks of self-contained code makes this easier, because changing one component shouldn't impact any others, since the whole whole system is composed of multiple separate chunks of code. Crucially, this allows for real scalability. Why? Because if there’s a strenuous load on the system, you can just add more copies of the overloaded component to balance the load and solve any potential malfunctions.

[![Cyber Security as a Competitive Advantage](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/7230565/3dbc25c1-2506-4ef1-89e7-b28f06cd6591.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/7230565/3dbc25c1-2506-4ef1-89e7-b28f06cd6591)

## What’s the Catch?!

In theory, this is a great way to get the most of your cloud deployment. Microservices power easy deployment for scalable [applications](https://blog.intertecintl.com/why-do-software-development-projects-fail) that take advantage of having essentially limitless processing capacity in the cloud—so what’s the catch?

Scalability. Now, we know what you’re thinking—*the whole point of microservice architecture is to* improve *scalability, so why is scalability an issue?* Simply put, scalability becomes a trap when it’s being used to solve performance issues that stem from poor application design. Moore’s law taught programmers to believe that when things weren’t running well, more processing power would eventually save the day. But that’s not really the case anymore: piling up instances after instances on a component that’s performing transactions too slowly *isn’t going to speed it up*. Why? Because the issue isn’t a lack of computing power, it’s the code itself. And though one problematic microservice won’t impact any other services on an architectural level, those discrete programs *do* have to work together to perform larger workflows. That means that not only will the user have to wait for this slow microservice to finish running its transaction, there will also be a bunch of other live microservice instances sitting idle and unused.

If this sounds like it runs contrary to the way that people talk about scalability, remember this: scaling works for managing loads. If a ton of people are requesting a specific service at the same time, you can scale up by running more instances to process those transactions all at once—but those extra instances *don’t* speed up each individual process. The only way you can make that happen is by writing an efficient program in the first place.

Let’s look at a real life example as an elucidation of this point: recently, I was working with a new system that was built using microservice architecture. One of its goals was to keep queries flat, which it sought to accomplish by doing all of the filtering, joining, and data ordering on the application side. The idea here was that application components can be scaled up easily, and database functions can’t—but there’s a crucial flaw in this logic: databases are much, much faster when it comes to fetching data than application-side functions are. Can you guess what that result was? That’s right—extremely slow transactions, with a high rate of bottlenecks. In this case, adding more instances to power the application-side code wasn’t helpful, because this code is slower than normal database functionality by its very nature. The goal was to prevent the database from becoming overloaded; they succeeded in that goal, but only at the expense of speed.

 

## How to Create Truly Scalable Microservices

In the scenario we sketched out above, it took several code refactors to make the individual transactions perform well. Obviously, if your goal is to build and maintain apps more rapidly, lengthy rework is the last thing you want. This means that even when it comes to microservices, you really want to do it right the first time by building something that’s designed to run efficiently. If you can’t make that happen, you’re potentially doomed to slow run times no matter how much processing power you throw at a particular application.

So what’s the key to making that happen? Balance. You need to design applications in such a way that you can exploit strengths on every layer, and thereby address every task in the most performance-optimal way. Scaling can’t be used as a tool in your code or your design for an individual component, because what essentially doing is papering over inefficiencies that will come back to haunt you later. Especially if you’re working the principles of microservice architecture, the right design is the one that will perform just as efficiently with one instance running as with ten.

Keep in mind, to make microservices work, you need to hold true to the philosophy behind them. That means no program-coupling just to try and make things faster—because this jeopardizes that benefits that come from the discrete chunks of code to begin with. If you can keep all that in mind, you can build applications that scale seamlessly when there’s more load to deal with than usual, meaning that you can conduct critical business functions with confidence that your infrastructure is going to support you. Whether you’re trying to beef up an internal accounting tool so that it will maintain low latency during crunch time, or you’re building out client-facing search functionality for a database of products and you expect a lot of seasonality, if you start with microservices that are built out efficiently you can create something that’s truly scalable and will support changing load volumes across different business functions.

There’s nothing more exciting than new, game-changing technology—but as technologies evolve we have to evolve with them. The cloud promises virtually infinite scalability, but with the rise of microservices we’re learning that that’s only true if you take an extremely careful and conscientious approach to these tiny pieces of code. If you can’t deal with any performance issue in a small scale deployment, those performance issues aren’t going to go away in larger scale environments with more processing power—meaning that your operational efficiency, and thus your health as a business, is potentially at risk. This might sound like a lot to grapple with, and in a way it is, but if you can use the right approach, with the right tools and techniques, it can be a game-changer for the performance of applications, *and* you can [avoid](https://blog.intertecintl.com/5-reasons-to-outsource-software-development) the scalability trap.

 

## Learn More About Intertec’s Software Engineering and Support Services 

Intertec specializes in building and supporting custom software for its diverse clients. Our experienced team of interdisciplinary professionals have experience at all stages of the software development lifecycle. Click [here](https://www.intertecintl.com/it-services/application-development-and-support) to learn more. Prefer a personal consultation? Go ahead and schedule a meeting with us [here](https://www.intertecintl.com/schedule-a-meeting?hsCtaTracking=bb88404d-87cd-4a9d-9ec6-63d42304ee0b%7Cdb23bb08-abe8-44e6-98b9-f0de31b5b430)!  

 Tags: [Cloud Migration](https://blog.intertecintl.com/topic/cloud-migration), [Software Development](https://blog.intertecintl.com/topic/software-development)

![Arturo Saa](https://blog.intertecintl.com/hubfs/arturo-saa.jpg)

#### Written by [Arturo Saa](https://blog.intertecintl.com/author/arturo-saa)

Arturo Saa is a systems architect with a passion for software development. With more than 16 years of experience, he's worked in a variety of fields, from banking and document management to telecommunications and the supply chain. In that time, Arturo has acted as a team leader, mentoring other developers on how to use new technologies productively and look for new ways to build quality systems.

## Leave A Comment

### Subscribe to Email Updates

- [Recent](https://blog.intertecintl.com/microservices-and-the-scalability-trap#tab-1)
- [Popular](https://blog.intertecintl.com/microservices-and-the-scalability-trap#tab-2)
- [Categories](https://blog.intertecintl.com/microservices-and-the-scalability-trap#tab-3)

### Lists by Topic

- [Cyber Security (56)](https://blog.intertecintl.com/tag/cyber-security)
- [Technical Support Services (50)](https://blog.intertecintl.com/tag/technical-support-services)
- [Cloud Migration (45)](https://blog.intertecintl.com/tag/cloud-migration)
- [Project Management (31)](https://blog.intertecintl.com/tag/project-management)
- [Software Development (26)](https://blog.intertecintl.com/tag/software-development)
- [Infrastructure (16)](https://blog.intertecintl.com/tag/infrastructure)
- [Remote Work (15)](https://blog.intertecintl.com/tag/remote-work)
- [Recruitment (11)](https://blog.intertecintl.com/tag/recruitment)
- [Near-Shoring (9)](https://blog.intertecintl.com/tag/near-shoring)
- [Quality Assurance (9)](https://blog.intertecintl.com/tag/quality-assurance)
- [Agile (8)](https://blog.intertecintl.com/tag/agile)
- [MDM (8)](https://blog.intertecintl.com/tag/mdm)
- [DevOps (7)](https://blog.intertecintl.com/tag/devops)
- [GRC (7)](https://blog.intertecintl.com/tag/grc)
- [Governance, Risk, and Compliance (7)](https://blog.intertecintl.com/tag/governance-risk-and-compliance)
- [DaaS (6)](https://blog.intertecintl.com/tag/daas)
- [Product Development (6)](https://blog.intertecintl.com/tag/product-development)
- [Test Engineering (5)](https://blog.intertecintl.com/tag/test-engineering)
- [KPIs (3)](https://blog.intertecintl.com/tag/kpis)
- [SAP Hybris (3)](https://blog.intertecintl.com/tag/sap-hybris)
- [Cloud Security (2)](https://blog.intertecintl.com/tag/cloud-security)
- [20th Anniversary (1)](https://blog.intertecintl.com/tag/20th-anniversary)
- [E-commerce (1)](https://blog.intertecintl.com/tag/e-commerce)

see all

### Posts by Topic

- [Cyber Security (56)](https://blog.intertecintl.com/tag/cyber-security)
- [Technical Support Services (50)](https://blog.intertecintl.com/tag/technical-support-services)
- [Cloud Migration (45)](https://blog.intertecintl.com/tag/cloud-migration)
- [Project Management (31)](https://blog.intertecintl.com/tag/project-management)
- [Software Development (26)](https://blog.intertecintl.com/tag/software-development)
- [Infrastructure (16)](https://blog.intertecintl.com/tag/infrastructure)
- [Remote Work (15)](https://blog.intertecintl.com/tag/remote-work)
- [Recruitment (11)](https://blog.intertecintl.com/tag/recruitment)
- [Near-Shoring (9)](https://blog.intertecintl.com/tag/near-shoring)
- [Quality Assurance (9)](https://blog.intertecintl.com/tag/quality-assurance)
- [Agile (8)](https://blog.intertecintl.com/tag/agile)
- [MDM (8)](https://blog.intertecintl.com/tag/mdm)
- [DevOps (7)](https://blog.intertecintl.com/tag/devops)
- [GRC (7)](https://blog.intertecintl.com/tag/grc)
- [Governance, Risk, and Compliance (7)](https://blog.intertecintl.com/tag/governance-risk-and-compliance)
- [DaaS (6)](https://blog.intertecintl.com/tag/daas)
- [Product Development (6)](https://blog.intertecintl.com/tag/product-development)
- [Test Engineering (5)](https://blog.intertecintl.com/tag/test-engineering)
- [KPIs (3)](https://blog.intertecintl.com/tag/kpis)
- [SAP Hybris (3)](https://blog.intertecintl.com/tag/sap-hybris)
- [Cloud Security (2)](https://blog.intertecintl.com/tag/cloud-security)
- [20th Anniversary (1)](https://blog.intertecintl.com/tag/20th-anniversary)
- [E-commerce (1)](https://blog.intertecintl.com/tag/e-commerce)

See all

### Recent Posts

---

### Find What You're Looking For

### Filter by Topic

- [Cyber Security (56)](https://blog.intertecintl.com/tag/cyber-security)
- [Technical Support Services (50)](https://blog.intertecintl.com/tag/technical-support-services)
- [Cloud Migration (45)](https://blog.intertecintl.com/tag/cloud-migration)
- [Project Management (31)](https://blog.intertecintl.com/tag/project-management)
- [Software Development (26)](https://blog.intertecintl.com/tag/software-development)
- [Infrastructure (16)](https://blog.intertecintl.com/tag/infrastructure)
- [Remote Work (15)](https://blog.intertecintl.com/tag/remote-work)
- [Recruitment (11)](https://blog.intertecintl.com/tag/recruitment)
- [Near-Shoring (9)](https://blog.intertecintl.com/tag/near-shoring)
- [Quality Assurance (9)](https://blog.intertecintl.com/tag/quality-assurance)
- [Agile (8)](https://blog.intertecintl.com/tag/agile)
- [MDM (8)](https://blog.intertecintl.com/tag/mdm)
- [DevOps (7)](https://blog.intertecintl.com/tag/devops)
- [GRC (7)](https://blog.intertecintl.com/tag/grc)
- [Governance, Risk, and Compliance (7)](https://blog.intertecintl.com/tag/governance-risk-and-compliance)
- [DaaS (6)](https://blog.intertecintl.com/tag/daas)
- [Product Development (6)](https://blog.intertecintl.com/tag/product-development)
- [Test Engineering (5)](https://blog.intertecintl.com/tag/test-engineering)
- [KPIs (3)](https://blog.intertecintl.com/tag/kpis)
- [SAP Hybris (3)](https://blog.intertecintl.com/tag/sap-hybris)
- [Cloud Security (2)](https://blog.intertecintl.com/tag/cloud-security)
- [20th Anniversary (1)](https://blog.intertecintl.com/tag/20th-anniversary)
- [E-commerce (1)](https://blog.intertecintl.com/tag/e-commerce)

This is a search field with an auto-suggest feature attached.

- There are no suggestions because the search field is empty.

### Filter Date

- [March 2023 (6)](https://blog.intertecintl.com/archive/2023/03)
- [February 2023 (11)](https://blog.intertecintl.com/archive/2023/02)
- [January 2023 (5)](https://blog.intertecintl.com/archive/2023/01)
- [December 2022 (3)](https://blog.intertecintl.com/archive/2022/12)
- [November 2022 (1)](https://blog.intertecintl.com/archive/2022/11)
- [September 2022 (2)](https://blog.intertecintl.com/archive/2022/09)
- [August 2022 (5)](https://blog.intertecintl.com/archive/2022/08)
- [June 2022 (5)](https://blog.intertecintl.com/archive/2022/06)
- [May 2022 (12)](https://blog.intertecintl.com/archive/2022/05)
- [April 2022 (2)](https://blog.intertecintl.com/archive/2022/04)
- [March 2022 (2)](https://blog.intertecintl.com/archive/2022/03)
- [February 2022 (3)](https://blog.intertecintl.com/archive/2022/02)
- [January 2022 (9)](https://blog.intertecintl.com/archive/2022/01)
- [December 2021 (6)](https://blog.intertecintl.com/archive/2021/12)
- [November 2021 (11)](https://blog.intertecintl.com/archive/2021/11)
- [September 2021 (8)](https://blog.intertecintl.com/archive/2021/09)
- [August 2021 (9)](https://blog.intertecintl.com/archive/2021/08)
- [July 2021 (7)](https://blog.intertecintl.com/archive/2021/07)
- [June 2021 (10)](https://blog.intertecintl.com/archive/2021/06)
- [May 2021 (7)](https://blog.intertecintl.com/archive/2021/05)
- [April 2021 (9)](https://blog.intertecintl.com/archive/2021/04)
- [March 2021 (8)](https://blog.intertecintl.com/archive/2021/03)
- [February 2021 (8)](https://blog.intertecintl.com/archive/2021/02)
- [January 2021 (8)](https://blog.intertecintl.com/archive/2021/01)
- [December 2020 (10)](https://blog.intertecintl.com/archive/2020/12)
- [November 2020 (8)](https://blog.intertecintl.com/archive/2020/11)
- [October 2020 (5)](https://blog.intertecintl.com/archive/2020/10)
- [September 2020 (3)](https://blog.intertecintl.com/archive/2020/09)
- [August 2020 (6)](https://blog.intertecintl.com/archive/2020/08)
- [July 2020 (8)](https://blog.intertecintl.com/archive/2020/07)
- [June 2020 (9)](https://blog.intertecintl.com/archive/2020/06)
- [May 2020 (8)](https://blog.intertecintl.com/archive/2020/05)
- [April 2020 (9)](https://blog.intertecintl.com/archive/2020/04)

[![Contact Us](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/7230565/504e5f3a-2b20-4d06-91fd-df5c2b06c682.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/7230565/504e5f3a-2b20-4d06-91fd-df5c2b06c682)

## Subscribe to Our Blog

Get the latest on industry news and Intertec updates!

### Subscribe Here!

[![Logo_Full name_white](https://blog.intertecintl.com/hs-fs/hubfs/Logo_Full%20name_white.png?width=1920&height=1080&name=Logo_Full%20name_white.png "Logo_Full name_white")](http://Intertec%20International)

![SAP Silver Partner](https://blog.intertecintl.com/hubfs/Footer/sap-partner.png "SAP Silver Partner")

![Microsoft Partner](https://blog.intertecintl.com/hubfs/Footer/logo-micro-footer.png "Microsoft Partner")

Company

[About Us](https://www.intertecintl.com/about)

[Why Nearshore?](https://www.intertecintl.com/why-nearshore) [Locations & Contact](https://www.intertecintl.com/contact) [Privacy Policy](https://www.intertecintl.com/privacy-policy)

Services & Solutions

[IT Services](https://www.intertecintl.com/it-services) <https://www.intertecintl.com/tech-services>[Information Security Management System Policy](https://www.intertecintl.com/information-security-management-system-policy)

Resources

[Blog](https://blog.intertecintl.com/) [Careers](https://www.intertecintl.com/careers) [Resources](https://info.intertecintl.com/remote-office-worker)

Copyright ©  Intertec International. All Rights Reserved.<https://www.aspiration.marketing>

<https://www.facebook.com/IntertecInternational> <https://www.youtube.com/user/IntertecIntl> <https://www.linkedin.com/company/intertec-international>

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Arturo Saa",
    "url" : "https://blog.intertecintl.com/author/arturo-saa"
  },
  "dateModified" : "2020-08-27T23:46:41.574Z",
  "datePublished" : "2020-08-27T16:00:00.000Z",
  "headline" : "Microservices and the Scalability Trap",
  "image" : [ "https://blog.intertecintl.com/hubfs/Stock%20images/top%20view%20of%20businessman%20hand%20working%20with%20modern%20technology%20and%20digital%20layer%20effect%20as%20business%20strategy%20concept-3.jpeg" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.intertecintl.com/microservices-and-the-scalability-trap",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.intertecintl.com/hubfs/Logo_web.png"
    },
    "name" : "Intertec International"
  }
}
```