Web Application and Software Architecture 101
Master the Fundamentals Of Web Architecture and Large Scale Systems
120 Lessons with 15 Quizzes & 92 Illustrations
> Master the concepts involved in designing the architecture of a web application.
> Learn to pick the right architecture and the technology stack for a use case.
> Stand out amongst your peers with a clear understanding of software architecture.
> Text-based course. Frequent updates.
> Faster learning than the videos. Easy to take notes.
What Is This Course About? Why Take It?
This course is a 101 on web application architecture. It walks you step by step through different concepts and components concepts involved in 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 that are involved, concepts like scalability, high availability and much more.
Along with the concepts I also discuss real world implementations of some large scale services.
In this course, I 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 and 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 and 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.
Importance Of Knowledge Of Software Architecture
Knowing software architecture gives us an edge as a software developer. When implementing new features in our application, when designing new modules from the bare bones or when trying to scale our service, we can make better decisions by applying our architecture knowledge saving ourselves or our employer a ton of money.
This skill will make you stand out amongst your peers.
Most of the internet companies today have an essential software design round in their interviews regardless of you being an absolute beginner or someone having years of experience in the industry.
And this is for a reason, they want you to be an individual contributor. They want you to take the ownership of your work and be capable of writing software from the bare bones all by yourself, without relying on anyone for assistance.
And to be able to do that, besides having the ability to write performant code, you should also have a clear understanding of software architecture.
Who Is This Course For? Are There Any Prerequisites?
There is no prerequisite to taking this course. It is meant for anyone looking to have a firm grasp on software architecture and designing web applications. This course will help you strengthen your fundamentals in the domain.
If you are a beginner just starting your career in software development, this course will help you a lot. Designing software is like fitting 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. Instead, it provides a thorough discussion on architectural concepts with the help of several illustrations to help you understand the concepts better.
FREE preview lessons are available down below for you to get an idea of the content before you buy it.
Course Curriculum
Click on the expand arrow ▼, below the curriculum, to view all the lessons
- What Is Web Architecture?
- Client-Server Architecture
- Client
- Types of Client
- Server
- 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
- HTTP Push-Based Technologies
- Client-Side vs. Server-Side Rendering
- Web Architecture Quiz - Part 2
- 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 and Microservices – Understanding The Trade-Offs – Part 1
- Monolith and Microservices – Understanding The Trade-Offs – Part 2
- Monolith and Microservices Quiz
- 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, Column-Oriented and Column-Family Databases – Part 1
- Wide-Column, Column-Oriented and Column-Family Databases – Part 2
- Database Quiz - Part 3
- 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
Course Author
Hello there! I am Shivang. I’ve been writing code for a decade professionally and fifteen years personally. In my career, I’ve gotten the opportunity to work on large-scale internet services for some of the industry giants in several different domains, including 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 HP - Hewlett Packard Enterprise as a Full-stack developer in their Technical Solutions – R&D team.
In this course, I’ve tried my best to share the knowledge, insights and experience gained in my years of software development with all of you people!!
Here is my LinkedIn profile, in case you want to say hello!
Is This Course Any Good?
Here is some of feedback given by the course takers:
Aiden Campbell
Software Engineer at Bravelab.io
This is probably the most accessible and best-written resource for a quick, in-depth architecture overview. Highly recommended for beginners who want to gain a better understanding of web architecture & experienced developers looking for a refresher.
Vibhav Kushwaha
Software Engineer
This course is way better than I thought it would be. How the topics are discussed in this course helped me big time in building my understanding of large-scale systems. It provides a holistic view of web architecture.
Anne Chepkeitany
Senior Software Engineer
I do have experience as an engineer in the industry but going back to some basics on when to decide on a specific architecture, database or when to decide between hybrid and native apps has been quite helpful. Real-world industry use case references are pretty insightful.
Aditya Vandan Sharma
Full Stack Developer
This course will put you upto speed on the fundamentals of system design. It helped me get better at answering system design interview questions. Learned a lot.
Paul Karugu
Software Developer
The course is easy to follow, the examples are great. Illustrations made it easy to visualize & understand the concepts better. I had fun, excited to acquire this new knowledge and it will always be my reference when it comes to systems architecture.
Tonya Sims
Python Engineer - Building A Web Startup
I learned so much about web architecture, this course took my skills to the next level. I feel more confident in building the application for my web startup. Recommend this course to others who are looking to level up their skills.
Besides these testimonials, on a daily basis, I get hundreds of messages from those enrolled in this course on my email and LinkedIn:
This Course Contains:
- 120 Lessons
- 15 Quizzes
- 92 Illustrations
You also get:
- 7 Day money back guarantee - If you don't like the course, just send me an email within 7 days of buying it and I will refund your money.