Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Web Application & Software Architecture 101
Introduction
About this course
Significance of software architecture
Different tiers in software architecture
Introduction
Single-tier applications
Two-tier applications
Three-tier applications
N-tier applications
Different tiers in software architecture quiz
Web architecture
What is web architecture?
Client-server architecture
Client
Types of client
Server
Communication between the client and the server
Web architecture quiz - Part 1
Understanding APIs
API paradigms
REST
GraphQL
Understanding RPC API
HTTP Push and Pull - Introduction
HTTP Pull - Polling with AJAX
HTTP Push
HTTP Push-based technologies
Client-side vs. Server-side rendering
Web architecture quiz - Part 2
Scalability
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?
Scalability quiz
High availability
What is high availability?
Reasons for system failures
Achieving high availability - Fault tolerance
Redundancy
Replication
High availability clustering
High availability quiz
Load balancing
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
Layered architecture
Modular monolithic architecture - Part 1
Modular monolithic architecture - Part 2 - (Inter module communication)
Hexagonal architecture
Event-driven architecture - Part 1 - (Blocking, non-blocking)
Event-driven architecture - Part 2 - (Understanding events)
Event-driven architecture - Part 3 - (Real-world use case)
Summary
Monolith and microservices quiz
Micro frontends
Introduction to micro frontends
The need for micro frontends
Micro frontends integration
Database
Introduction and 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, column-oriented and column-family databases – Part 1
Wide-column, column-oriented and column-family databases – Part 2
Database quiz - Part 3
Caching
Introduction
Do I need a cache?
Reducing the application deployment costs via caching
Caching strategies
Caching quiz
Message queue
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
Stream processing
Introduction
Data ingestion
Different ways of ingesting data and the challenges involved
Data ingestion use cases
Data pipelines
Distributed data processing
Lambda architecture
Kappa architecture
Stream processing quiz
More on architecture
Web hooks
Shared nothing 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
Picking the right technology
How to pick the right server-side technology?
Key things to remember when picking the tech stack
Conclusion
Case studies
A web-based mapping service like Google maps
A baseball game ticket booking web portal
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 and a hybrid app
Progressive web apps
Mobile BaaS (Backend as a Service)
Zero to Software Architect learning track
Epilogue
Teach online with
Document oriented database
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock