Interview Bank
  • Interview Bank
  • Web
    • Persistent Connection and Non Persistent
    • CDN
    • Code Review
    • JWT
      • JWT vs Session Based Authentication
      • JWT Challenge
      • JWE
      • JWS
    • Content Security Policy (CSP)
    • Same-origin Policy (SOP)
    • Cross-Origin Resource Sharing (CORS)
      • Exploiting CORS
    • HTTP Strict Transport Security (HSTS)
    • SQL Injection (SQLi)
    • Password Encryption in Login APIs
    • API Security
      • API Principles
    • Simple bypass PHP
    • Server-side Template Injection (SSTI)
    • Javascript Object and Inheritance
    • HTTP/2
    • Cookie vs Local vs session Storage
    • XML External Entity (XXE)
    • What happened when enter domain name in browser
    • Prototype Pollution - Part 1
    • Prototype Pollution - Part 2
    • Nginx vs Apache
  • OT Security
    • Securing Operational Technology: Understanding OT Security
  • Quantum Computing
    • Quantum Computing: Unveiling the Cryptographic Paradigm Shift
    • Quantum Obfuscation: Shielding Code in the Quantum Era
  • DevSecOps
    • Continuous Integration/Continuous Deployment Pipeline Security
    • Chaos Engineering Overview
      • Security Chaos Engineering
    • Mysql VS redis
    • Kubernetes (k8s)
    • How MySQL executes query
    • REDIS
    • Difference between cache and buffer
  • Windows
    • Pentesting Active Directory - Active Directory 101
    • Pentesting Active Directory - Kerberos (Part 1)
    • Pentesting Active Directory - Kerberos (Part 2)
    • AD vs Kerberos vs LDAP
    • Active Directory Certificate Services Part 1
    • Unconstrained Delegation
    • AS-REP Roasting
    • NTLM Relay via SMB
    • LLMRN
    • Windows lateral movement
    • Constrained Delegation
    • Resource-Based Constrained Delegation
    • IFEO (lmage File Execution Options) Hijacking
  • UNIX
    • Setuid
  • Large Language Models (LLMs)
    • Tokens
    • LangChain
    • Integration and Security
  • Android
    • Keystore
  • Red team development
    • Secure C2 Infrastructure
    • P Invoke in c#
    • D Invoke
    • ExitProcess vs ExitThread
  • Blue Team
    • Indicators of Compromise
    • Methods to prevent Email domain spoofing
    • Windows Prefetching
  • CVE
    • XZ Outbreak CVE-2024-3094
    • Log4J Vulnerability (CVE-2021-44228)
    • SolarWinds Hack (CVE-2020-10148)
    • PHP CGI RCE (CVE-2024-4577)
    • Windows Recall
  • Software Architecture
    • Microservices
    • KVM
  • Docker
    • Overview
    • Daemon Socket
    • Tips to reduce docker size
  • Blockchain
    • Overview
    • Smart Contract
  • Business Acumen
    • Market Research Reports and Perception
    • Understanding Acquisitions
    • Cybersecurity as a Business Strategy
  • Cyber Teams
    • Introduction to Purple Teaming
  • Malware
    • Dynamic Sandbox Limitations
Powered by GitBook
On this page
  • What are Microservices?
  • Use Cases
  • Website Migration
  • Media Content
  • Transactions and Invoices
  • Data Processing
  • Case Study: Netflix
  • Cons
  • Increased Complexity
  • Increased Cost
  • Organisational Overhead
  • Interview Questions
  • Author
  • References
  1. Software Architecture

Microservices

PreviousWindows RecallNextKVM

Last updated 1 year ago

What are Microservices?

It is an architectural pattern for structuring software. It promotes the use of services to be independently deployable and loosely coupled to allow scalability while providing isolation for each services. It is great for collaboration between software and DevOps teams.

Use Cases

Website Migration

Migration from other architectural patterns such as monolithic or layered which allows for greater modularity and scaling of application. Application can be migrated into a cloud-based and/or container-based platform for easier management.

Media Content

Images and video assets can be stored in scalable object storage system for quick and efficient way to serving to consumers.

Transactions and Invoices

Payemnts and processing can be separate independent services so even if one payment option stops working, other services can still operate as per normal.

Data Processing

Application with microservices can extend with other existing data processing or cloud services and process in parallel.

Case Study: Netflix

Due to their previous Monolithic pattern, there were many potential single point of failures and bugs in their singular codebase. Hence, their migration to Microservices allows breaking up of their codebase into different specialised service codebase. As a result, this promotes vertical scaling due to smaller codebase, CI/CD with frequent updates and faster release cycles without impacting other services and maintainability of each service codebase for different teams.

Cons

Increased Complexity

Data consistency and communication between each services becomes harder to maintain. Due to separation of services, each services may have their own potential point of failure if not created properly and it may make troubleshooting difficult

Increased Cost

Since each services has become independent, tooling and deployment services will multiply depending on the infrastructure of each services.

Organisational Overhead

Teams have to transition to be more autonomous and cross-functional which requires new tools and processes to adjust to their new workflow.

Interview Questions

  • What are the main features of Microservices?

  • Explain some use cases of Microservices?

  • What are some negatives of using/transitioning to Microserives?

Author

References

🍞

Zheng Jie
Microservices
Google - Microservices Architecture
Codesee - Microservices vs Monolith
Huzaifa - Microservices Netflix
Shah Rukh Khan - Layered, Microservices and Modular Monolithic
Example Microservices Structure
Netflix Microservices Architecture