130n@calvinlai.com
  • About Calvin Lai (fkclai)
  • My Work
  • Cyber Security
    • Cyber Security Centre (CSC)
      • Why we need a CSC
      • CSC Team Structure: Roles, Functions, and Tools
        • Key Function & Role
        • Tools & Platforms
        • People
        • Outsource Strategy
      • HRMC Executive Paper
  • Detection and Response
    • Playbook: Threat Prioritization & Automated Response Strategies
      • Scenario: Detecting and Mitigating a Ransomware Attack
      • Scenario: DC Sync Attack Detected and Mitigated
      • Scenario: Pass-the-Hash (PtH) Attack Detected and Contained
      • Scenario: Phishing Campaign with Malware / Credential Theft Detected and Mitigated
  • Application Architecture
    • Comparison of MVC , N-tier and Microservice Architecture
  • Application Security
    • OAuth, SAML, and OpenID Connect: Key Differences and Use Cases
    • Secure Coding Principles
    • HTTP Header Security Principles
    • Mitigating Broken Object Level Authorization (BOLA)
    • Spring Boot Validation
    • Output Encoding in JavaServer Faces (JSF)
    • Session Management Security Issues
    • Common API Security Problems
      • Broken Authentication
      • Excessive Data Exposure
      • Lack of Resources & Rate Limiting
      • Broken Function Level Authorization
      • Unsafe Consumption of APIs
    • JAVA Exception Handling
    • File Upload Validation
    • OAuth 2.0 Security
      • Insecure Storage of Access Tokens
    • Microservice Security
      • Sample Coding Demo
        • Service Implementation
        • Client Interaction
      • Security Solution for Microservices Architecture
    • Modifying and Protecting Java Class Files
      • Modify a Class File Inside a WAR File
      • Direct Bytecode Editing
        • Steps to Directly Edit a Java Class File
          • Update: Java Bytecode Editing Tools
      • Techniques to Protect Java Class Files
        • Runtime Decryption in WebLogic
    • JAVA Program
      • Secure, Concurrent Web Access Using Java and Tor
      • Creating a Maven Java project in Visual Studio Code
  • Exploit/CVE PoC
    • ZeroLogon Exploit
    • Remote Retrieved Chrome saved Encrypted Password
    • Twitter Control an RCE attack
  • Hacking Report (HTB)
    • Hits & Summary
      • Tools & Cheat Sheet
    • Windows Machine
      • Love 10.10.10.239
      • Blackfield 10.10.10.192
      • Remote 10.10.10.180
      • Sauna 10.10.10.175
      • Forest 10.10.10.161
      • Sniper
      • Json
      • Heist
      • Blue
      • Legacy
      • Resolute
      • Cascade
    • Linux Machine
      • Photobomb 10.10.11.182
      • Pandora 10.10.11.136
      • BountyHunter 10.10.11.100
      • CAP 10.10.10.245
      • Spectra 10.10.10.229
      • Ready 10.10.10.220
      • Doctor 10.10.10.209
      • Bucket 10.10.10.212
      • Blunder 10.10.10.191
      • Registry 10.10.10.159
      • Magic
      • Tabby
  • Penetration Testing
    • Web Application PenTest
    • Network/System PenTest
    • Mobile Penetration Test
      • Certificate Pinning
        • Certificate Pinning Bypass (Android)
          • Root a Android Device
          • Setup Proxy Tool - Burp Suite
      • Checklist
  • Threat Intelligence
    • Advanced Persistent Threat (APT) groups
      • North Korean APT Groups
      • Chinese APT Groups
      • Russian APT Groups
      • Other APT
  • Red Team (Windows)
    • 01 Reconnaissance
    • 02 Privileges Escalation
    • 03 Lateral Movement
    • 04 AD Attacks
      • DCSync
    • 05 Bypass-Evasion
    • 06 Kerberos Attack
    • 99 Basic Command
  • Exploitation Guide
    • 01 Reconnaissance
    • 02 Port Enumeration
    • 03 Web Enumeration
    • 04 Windows Enum & Exploit
      • Windows Credential Dumping
        • Credential Dumping: SAM
        • Credential Dumping: DCSync
      • Kerberos Attack
      • RDP
    • 05 File Enumeration
    • 06 Reverse Shell Cheat Sheet
      • Windows Reverse Shell
      • Linux Reverse Shell
    • 07 SQL Injection
    • 08 BruteForce
    • 09 XSS Bypass Checklist
    • 10 Spring Boot
    • 11 WPA
    • 12 Payload list
  • Vuln Hub (Writeup)
    • MrRobot
    • CYBERRY
    • MATRIX 1
    • Node-1
    • DPwwn-1
    • DC7
    • AiWeb-2
    • AiWeb-1
    • BrainPan
  • CTF (Writeup & Tips)
    • CTF Tools & Tips
    • Hacker One
    • CTF Learn
    • P.W.N. University - CTF 2018
    • HITCON
    • Pwnable
      • 01 Start
  • Useful Command/Tools
    • Kali
    • Windows
    • Linux
  • Offensive Security Lab & Exam
    • Lab
    • Tools for an Offensive Certification
      • Strategy for an Offensive Exam Certification
        • CVEs
        • Privilege Escalation
        • Commands
        • Impacket
  • ISO 27001
    • Disclaimer
    • What is ISO 27001
      • Implementation
    • Documentation
    • Common Mistake
    • Q&A
      • Can internal audit to replace the risk assessment
      • Is it sufficient for only the IT department head to support the ISO 27001 program
      • Does the Business Continuity Plan (BCP) and a Disaster Recovery Plan (DRP) are the same?
    • ISO 27001 Controls and Domains
      • 1. Information Security Policies
      • 2. Organization of Information Security
      • 3. Human Resource Security
      • 4. Asset Management
      • 5. Access Control
      • 6. Cryptographic Controls
      • 7. Physical and Environmental Security
      • 8: Operational Security
      • 9. Communications Security
      • 10. System Acquisition, Development, and Maintenance
      • 11. Supplier Relationships
      • 12: Information Security Incident Management
      • 13. Information Security Aspects of Business Continuity Management
      • 14. Compliance
Powered by GitBook
On this page
  • Introduction
  • Overview
  • How They Work
  • Summary

Was this helpful?

  1. Application Architecture

Comparison of MVC , N-tier and Microservice Architecture

Here’s a comparison of MVC (Model-View-Controller), N-tier architecture, and Microservice architecture, highlighting their concepts, features, use cases, and differences:


Introduction

Architectural patterns like MVC, N-tier, and Microservices are essential for structuring software systems. Each pattern addresses specific needs for scalability, modularity, and maintainability.


Overview

  1. MVC (Model-View-Controller):

    • Purpose: Separation of concerns between data (Model), user interface (View), and business logic (Controller).

    • Focus: Simplifies development by organizing application code.

    • Use Case: Commonly used in web applications, e.g., frameworks like ASP.NET MVC or Ruby on Rails.

  2. N-tier architecture:

    • Purpose: Organizes an application into logical layers (e.g., Presentation, Business Logic, and Data layers).

    • Focus: Achieves scalability and separation of responsibilities.

    • Use Case: Enterprise applications requiring centralized server-based logic, e.g., ERP systems.

  3. Microservice architecture:

    • Purpose: Decomposes applications into small, independent services communicating via APIs.

    • Focus: Enables scalability, fault isolation, and flexibility in deployment.

    • Use Case: Complex, large-scale systems requiring continuous integration and deployment, e.g., Netflix, Amazon.


How They Work

MVC:

  • Structure:

    1. Model: Manages application data and business rules.

    2. View: Displays data to the user and accepts user input.

    3. Controller: Handles user input, updates the Model, and directs the View.

  • Flow:

    • Interaction flows between Model, View, and Controller in a loop, ensuring modularity.

  • Key Features:

    • Promotes separation of concerns.

    • Common in UI-heavy web applications.

N-tier architecture:

  • Structure:

    1. Presentation Layer: User interface.

    2. Business Layer: Business logic and rules.

    3. Data Layer: Database interactions.

  • Flow:

    • Interaction occurs between layers, typically in a linear hierarchy.

  • Key Features:

    • Centralized control of layers.

    • Improves maintainability and scalability.

Microservices:

  • Structure:

    • Independent services, each responsible for specific functionality.

    • Services communicate via APIs, such as REST or gRPC.

  • Flow:

    • No strict hierarchy; services are decoupled and communicate independently.

  • Key Features:

    • High flexibility in deployment.

    • Optimized for horizontal scaling.


Summary

Feature

MVC

N-tier Architecture

Microservices

Granularity

Single application level

Application organized into layers

Decomposition into individual services

Scalability

Limited

Moderate

High

Maintenance

Easy to maintain UI changes

Easier to maintain in layer-focused apps

Easier due to service independence

Flexibility

Tightly coupled components

Layered structure with interdependencies

Highly flexible, loosely coupled

Use Case

Small to medium applications

Enterprise systems

Large-scale systems

Example

Web app (e.g., Ruby on Rails)

ERP systems

Netflix, Amazon

Here are some official references for architecture patterns:

These resources provide detailed explanations and examples for each architecture.

PreviousScenario: Phishing Campaign with Malware / Credential Theft Detected and MitigatedNextOAuth, SAML, and OpenID Connect: Key Differences and Use Cases

Last updated 22 days ago

Was this helpful?

MVC Architecture: Check out the on Microsoft Learn, which includes details about MVC and its implementation in .NET.

N-tier Architecture: Explore the for insights into N-tier architecture and its practical applications.

Microservices Architecture: Visit for a comprehensive reference architecture and design patterns for microservices.

Common Web Application Architectures guide
DDD N-Layered Architecture Guide
Microservices.com