Traditional, N-Tier,
Microservices
Navigating system design innovation between 2010 & 2022
Slide 2
Slide 2 text
Agenda
Describe different
software architectures
Understand pros &
cons of each
Question and
answer session
Slide 3
Slide 3 text
Goal
Evaluate architectural strategies and identify one
that suits transformation goal
Slide 4
Slide 4 text
Traditional Setup - (Early 2000s)
We used to configure desktop apps that directly
connect to application’s database.
Desktop Desktop Desktop Desktop Desktop
Slide 5
Slide 5 text
Traditional Setup - Advantages
Simple to
build
Lower skill
barrier
Less components
to manage
Less manpower
cost
Slide 6
Slide 6 text
Traditional Setup - Disadvantages
Data management
code is not re-usable
Higher number of
vulnerability points
Requires complete rebuild
during upgrades / migrations
Lower compatibility with
different operating systems
Outdated client
versions
Bad use of database
connections
Heavyweight Client
Applications
Slide 7
Slide 7 text
Traditional Setup – Use Cases
College Projects Personal Projects Small business Proof of Concepts
Slide 8
Slide 8 text
5-Tier Setup (2010s)
To solve the problem of traditional apps, we can introduce a middle layer
that’s in-charge of data. Industry calls this component “API”
Tablets Desktop Clients Mobile Clients
Web Clients
Database Layer
Slide 9
Slide 9 text
N-Tier Setup - Scaling
N-tier makes scaling software layers much more easier
Tablets
Load balancer
Mobile Clients
Web Clients
Database Layer
Desktop Clients
Slide 10
Slide 10 text
APIs Deep Dive
Promotes centralized data
management code
Could be shared by multiple
clients through HTTP
Controlled environment due to
residence in server environment
More efficient usage of
database connections
Application Programming
Interface
Improved security of
database server
Rebuilding GUI clients is now a
separate business from API
upgrades
Updates are decoupled to
client applications
Slide 11
Slide 11 text
N-Tier – Disadvantages
APIs can easily bloat
with logic and long
running tasks
Can often run in trouble
especially with long
running queries
Single point of failure Could fall victim to
inefficient scaling of
resources
Slide 12
Slide 12 text
N-Tier – Use Cases
Small & Medium
Business
Projects that require
multiple platforms
Projects that require decent
amount of data security
Cloud-based
Projects
Slide 13
Slide 13 text
Microservices (2014s)
We focus on building small & focused services.
Staff APIs Invoices APIs Products
Clients Clients Clients
Email Service
PDF Generator
Service
Payment
Reconciliation
Analytics
Management
CRON
Triggers
Notification
Generators
Slide 14
Slide 14 text
Microservices – Deep Dive
Small Services Focused on a narrow
domain of the software
Composed by loosely
coupled services
Slide 15
Slide 15 text
Microservices - Advantages
Smaller
Deployments
Lower Blasts
Radius
Easier to Understand
Services
Re-usability of
Pieces
Choose tech that
fits use-case
Slide 16
Slide 16 text
Microservices - Disadvantages
More expensive to run
in the cloud
Could go wild if
unmanaged
Integrations are
harder to tests
Slower to deploy if
not automated
Tech adversity has its
challenges
Slide 17
Slide 17 text
Microservices - Compromises
CI/CD is encourage Use a common programming
language for MOST services
Communication &
Teamwork is a MUST