Complete and Continue
Web Application & Software Architecture 101
About this course
Significance of software architecture
Different tiers in software architecture
Different tiers in software architecture quiz
What is web architecture?
Types of client
Communication between the client and the server
Web architecture quiz - Part 1
What is a REST API?
HTTP Push and Pull - Introduction
HTTP Pull - Polling with AJAX
HTTP Push-based technologies
Client-side vs. Server-side rendering
Web architecture quiz - Part 2
What is scalability?
Types of scalability
Which scalability approach is right for our app?
Primary bottlenecks that hurt the scalability of our application
How to improve and test the scalability of our application?
What is high availability?
Reasons for system failures
Achieving high availability - Fault tolerance
High availability clustering
High availability quiz
Introduction to load balancing
Understanding DNS – Part 1
Understanding DNS – Part 2
DNS load balancing
Load balancing methods
Load balancing quiz
Monolith and microservices
What is monolithic architecture?
When should you pick a monolithic architecture?
What is a microservice architecture?
When should you pick a microservices architecture?
Monolith and microservices – Understanding the trade-offs – Part 1
Monolith and microservices – Understanding the trade-offs – Part 2
The big ball of mud
Modular monolithic architecture - Part 1
Modular monolithic architecture - Part 2 - (Inter module communication)
Event-driven architecture - Part 1 - (Blocking, non-blocking)
Event-driven architecture - Part 2 - (Understanding events)
Event-driven architecture - Part 3 - (Real-world use case)
Monolith and microservices quiz
Introduction to micro frontends
The need for micro frontends
Micro frontends integration
Introduction and types of data
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
Database quiz - Part 2
Types of databases
Document oriented database
Key value database
Time series database
Wide-column, column-oriented and column-family databases – Part 1
Wide-column, column-oriented and column-family databases – Part 2
Database quiz - Part 3
Do I need a cache?
Reducing the application deployment costs via caching
Introduction to message queues
Publish subscribe model
Point to point model
Notification systems and real-time feeds with message queues
Handling concurrent requests with message queues
Message queue quiz
Different ways of ingesting data and the challenges involved
Data ingestion use cases
Distributed data processing
Stream processing quiz
More on architecture
Shared nothing architecture
More on architecture quiz – Part 1
Peer to peer architecture – Part 1
Peer to peer architecture – Part 2
Decentralized social networks
More on architecture quiz – Part 2
Picking the right technology
How to pick the right server-side technology?
Key things to remember when picking the tech stack
A web-based mapping service like Google maps
A baseball game ticket booking web portal
Before you design your mobile app
Types of mobile apps – Part 1
Types of mobile apps – Part 2
Choosing between a native and a hybrid app
Progressive web apps
Mobile BaaS (Backend as a Service)
Zero to Software Architect learning track
Teach online with
Distributed data processing
Lesson content locked
If you're already enrolled,
you'll need to login
Enroll in Course to Unlock