What Is This Course All About?
This course is a 101 on Web Application & Software Architecture. It walks you step by step through different components & concepts involved when designing the architecture of a web application. We’ll learn about various architectural styles such as the client-server, peer to peer decentralized architecture, microservices, the fundamentals of data flow in a web application, different layers involved, concepts like scalability, high availability & much more.
In this course, I also go through the techniques of picking the right architecture and the technology stack to implement our use case. I walk you through different use cases which will help you gain an insight into what technology & architecture fits best for a certain use case when writing a web application. You’ll come to understand the technology trade-offs involved.
By the end of the course, you’ll have a comprehensive insight into the web application architecture. If you have a startup idea & you are asking yourself, how do I implement my app? What technologies do I use? Where do I start? This course will help you kickstart your entrepreneurial journey.
Who Is This Course For?
There is no prerequisite to taking this course. It is meant for anyone looking to build a good concept in web application & software architecture & for anyone who wants to strengthen their fundamentals on it.
If you are a beginner just starting your career in software development, this course will help you a lot. Designing software is like fitting the lego blocks together. With this course, you’ll develop an insight into how to fit them together and build cool stuff.
It will also help you with the software engineering interviews, especially for the full stack developer positions.
This course does not contain any code, & has a thorough discussion on the architectural concepts. It also contains a lot of illustrations to help you grasp the concepts better.

Course Contents
In the course I’ve discussed different tiers in software architecture, client-server architecture, HTTP PUSH & PULL communication mechanism, concepts like scalability, high availability, monolith & microservices architecture, when to pick which for your app. Databases, different types of data, Relational, NoSQL databases, multi-model databases, different types of databases, how to pick the right database for your app, their use cases.
The course has a discussion on concepts like polyglot persistence, eventual consistency, strong consistency, CAP Theorem. Caching, different caching strategies. Message queue, commonly used messaging models in web applications. Designing real-time feeds and notification system with the help of message queues. Handling concurrent requests with message queues.
Stream processing, Data ingestion, their use cases, challenges involved, data pipelines, distributed data processing architecture. Event-driven architecture, concepts like blocking non-blocking, webhooks, different software architectures, peer to peer architecture, decentralized web, decentralized social networks, federated architecture, mobile application architecture.
Techniques for picking the right technology stack for your application. I’ve included a few case studies where I discuss designing apps like Google Maps and a baseball game ticket booking platform.
Also, this course will be continually updated & new content will be added from time to time.
You can view the full list of contents here
Where Can I Buy The Course?
Course url: Click here to buy the course
Educative is a platform that offers interactive programming courses, with embedded coding environments, for software developers, to make learning quick and efficient. No setup required, developer environments are pre-configured in the cloud. You can learn at your own pace with in-browser exercises.
A few preview lessons are available for the course.
This course is a part of Zero to Software Architect learning track –
Zero to Software/Application Architect learning track is a series of four courses that I am writing with an aim to educate you, step by step, on the domain of software architecture & distributed system design. The learning track takes you right from having no knowledge in it to making you a pro in designing large scale distributed systems like YouTube, Netflix, Google Stadia & so on. Check it out.
Course Author
Hi, I am Shivang, the author of this course also the creator of this blog. I’ve been writing code from the past 8 years professionally & 14 years personally. In my career, I’ve gotten the opportunity to work on large scale internet services for some of the industry giants on several different domains such as E-commerce, Fintech, Telecom and others.
I’ve written applications from the bare bones, right from the idea to production. I’ve maintained code, as well as worked in the production support for systems receiving millions of hits every single day.
My last job was at Hewlett Packard Enterprise as a Full-Stack developer in their Technical Solutions – R&D team.
Via this course, I’ve tried my best to share the knowledge, insights and the experience gained in my years of software development, with all of you guys!!.
Here is my LinkedIn profile, in case you want to say Hi!!
About me page on this blog.
Subscribe to the newsletter to stay notified of new developments on the blog
Cheers!!
More On The Blog
Master System Design For Your Interviews Or Your Web Startup
Full List Of Real World Software Architecture Posts On The Blog
Shivang
Related posts
> Spotify Engineering: From Live to Recording
> Ingesting LIVE video streams at a global scale at Twitch
> $64,944 spent on AWS, to support 25,000 customers, in August by ConvertKit.
> Read how Storytel engineering computes customer consumption of books transitioning from batch processing to streaming bookmarks data with Apache Beam and Google Cloud.
> How Pokemon Go scales to millions of requests per second?
> Insight into how Grab built a high-performance ad server.
SUBSCRIBE TO MY NEWSLETTER to be notified of new additions to the list. Fortnight/monthly emails.
Looking for developer, software architect jobs? Try Jooble. Jooble is a job search engine created for a single purpose: To help you find the job of your dreams!!
Recent Posts
- Web Application Architecture Explained With Designing a Real-World Service
- Wide-column, Column-oriented and Column Family Databases – A Deep Dive with Bigtable and Cassandra
- Design For Scale and High Availability – What Does 100 Million Users On A Google Service Mean?
- How Razorpay handled significant transaction bursts during events like IPL
- Facebook’s Photo Storage Architecture
Follow On Social Media