Web Application & Software Architecture 101
Master The Fundamentals Of Web Architecture & Large Scale Systems
117 Lessons with 15 Quizzes & 82 Illustrations
Now, that you've clicked the link for this course, somewhere online, & landed on this page, it's evident that you are serious about upskilling yourself & bringing your A-game to work.
Web Application & Software Architecture 101 is the first in my software architecture series of four courses, that I am writing with a vision to make you a pro in designing large scale distributed systems & managing web-scale data, starting right from zero.
With that being said, let's find out what this course has to offer.
What Is This Course About? Why Take It?
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 that are 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.
Importance Of Knowledge Of Software Architecture
Knowing software architecture gives you an edge as a software developer. When implementing new features in your application, when designing new modules from the bare bones or when trying to scale your service, you can make better decisions by applying your architecture knowledge saving yourself or your employer a ton of money. This 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, & 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 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 contains 117 lessons including quizzes (15) & a lot of illustrations (82) to help you grasp the concepts better.
This course has FREE preview lessons available for you to get an idea of the course 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 & 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
- 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
- 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
- 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 from the past 10 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 people!!.
Here is my LinkedIn profile, in case you want to say Hi!!
Is This Course Any Good?
The course was launched in Dec, 2019 & till date over 1400 students have enrolled in this course. Here's what they have to say:
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 messages from students on my email and LinkedIn:
This Course Contains:
- 117 Lessons
- 15 Quizzes
- 82 Illustrations
You also get:
- Lifetime access to the course
- 7 Day Money Back Policy- If you don't like the course, just tell me why, within 7 days of buying it, & get your money back.
The course is continually updated & new content is added from time to time. It was launched at $39, with 83 lessons, today it has 117 lessons. As new content is added, & I invest more time & resources into it, the price will naturally shoot up. Since I update the content continually I am also planning to change the access duration from lifetime to monthly/annual subscription pretty soon. So, buying it now for a one time payment of 59$ with lifetime access would be a good deal for you!!
If you have any questions regarding this course, shoot me an email at [email protected] or connect with me on LinkedIn
My Other Course: Cloud Computing 101 - Master The Fundamentals
This course is a 101 on cloud computing. It takes you through the fundamentals of the cloud covering all the important aspects that are applicable when we develop & deploy our application on a cloud platform.
This course is platform-agnostic & the concepts discussed apply to all the cloud platforms be it AWS, Google Cloud, Azure, IBM Cloud, Netlify & so on. Once you are done with this course, you’ll have a thorough understanding of the basic concepts of the cloud.
After having spent a decade in the industry writing code, I strongly believe that every software engineer should have knowledge of cloud computing. It’s the present and the future of application development & deployment.