Slide 1

Slide 1 text

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

Slide 18

Slide 18 text

Questions and Answers