Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Traditional, N-Tier & Microservices

Allan Chua
February 18, 2022

Traditional, N-Tier & Microservices

A simple way of looking into pros and cons of traditional, N-tier and microservice architectures.

Allan Chua

February 18, 2022
Tweet

More Decks by Allan Chua

Other Decks in Technology

Transcript

  1. Traditional, N-Tier,
    Microservices
    Navigating system design innovation between 2010 & 2022

    View Slide

  2. Agenda
    Describe different
    software architectures
    Understand pros &
    cons of each
    Question and
    answer session

    View Slide

  3. Goal
    Evaluate architectural strategies and identify one
    that suits transformation goal

    View Slide

  4. Traditional Setup - (Early 2000s)
    We used to configure desktop apps that directly
    connect to application’s database.
    Desktop Desktop Desktop Desktop Desktop

    View Slide

  5. Traditional Setup - Advantages
    Simple to
    build
    Lower skill
    barrier
    Less components
    to manage
    Less manpower
    cost

    View Slide

  6. 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

    View Slide

  7. Traditional Setup – Use Cases
    College Projects Personal Projects Small business Proof of Concepts

    View Slide

  8. 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

    View Slide

  9. N-Tier Setup - Scaling
    N-tier makes scaling software layers much more easier
    Tablets
    Load balancer
    Mobile Clients
    Web Clients
    Database Layer
    Desktop Clients

    View Slide

  10. 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

    View Slide

  11. 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

    View Slide

  12. N-Tier – Use Cases
    Small & Medium
    Business
    Projects that require
    multiple platforms
    Projects that require decent
    amount of data security
    Cloud-based
    Projects

    View Slide

  13. 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

    View Slide

  14. Microservices – Deep Dive
    Small Services Focused on a narrow
    domain of the software
    Composed by loosely
    coupled services

    View Slide

  15. Microservices - Advantages
    Smaller
    Deployments
    Lower Blasts
    Radius
    Easier to Understand
    Services
    Re-usability of
    Pieces
    Choose tech that
    fits use-case

    View Slide

  16. 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

    View Slide

  17. Microservices - Compromises
    CI/CD is encourage Use a common programming
    language for MOST services
    Communication &
    Teamwork is a MUST

    View Slide

  18. Questions and Answers

    View Slide