Skip to content

Software Development at Program Tom LTD

Place for coding, programming, development and software in general.

Menu
  • Blog
  • PDF Booklets
  • Dev Utils & Content
  • Java Spring Boot Or Web Apps
  • English
    • български
    • English
    • Español
    • Português
    • हिन्दी
    • Русский
    • Deutsch
    • Français
    • Italiano
    • العربية
  • About Us
Menu
Technological complexity in Micro Service architecture

Technological complexity in a Micro Service App

Posted on July 8, 2021January 8, 2024 by Toma Velev

The raise of Micro Service has increased Technological complexity outside of the pure, logical and real need. Real need really means – how much users or “calls” an app, web page, service or functionalities has. A site that is not accessed in an hour or in 24 hours more than 100/1000, sometimes even 10 000 users (for 24 period), doesn’t need any special care for scaling . It does not mater with what technology it is programmed with when logic complexity is minimal.

Finding Your Use Case

Many websites – especially that have static or close to static (rarely changed) web pages – does not have very much visitors. They does not really need scaling. That is why WordPress is so popular. The real scale hits after webinars and promotions. They could be resolved by the several levels of caches – HTTP Headers, Client Side (SW), CDN and many more.

Finding the Critical Module

Big and Fat apps start slower, are harder to scale, but have only internal complexity.

Very micro serviced app has less internal complexity and could easily scale any micro module, but – sometimes are harder to orchestrate. All Cloud providers offer services based on that and there is a standard for it – Kubernetes. The other way around is to have it all control under your hardware and manage your own software.

It makes sense sense to separate features into modules and Micro Services that:

  • Are called a lot of times
  • Take more time to finish
  • Occupy a lot of resources
  • Are potential security doors (because of 3rd party module or feature).

Endpoints that are hit a lot could be scaled up horizontally, when they are architected properly and all of the optimizations and vertical scaling are depleted.

Features that take time could be isolated, so the main app does not suffer. The modern approach is also – having reactive back end, so neither the back-end nor the front end is blocked.

If your main app does not require a lot of resources, but some small feature will occupy a lot, it makes sense to externalize it. One such feature is the file storage. Processing files in general is potential security hole. In some cases the work require using external libraries, so that is another risk.

Optimizing Micro Services

In the real world you will be tasked to  improve software beyond algorithmic complexity. Many times, if the platform you are using allows it, caching the data or processing results in memory minimizes the need for horizontal scaling and introducing the need for dev-ops.

Managing

    • containers,
    • virtual servers,
    • dev-ops
    • cdn – Less often serving static files or read only databases require scaling.

is required for corporate software and business to business contracts. You as a developer must figure out the pain points – and minimize the need for all the above.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Prompt-to-Production: How AI is Forcing Us to Build Higher Quality Software
  • Debug Web View Flutter App
  • Skipping AI? You’re a Relic – Time to Evolve or Perish!
  • 2026 Flutter Launch Blueprint: Your 10-Step Checklist to App Store Domination
  • Product Requirements Document – for different software development levels

Categories

  • Apps (25)
  • ChatGPT (27)
  • Choosing a Framework (38)
  • Flutter (281)
  • Graphical User Interface (14)
  • Marketing (119)
  • Software Development (292)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (14)
  • Uncategorized (4)
  • Vaadin (16)

Tags

Algorithms (9) crypto (29) flutterdev (39) General (86) Java (7) QR & Bar Codes (3) Software Dev Choices (33) Spring Boot (1) standards (1) Theme (3) User Authentication & Authorization (9) User Experience (10) Utilities (19) WordPress (11)

Product categories

  • All Technologies (87)
    • Flutter Apps (26)
    • GPT (4)
    • Java (39)
    • Native Android (3)
    • PHP (9)
    • Spring (Boot) / Quarkus (36)
    • Utils (15)
    • Vaadin 24+ (28)
    • Vaadin 8 (1)
  • Apps (18)
    • Employees DB (1)
    • Notes (6)
    • Personal Budget (1)
    • Recipes Book (1)
    • Stuff Organizer (1)
    • To-Do (2)
  • PDF Books (3)
  • Source Code Generators (8)

Recent Posts

  • Prompt-to-Production: How AI is Forcing Us to Build Higher Quality Software
  • Debug Web View Flutter App
  • Skipping AI? You’re a Relic – Time to Evolve or Perish!
  • 2026 Flutter Launch Blueprint: Your 10-Step Checklist to App Store Domination
  • Product Requirements Document – for different software development levels

Post Categories

  • Apps (25)
  • ChatGPT (27)
  • Choosing a Framework (38)
  • Flutter (281)
  • Graphical User Interface (14)
  • Marketing (119)
  • Software Development (292)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (14)
  • Uncategorized (4)
  • Vaadin (16)