Skip to content

Latest commit

 

History

History
142 lines (128 loc) · 3.91 KB

web-application-software-architecture.md

File metadata and controls

142 lines (128 loc) · 3.91 KB

1. Different Tiers in Software Architecture

Introduction

Single Tier Applications

Two Tier Applications

Three Tier Applications

N Tier Applications

Different Tiers In Software Architecture Quiz

2. Web Architecture

What Is Web Architecture?

Client Server Architecture

Client

Types of Client

Server

Communication Between the Client & the Server

Web Architecture Quiz - Part 1

What Is A REST API?

HTTP Push & Pull - Introduction

HTTP Pull - Polling with Ajax

HTTP Push

HTTP Push-Based Technologies

Client-Side Vs Server-Side Rendering

Web Architecture Quiz - Part 2

3. Scalability

What Is Scalability?

Types Of Scalability

Which Scalability Approach Is Right For Your App?

Primary Bottlenecks that Hurt the Scalability Of Our Application

How To Improve & Test the Scalability Of Our Application?

Scalability Quiz

4. High Availability

What Is High Availability?

Reasons For System Failures

Achieving High Availability - Fault Tolerance

Redundancy

Replication

High Availability Clustering

High Availability Quiz

5. Load Balancing

Introduction To Load Balancing

Understanding DNS – Part 1

Understanding DNS – Part 2

DNS Load Balancing

Load Balancing Methods

Load Balancing Quiz

6. Monolith & Microservices

What Is A Monolithic Architecture?

When Should You Pick a Monolithic Architecture?

What Is A Microservice Architecture?

When Should You Pick A Microservices Architecture?

Monolith & Microservices – Understanding The Trade-Offs – Part 1

Monolith & Microservices – Understanding The Trade-Offs – Part 2

Monolith & Microservices Quiz

7. Micro Frontends

Introduction To Micro Frontends

The Need For Micro Frontends

Micro Frontends Integration

8. Database

Introduction & Types of Data

Relational Database

When Should You Pick A Relational Database?

NoSQL Databases - Introduction

Features Of NoSQL Databases

When To Pick A NoSQL Database?

Is NoSQL More Performant than SQL?

Database Quiz - Part 1

Polyglot Persistence

Multi-Model Databases

Eventual Consistency

Strong Consistency

CAP Theorem

Database Quiz - Part 2

Types of Databases

Document Oriented Database

Graph Database

Key Value Database

Time Series Database

Wide-Column Database

Database Quiz - Part 3

9. Caching

Introduction

How Do I figure If I Need A Cache In My Application?

Reducing the Application Deployment Costs Via Caching

Caching Strategies

Caching Quiz

10. Message Queue

Introduction to Message Queues

Publish Subscribe Model

Point to Point Model

Notification Systems & Real-time Feeds with Message Queues

Handling Concurrent Requests With Message Queues

Message Queue Quiz

11. Stream Processing

Introduction

Data Ingestion

Different Ways Of Ingesting Data & the Challenges Involved

Data Ingestion Use Cases

Data Pipelines

Distributed Data Processing

Lambda Architecture

Kappa Architecture

Stream Processing Quiz

12. More On Architecture

Event Driven Architecture - Part 1

Event Driven Architecture - Part 2

Web Hooks

Shared Nothing Architecture

Hexagonal Architecture

More On Architecture Quiz – Part 1

Peer to Peer Architecture – Part 1

Peer to Peer Architecture – Part 2

Decentralized Social Networks

Federated Architecture

More On Architecture Quiz – Part 2

13. Picking the Right Technology

How to Pick the Right Server-Side Technology?

Key Things To Remember When Picking the Tech Stack

14. Case Studies

A Web-based Mapping Service Like Google Maps

A Baseball Game Ticket Booking Web Portal

15. Mobile Apps

Introduction

Before You Design Your Mobile App

Responsive Interfaces

Types Of Mobile Apps – Part 1

Types Of Mobile Apps – Part 2

Choosing Between A Native & A Hybrid App

Progressive Web Apps

Mobile Backend as a Service